MediaWiki master
MediaWiki\Profiler\Profiler Class Reference

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

Inherited by MediaWiki\Profiler\ProfilerExcimer, MediaWiki\Profiler\ProfilerSectionOnly, MediaWiki\Profiler\ProfilerStub, and MediaWiki\Profiler\ProfilerXhprof.

Collaboration diagram for MediaWiki\Profiler\Profiler:

Public Member Functions

 __construct (array $params)
 
 close ()
 Close opened profiling sections.
 
 getAllowOutput ()
 Whether appending profiles is allowed.
 
 getContentType ()
 Get the Content-Type for deciding how to format appended profile output.
 
 getFunctionStats ()
 Get the aggregated inclusive profiling data for each method.
 
 getOutput ()
 Returns a profiling output to be stored in debug file.
 
 getProfileID ()
 
 getTransactionProfiler ()
 
 logData ()
 Log data to all the applicable backing stores.
 
 logDataPageOutputOnly ()
 Log the data to the script/request output for all ProfilerOutput instances that do so.
 
 scopedProfileIn ( $section)
 Mark the start of a custom profiling frame (e.g.
 
 scopedProfileOut (?SectionProfileCallback &$section=null)
 
 setAllowOutput ()
 Enable appending profiles to standard output.
 
 setProfileID ( $id)
 

Static Public Member Functions

static init (array $profilerConf)
 
static instance ()
 

Protected Attributes

LoggerInterface $logger
 
array $params = []
 All of the params passed from $wgProfiler.
 
string false $profileID = false
 Profiler ID for bucketing data.
 
TransactionProfiler $trxProfiler
 

Detailed Description

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

Definition at line 25 of file Profiler.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Profiler\Profiler::__construct ( array $params)
Parameters
array$paramsSee $wgProfiler.

Reimplemented in MediaWiki\Profiler\ProfilerExcimer, MediaWiki\Profiler\ProfilerSectionOnly, and MediaWiki\Profiler\ProfilerXhprof.

Definition at line 43 of file Profiler.php.

References MediaWiki\Profiler\Profiler\$params.

Member Function Documentation

◆ close()

MediaWiki\Profiler\Profiler::close ( )
abstract

◆ getAllowOutput()

MediaWiki\Profiler\Profiler::getAllowOutput ( )

Whether appending profiles is allowed.

Deprecated
since 1.41. Unused.
Since
1.34
Returns
bool

Definition at line 272 of file Profiler.php.

References wfDeprecated().

◆ getContentType()

MediaWiki\Profiler\Profiler::getContentType ( )

Get the Content-Type for deciding how to format appended profile output.

Disabled by default. Enable via setAllowOutput().

See also
ProfilerOutputText
Since
1.25
Returns
string|null Returns null if disabled or no Content-Type found.

Definition at line 244 of file Profiler.php.

◆ getFunctionStats()

MediaWiki\Profiler\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 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

Reimplemented in MediaWiki\Profiler\ProfilerExcimer, MediaWiki\Profiler\ProfilerSectionOnly, MediaWiki\Profiler\ProfilerStub, and MediaWiki\Profiler\ProfilerXhprof.

◆ getOutput()

MediaWiki\Profiler\Profiler::getOutput ( )
abstract

Returns a profiling output to be stored in debug file.

Returns
string

Reimplemented in MediaWiki\Profiler\ProfilerExcimer, MediaWiki\Profiler\ProfilerSectionOnly, MediaWiki\Profiler\ProfilerStub, and MediaWiki\Profiler\ProfilerXhprof.

◆ getProfileID()

MediaWiki\Profiler\Profiler::getProfileID ( )
Returns
string

Definition at line 114 of file Profiler.php.

◆ getTransactionProfiler()

MediaWiki\Profiler\Profiler::getTransactionProfiler ( )
Returns
TransactionProfiler
Since
1.25

Definition at line 143 of file Profiler.php.

◆ init()

static MediaWiki\Profiler\Profiler::init ( array $profilerConf)
staticfinal
Access: internal
For use by Setup.php
Parameters
array$profilerConfValue from $wgProfiler

Definition at line 56 of file Profiler.php.

References MediaWiki\Profiler\Profiler\$params.

◆ instance()

static MediaWiki\Profiler\Profiler::instance ( )
staticfinal
Returns
Profiler

Definition at line 93 of file Profiler.php.

◆ logData()

MediaWiki\Profiler\Profiler::logData ( )

Log data to all the applicable backing stores.

This logs the profiling data to the backing store for each configured ProfilerOutput instance. It also logs any request data for the TransactionProfiler instance.

Since
1.25

Reimplemented in MediaWiki\Profiler\ProfilerStub.

Definition at line 186 of file Profiler.php.

◆ logDataPageOutputOnly()

MediaWiki\Profiler\Profiler::logDataPageOutputOnly ( )

Log the data to the script/request output for all ProfilerOutput instances that do so.

Since
1.26

Reimplemented in MediaWiki\Profiler\ProfilerStub.

Definition at line 215 of file Profiler.php.

◆ scopedProfileIn()

MediaWiki\Profiler\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
Since
1.25

Reimplemented in MediaWiki\Profiler\ProfilerExcimer, MediaWiki\Profiler\ProfilerSectionOnly, MediaWiki\Profiler\ProfilerStub, and MediaWiki\Profiler\ProfilerXhprof.

◆ scopedProfileOut()

MediaWiki\Profiler\Profiler::scopedProfileOut ( ?SectionProfileCallback & $section = null)
Parameters
SectionProfileCallback | null&$section

Definition at line 135 of file Profiler.php.

◆ setAllowOutput()

MediaWiki\Profiler\Profiler::setAllowOutput ( )

Enable appending profiles to standard output.

Since
1.34

Definition at line 260 of file Profiler.php.

◆ setProfileID()

MediaWiki\Profiler\Profiler::setProfileID ( $id)
Deprecated
since 1.41, unused. Can override this base class.
Parameters
string$id

Definition at line 106 of file Profiler.php.

References wfDeprecated().

Member Data Documentation

◆ $logger

LoggerInterface MediaWiki\Profiler\Profiler::$logger
protected

Definition at line 33 of file Profiler.php.

◆ $params

array MediaWiki\Profiler\Profiler::$params = []
protected

◆ $profileID

string false MediaWiki\Profiler\Profiler::$profileID = false
protected

Profiler ID for bucketing data.

Definition at line 27 of file Profiler.php.

◆ $trxProfiler

TransactionProfiler MediaWiki\Profiler\Profiler::$trxProfiler
protected

Definition at line 31 of file Profiler.php.


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