MediaWiki  master
ProfilerExcimer Class Reference
Inheritance diagram for ProfilerExcimer:
Collaboration diagram for ProfilerExcimer:

Public Member Functions

 __construct (array $params=[])
 
 close ()
 Close opened profiling sections. More...
 
 getFunctionStats ()
 Get the aggregated inclusive profiling data for each method. More...
 
 getOutput ()
 Returns a profiling output to be stored in debug file. More...
 
 scopedProfileIn ( $section)
 Mark the start of a custom profiling frame (e.g. More...
 
- Public Member Functions inherited from Profiler
 getAllowOutput ()
 Whether appending profiles is allowed. More...
 
 getContentType ()
 Get the Content-Type for deciding how to format appended profile output. More...
 
 getContext ()
 
 getProfileID ()
 
 getTransactionProfiler ()
 
 logData ()
 Log the data to the backing store for all ProfilerOutput instances that have one. More...
 
 logDataPageOutputOnly ()
 Log the data to the script/request output for all ProfilerOutput instances that do so. More...
 
 profileIn ( $functionname)
 
 profileOut ( $functionname)
 
 scopedProfileOut (SectionProfileCallback &$section=null)
 
 setAllowOutput ()
 Enable appending profiles to standard output. More...
 
 setContext ( $context)
 
 setProfileID ( $id)
 

Private Attributes

ExcimerProfiler $cpuProf
 
 $period
 
ExcimerProfiler $realProf
 

Additional Inherited Members

- Static Public Member Functions inherited from Profiler
static instance ()
 Singleton. More...
 
static replaceStubInstance (Profiler $profiler)
 Replace the current profiler with $profiler if no non-stub profiler is set. More...
 
- Protected Attributes inherited from Profiler
IContextSource $context = null
 Current request context. More...
 
LoggerInterface $logger
 
array $params = []
 All of the params passed from $wgProfiler. More...
 
string bool $profileID = false
 Profiler ID for bucketing data. More...
 
TransactionProfiler $trxProfiler
 

Detailed Description

Since
1.33
See also
$wgProfiler

Definition at line 26 of file ProfilerExcimer.php.

Constructor & Destructor Documentation

◆ __construct()

ProfilerExcimer::__construct ( array  $params = [])
Parameters
array$paramsAssociative array of parameters:
  • period: The sampling period
  • maxDepth: The maximum stack depth collected
  • cpuProfiler: A pre-started ExcimerProfiler instance for CPU profiling of the entire request including configuration.
  • realProfiler: A pre-started ExcimerProfiler instance for wall clock profiling of the entire request.

Reimplemented from Profiler.

Definition at line 42 of file ProfilerExcimer.php.

References Profiler\$params.

Member Function Documentation

◆ close()

ProfilerExcimer::close ( )

Close opened profiling sections.

Reimplemented from Profiler.

Definition at line 72 of file ProfilerExcimer.php.

Referenced by getFunctionStats(), and getOutput().

◆ getFunctionStats()

ProfilerExcimer::getFunctionStats ( )

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 from Profiler.

Definition at line 77 of file ProfilerExcimer.php.

References close().

◆ getOutput()

ProfilerExcimer::getOutput ( )

Returns a profiling output to be stored in debug file.

Returns
string

Reimplemented from Profiler.

Definition at line 130 of file ProfilerExcimer.php.

References close().

◆ scopedProfileIn()

ProfilerExcimer::scopedProfileIn (   $section)

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

Reimplemented from Profiler.

Definition at line 69 of file ProfilerExcimer.php.

Member Data Documentation

◆ $cpuProf

ExcimerProfiler ProfilerExcimer::$cpuProf
private

Definition at line 28 of file ProfilerExcimer.php.

◆ $period

ProfilerExcimer::$period
private

Definition at line 31 of file ProfilerExcimer.php.

◆ $realProf

ExcimerProfiler ProfilerExcimer::$realProf
private

Definition at line 30 of file ProfilerExcimer.php.


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