MediaWiki  1.28.0
ProfilerXhprof Class Reference

Profiler wrapper for XHProf extension. More...

Inheritance diagram for ProfilerXhprof:
Collaboration diagram for ProfilerXhprof:

Public Member Functions

 __construct (array $params=[])
 
 close ()
 No-op for xhprof profiling. More...
 
 getFunctionStats ()
 
 getOutput ()
 Returns a profiling output to be stored in debug file. More...
 
 getRawData ()
 Retrieve raw data from xhprof. More...
 
 getXhprofData ()
 
 scopedProfileIn ($section)
 
- Public Member Functions inherited from Profiler
 __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 (SectionProfileCallback &$section=null)
 
 setContext ($context)
 Sets the context for this Profiler. More...
 
 setProfileID ($id)
 
 setTemplated ($t)
 Mark this call as templated or not. More...
 

Protected Member Functions

 getFunctionReport ()
 Get a report of profiled functions sorted by inclusive wall clock time in descending order. More...
 

Protected Attributes

SectionProfiler $sprofiler
 Profiler for explicit, arbitrary, frame labels. More...
 
 $xhprofData
 
- Protected Attributes inherited from Profiler
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

 shouldExclude ($name)
 Check if a function or section should be excluded from the output. More...
 

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

Detailed Description

Profiler wrapper for XHProf extension.

$wgProfiler['class'] = 'ProfilerXhprof';
$wgProfiler['flags'] = XHPROF_FLAGS_NO_BUILTINS;
$wgProfiler['output'] = 'text';
$wgProfiler['visible'] = true;
$wgProfiler['class'] = 'ProfilerXhprof';
$wgProfiler['flags'] = XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY | XHPROF_FLAGS_NO_BUILTINS;
$wgProfiler['output'] = 'udp';

ProfilerXhprof profiles all functions using the XHProf PHP extenstion. For PHP5 users, this extension can be installed via PECL or your operating system's package manager. XHProf support is built into HHVM.

To restrict the functions for which profiling data is collected, you can use either a whitelist ($wgProfiler['include']) or a blacklist ($wgProfiler['exclude']) containing an array of function names. Shell-style patterns are also accepted.

Author
Bryan Davis bd808.nosp@m.@wik.nosp@m.imedi.nosp@m.a.or.nosp@m.g
Note
© 2014 Bryan Davis and Wikimedia Foundation.
See also
Xhprof
https://php.net/xhprof
https://github.com/facebook/hhvm/blob/master/hphp/doc/profiling.md

Definition at line 53 of file ProfilerXhprof.php.

Constructor & Destructor Documentation

ProfilerXhprof::__construct ( array  $params = [])
Parameters
array$params
See also
Xhprof::__construct()

Definition at line 69 of file ProfilerXhprof.php.

References $flags, $options, Profiler\$params, and Xhprof\enable().

Member Function Documentation

ProfilerXhprof::close ( )

No-op for xhprof profiling.

Definition at line 97 of file ProfilerXhprof.php.

ProfilerXhprof::getFunctionReport ( )
protected

Get a report of profiled functions sorted by inclusive wall clock time in descending order.

Each line of the report includes this data:

  • Function name
  • Number of times function was called
  • Total wall clock time spent in function in microseconds
  • Minimum wall clock time spent in function in microseconds
  • Average wall clock time spent in function in microseconds
  • Maximum wall clock time spent in function in microseconds
  • Percentage of total wall clock time spent in function
  • Total delta of memory usage from start to end of function in bytes
Returns
string

Definition at line 197 of file ProfilerXhprof.php.

References $out, as, and getFunctionStats().

Referenced by getOutput().

ProfilerXhprof::getFunctionStats ( )

Definition at line 128 of file ProfilerXhprof.php.

References $fname, as, getXhprofData(), and shouldExclude().

Referenced by getFunctionReport().

ProfilerXhprof::getOutput ( )

Returns a profiling output to be stored in debug file.

Returns
string

Definition at line 177 of file ProfilerXhprof.php.

References getFunctionReport().

ProfilerXhprof::getRawData ( )

Retrieve raw data from xhprof.

Returns
array

Definition at line 232 of file ProfilerXhprof.php.

References getXhprofData().

ProfilerXhprof::getXhprofData ( )
Returns
XhprofData

Definition at line 82 of file ProfilerXhprof.php.

References $xhprofData, and Xhprof\disable().

Referenced by getFunctionStats(), and getRawData().

ProfilerXhprof::scopedProfileIn (   $section)

Definition at line 89 of file ProfilerXhprof.php.

References $section.

ProfilerXhprof::shouldExclude (   $name)
private

Check if a function or section should be excluded from the output.

Parameters
string$nameFunction or section name.
Returns
bool

Definition at line 106 of file ProfilerXhprof.php.

References $name, and as.

Referenced by getFunctionStats().

Member Data Documentation

SectionProfiler ProfilerXhprof::$sprofiler
protected

Profiler for explicit, arbitrary, frame labels.

Definition at line 63 of file ProfilerXhprof.php.

XhprofData null ProfilerXhprof::$xhprofData
protected

Definition at line 57 of file ProfilerXhprof.php.

Referenced by getXhprofData().


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