wiki.techinc.nl/includes/ProfilerSimpleText.php

42 lines
1.1 KiB
PHP
Raw Normal View History

2008-03-25 17:21:00 +00:00
<?php
/**
* @file
* @ingroup Profiler
*/
require_once( dirname( __FILE__ ) . '/ProfilerSimple.php' );
2008-03-25 17:21:00 +00:00
/**
* The least sophisticated profiler output class possible, view your source! :)
*
* Put the following 3 lines in StartProfiler.php:
*
* require_once( dirname( __FILE__ ) . '/includes/ProfilerSimpleText.php' );
* $wgProfiler = new ProfilerSimpleText;
* $wgProfiler->visible=true;
*
* @ingroup Profiler
*/
2008-03-25 17:21:00 +00:00
class ProfilerSimpleText extends ProfilerSimple {
public $visible=false; /* Show as <PRE> or <!-- ? */
static private $out;
2008-03-25 17:21:00 +00:00
function getFunctionReport() {
global $wgRequest, $wgOut;
if($this->mTemplated) {
uasort($this->mCollated,array('self','sort'));
array_walk($this->mCollated,array('self','format'));
if ($this->visible) {
print '<pre>'.self::$out.'</pre>';
} else {
print '<!--\n'.self::$out.'\n-->\n';
}
}
2008-03-25 17:21:00 +00:00
}
2008-03-25 17:21:00 +00:00
/* dense is good */
2008-03-25 17:45:35 +00:00
static function sort($a,$b) { return $a['real']<$b['real']; /* sort descending by time elapsed */ }
static function format($item,$key) { self::$out .= sprintf("%3.6f %6d - %s\n",$item['real'],$item['count'], $key); }
2008-03-25 17:21:00 +00:00
}