<?php
/**
- * To use a profiler, copy this file to StartProfiler.php,
- * and add either:
+ * To use a profiler, copy this file to StartProfiler.php and add:
+ * $wgProfiler['class'] = 'ProfilerXhprof';
*
- * // Does not support the debugging toolbar
- * // Stores profiling information in the database
- * // Requires running maintenance/archives/patch-profiling.sql
- * $wgProfiler['class'] = 'ProfilerSimpleDB'
+ * For output, add:
+ * $wgProfiler['output'] = array( 'text' );
+ * 'text' can be one (or more) of 'text' 'udp' 'db' or 'dump'
+ * 'db' requires creating the profiling table, see patch-profiling.sql
*
- * or:
+ * The 'text' output will be added to the output page in a comment approriate
+ * to the output's mime type. For a text/html page, this display can be
+ * changed to a preformatted text block by setting the 'visible' configuration
+ * flag:
+ * $wgProfiler['visible'] = true;
*
- * // Supports the debugging toolbar
- * // Does not store profiling information in the database
- * $wgProfiler['class'] = 'ProfilerStandard';
+ * The 'db' output expects a database table that can be created by applying
+ * maintenance/archives/patch-profiling.sql to your database.
*
- * Or for a sampling profiler:
- * if ( !mt_rand( 0, 100 ) ) {
- * $wgProfiler['class'] = 'ProfilerSimpleDB';
- * } else {
- * $wgProfiler['class'] = 'ProfilerStub';
- * }
+ * The 'dump' output expects a $wgProfiler['outputDir'] telling it where to
+ * write dump files. The files produced are compatible with the XHProf gui.
*
- * Configuration of the profiler output can be done in LocalSettings.php
+ * For a rudimentary sampling profiler:
+ * $wgProfiler['class'] = 'ProfilerXhprof';
+ * $wgProfiler['output'] = array( 'db' );
+ * $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.
*/