]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - StartProfiler.sample
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / StartProfiler.sample
index f91aeb9281ce2b40b4e839e3cd271b29de75bc2f..bdf21396e2d7e5bbf55eb50950df95bc36f32eb7 100644 (file)
@@ -1,23 +1,38 @@
 <?php
 
-require_once( dirname(__FILE__).'/includes/ProfilerStub.php' );
-
 /**
- * To use a profiler, copy this file to StartProfiler.php,
- * delete the PHP line above, and add something like this:
+ * To use a profiler, copy this file to StartProfiler.php and add:
+ *  $wgProfiler['class'] = 'ProfilerXhprof';
+ *
+ * For output, set the 'output' key to an array of class names, one for each
+ * output type you want the profiler to generate. For example:
+ *  $wgProfiler['output'] = array( 'ProfilerOutputText' );
+ *
+ * The output classes available to you by default are ProfilerOutputDb,
+ * ProfilerOutputDump, ProfilerOutputStats, ProfilerOutputText, and
+ * ProfilerOutputUdp.
+ *
+ * ProfilerOutputStats outputs profiling data as StatsD metrics. It expects
+ * that you have set the $wgStatsdServer configuration variable to the host (or
+ * host:port) of your statsd server.
  *
- *   require_once(  dirname(__FILE__).'/includes/Profiler.php' );
- *   $wgProfiler = new Profiler;
+ * ProfilerOutputText will output profiling data in the page body as a comment.
+ * You can make the profiling data in HTML render as part of the page content
+ * by setting the 'visible' configuration flag:
+ *  $wgProfiler['visible'] = true;
  *
- * Or for a sampling profiler:
- *   if ( !mt_rand( 0, 100 ) ) {
- *       require_once(  dirname(__FILE__).'/includes/Profiler.php' );
- *       $wgProfiler = new Profiler;
- *   } else {
- *       require_once(  dirname(__FILE__).'/includes/ProfilerStub.php' );
- *   }
- * 
- * Configuration of the profiler output can be done in LocalSettings.php
+ * 'ProfilerOutputDb' expects a database table that can be created by applying
+ * maintenance/archives/patch-profiling.sql to your database.
+ *
+ * 'ProfilerOutputDump' expects a $wgProfiler['outputDir'] telling it where to
+ * write dump files. The files produced are compatible with the XHProf gui.
+ * For a rudimentary sampling profiler:
+ *   $wgProfiler['class'] = 'ProfilerXhprof';
+ *   $wgProfiler['output'] = array( 'ProfilerOutputDb' );
+ *   $wgProfiler['sampling'] = 50; // one every 50 requests
+ * This will use ProfilerStub for non-sampled cases.
+ *
+ * For performance, the profiler is always disabled for CLI scripts as they
+ * could be long running and the data would accumulate. Use the '--profiler'
+ * parameter of maintenance scripts to override this.
  */
-
-