MediaWiki  1.27.2
Profiler Class Reference

Profiler base class that defines the interface and some trivial functionality. More...

Inheritance diagram for Profiler:
Collaboration diagram for Profiler:

Public Member Functions

 __construct (array $params)
 
 close ()
 Close opened profiling sections. More...
 
 getContentType ()
 Get the content type sent out to the client. More...
 
 getContext ()
 Gets the context for this Profiler. More...
 
 getFunctionStats ()
 Get the aggregated inclusive profiling data for each method. More...
 
 getOutput ()
 Returns a profiling output to be stored in debug file. More...
 
 getProfileID ()
 
 getTemplated ()
 Was this call as templated or not. More...
 
 getTransactionProfiler ()
 
 logData ()
 Log the data to some store or even the page output. More...
 
 logDataPageOutputOnly ()
 Output current data to the page output if configured to do so. More...
 
 profileIn ($functionname)
 
 profileOut ($functionname)
 
 scopedProfileIn ($section)
 Mark the start of a custom profiling frame (e.g. More...
 
 scopedProfileOut (ScopedCallback &$section=null)
 
 setContext ($context)
 Sets the context for this Profiler. More...
 
 setProfileID ($id)
 
 setTemplated ($t)
 Mark this call as templated or not. More...
 

Static Public Member Functions

static instance ()
 Singleton. More...
 
static replaceStubInstance (Profiler $profiler)
 Replace the current profiler with $profiler if no non-stub profiler is set. More...
 

Protected Attributes

IContextSource $context = null
 Current request context. More...
 
array $params = []
 All of the params passed from $wgProfiler. More...
 
string bool $profileID = false
 Profiler ID for bucketing data. More...
 
bool $templated = false
 Whether MediaWiki is in a SkinTemplate output context. More...
 
TransactionProfiler $trxProfiler
 

Private Member Functions

 getOutputs ()
 Get all usable outputs. More...
 

Static Private Attributes

static Profiler $instance = null
 

Detailed Description

Profiler base class that defines the interface and some trivial functionality.

Definition at line 31 of file Profiler.php.

Constructor & Destructor Documentation

Profiler::__construct ( array  $params)
Parameters
array$params

Definition at line 48 of file Profiler.php.

References $params.

Member Function Documentation

Profiler::close ( )
abstract

Close opened profiling sections.

Profiler::getContentType ( )

Get the content type sent out to the client.

Used for profilers that output instead of store data.

Returns
string
Since
1.25

Definition at line 257 of file Profiler.php.

References as.

Profiler::getContext ( )

Gets the context for this Profiler.

Returns
IContextSource
Since
1.25

Definition at line 137 of file Profiler.php.

References $context, RequestContext\getMain(), and wfDebug().

Referenced by logData().

Profiler::getFunctionStats ( )
abstract

Get the aggregated inclusive profiling data for each method.

The percent time for each time is based on the current "total" time used is based on all methods so far. This method can therefore be called several times in between several profiling calls without the delays in usage of the profiler skewing the results. A "-total" entry is always included in the results.

When a call chain involves a method invoked within itself, any entries for the cyclic invocation should be be demarked with "@". This makes filtering them out easier and follows the xhprof style.

Returns
array List of method entries arrays, each having:
  • name : method name
  • calls : the number of invoking calls
  • real : real time elapsed (ms)
  • real : percent real time
  • cpu : CPU time elapsed (ms)
  • cpu : percent CPU time
  • memory : memory used (bytes)
  • memory : percent memory used
  • min_real : min real time in a call (ms)
  • max_real : max real time in a call (ms)
Since
1.25

Referenced by logData(), and logDataPageOutputOnly().

Profiler::getOutput ( )
abstract

Returns a profiling output to be stored in debug file.

Returns
string
Profiler::getOutputs ( )
private

Get all usable outputs.

Exceptions
MWException
Returns
array Array of ProfilerOutput instances.
Since
1.25

Definition at line 191 of file Profiler.php.

References as.

Referenced by logData(), and logDataPageOutputOnly().

Profiler::getProfileID ( )
Returns
string

Definition at line 113 of file Profiler.php.

References $profileID, and wfWikiID().

Profiler::getTemplated ( )

Was this call as templated or not.

Returns
bool

Definition at line 280 of file Profiler.php.

References $templated.

Profiler::getTransactionProfiler ( )
Returns
TransactionProfiler
Since
1.25

Definition at line 175 of file Profiler.php.

References $trxProfiler.

static Profiler::instance ( )
staticfinal

Singleton.

Returns
Profiler

Definition at line 60 of file Profiler.php.

References $params, $wgProfiler, and global.

Referenced by LBFactory\__construct(), Maintenance\activateProfiler(), SwiftFileBackend\addMissingMetadata(), MediaWiki\Auth\AuthManager\autoCreateUser(), FileBackendStore\concatenate(), FileBackendStore\copyInternal(), FileBackendStore\createInternal(), FileBackendStore\deleteInternal(), FileBackendStore\describeInternal(), FileBackendStore\doClean(), FileBackendStore\doOperationsInternal(), MediaWiki\doPostOutputShutdown(), FileBackendStore\doPrepare(), FileBackendStore\doPublish(), IndexPager\doQuery(), FileBackendStore\doQuickOperationsInternal(), FileBackendStore\doSecure(), EmailInvalidation\execute(), TestFileOpPerformance\execute(), EmailConfirmation\execute(), FileBackendStore\executeOpHandlesInternal(), SpecialPageFactory\executePath(), MWHttpRequest\factory(), FileBackendStore\fileExists(), LoadBalancer\getConnection(), SwiftFileBackend\getContainerStat(), SwiftFileBackend\getDirListPageInternal(), FileBackendStore\getFileContentsMulti(), SwiftFileBackend\getFileListPageInternal(), FileBackendStore\getFileProps(), FileBackendStore\getFileSha1Base36(), FileBackendStore\getFileSize(), FileBackendStore\getFileStat(), FileBackendStore\getFileTimestamp(), FileBackendStore\getFileXAttributes(), FileBackendStore\getLocalCopyMulti(), FileBackendStore\getLocalReferenceMulti(), MediaWiki\main(), FileBackendStore\moveInternal(), SkinTemplate\outputPage(), MediaWiki\performAction(), FileBackendStore\preloadFileStat(), FileBackendStore\primeContainerCache(), FileBackendStore\primeFileCache(), DatabaseBase\query(), MediaWiki\restInPeace(), JobRunner\run(), ApiMain\setRequestExpectations(), PurgeAction\show(), FileBackendStore\storeInternal(), and FileBackendStore\streamFile().

Profiler::logData ( )

Log the data to some store or even the page output.

Since
1.25

Definition at line 216 of file Profiler.php.

References $output, $request, as, getContext(), getFunctionStats(), and getOutputs().

Profiler::logDataPageOutputOnly ( )

Output current data to the page output if configured to do so.

Exceptions
MWException
Since
1.26

Definition at line 242 of file Profiler.php.

References $output, as, getFunctionStats(), and getOutputs().

Profiler::profileIn (   $functionname)

Definition at line 148 of file Profiler.php.

Profiler::profileOut (   $functionname)

Definition at line 151 of file Profiler.php.

static Profiler::replaceStubInstance ( Profiler  $profiler)
staticfinal

Replace the current profiler with $profiler if no non-stub profiler is set.

Parameters
Profiler$profiler
Exceptions
MWException
Since
1.25

Definition at line 95 of file Profiler.php.

Referenced by Maintenance\activateProfiler().

Profiler::scopedProfileIn (   $section)
abstract

Mark the start of a custom profiling frame (e.g.

DB queries). The frame ends when the result of this method falls out of scope.

Parameters
string$section
Returns
ScopedCallback|null
Since
1.25
Profiler::scopedProfileOut ( ScopedCallback $section = null)
Parameters
ScopedCallback$section

Definition at line 167 of file Profiler.php.

References $section.

Profiler::setContext (   $context)

Sets the context for this Profiler.

Parameters
IContextSource$context
Since
1.25

Definition at line 127 of file Profiler.php.

References $context.

Profiler::setProfileID (   $id)
Parameters
string$id

Definition at line 106 of file Profiler.php.

Profiler::setTemplated (   $t)

Mark this call as templated or not.

Parameters
bool$t

Definition at line 271 of file Profiler.php.

References $t.

Member Data Documentation

IContextSource Profiler::$context = null
protected

Current request context.

Definition at line 39 of file Profiler.php.

Referenced by getContext(), and setContext().

Profiler Profiler::$instance = null
staticprivate

Definition at line 43 of file Profiler.php.

array Profiler::$params = []
protected

All of the params passed from $wgProfiler.

Definition at line 37 of file Profiler.php.

Referenced by ProfilerSectionOnly\__construct(), __construct(), ProfilerXhprof\__construct(), and instance().

string bool Profiler::$profileID = false
protected

Profiler ID for bucketing data.

Definition at line 33 of file Profiler.php.

Referenced by getProfileID().

bool Profiler::$templated = false
protected

Whether MediaWiki is in a SkinTemplate output context.

Definition at line 35 of file Profiler.php.

Referenced by getTemplated().

TransactionProfiler Profiler::$trxProfiler
protected

Definition at line 41 of file Profiler.php.

Referenced by getTransactionProfiler().


The documentation for this class was generated from the following file: