wiki.techinc.nl/includes/ProfilerSimpleText.php
Alexandre Emsenhuber dd39bd97ff * (bug 20388) ProfilerSimpleText no longer outputs comments on action=raw so that the result is valid CSS/JS and don't interfere with wikitext
Todo: maybe output /* */ comment when generating CSS/JS, but it'd need to factorise some code in RawPage (or another way)
2009-12-18 21:21:51 +00:00

39 lines
1.1 KiB
PHP

<?php
/**
* @file
* @ingroup Profiler
*/
require_once( dirname( __FILE__ ) . '/ProfilerSimple.php' );
/**
* The least sophisticated profiler output class possible, view your source! :)
*
* Put it to StartProfiler.php like this:
*
* require_once( dirname( __FILE__ ) . '/includes/ProfilerSimpleText.php' );
* $wgProfiler = new ProfilerSimpleText;
* $wgProfiler->visible=true;
*
* @ingroup Profiler
*/
class ProfilerSimpleText extends ProfilerSimple {
public $visible=false; /* Show as <PRE> or <!-- ? */
function getFunctionReport() {
global $wgRequest;
if ( $wgRequest->getVal( 'action' ) == 'raw' ) # bug 20388
return;
if ($this->visible) print "<pre>";
else print "<!--\n";
uasort($this->mCollated,array('self','sort'));
array_walk($this->mCollated,array('self','format'));
if ($this->visible) print "</pre>\n";
else print "-->\n";
}
/* dense is good */
static function sort($a,$b) { return $a['real']<$b['real']; /* sort descending by time elapsed */ }
static function format($item,$key) { printf("%3.6f %6d - %s\n",$item['real'],$item['count'], $key); }
}