64 lines
1.4 KiB
PHP
64 lines
1.4 KiB
PHP
|
<?php
|
||
|
|
||
|
class Debugger {
|
||
|
private static $flags = [];
|
||
|
private static $tracker = [];
|
||
|
private static $backtrace;
|
||
|
|
||
|
public static function trackStart ($key){
|
||
|
self::$tracker[$key] = array(
|
||
|
'start' => microtime(true),
|
||
|
'stop' => 0
|
||
|
);
|
||
|
}
|
||
|
|
||
|
public static function trackStop ($key){
|
||
|
self::$tracker[$key]['stop'] = microtime(true);
|
||
|
}
|
||
|
|
||
|
public static function showTracker(){
|
||
|
$ret = '';
|
||
|
|
||
|
foreach(self::$tracker as $key => $track){
|
||
|
$ret .= $key.': '.number_format($track['stop']-$track['start'], 4, '.', ' ') .' ms<br>';
|
||
|
}
|
||
|
|
||
|
return $ret;
|
||
|
}
|
||
|
|
||
|
public static function flag ($text) {
|
||
|
$flag = array(
|
||
|
'time' => microtime(true)*1000,
|
||
|
'flag' => $text
|
||
|
);
|
||
|
self::$flags[] = $flag;
|
||
|
}
|
||
|
|
||
|
public static function showFlags($asHtml = true){
|
||
|
$ret = '';
|
||
|
$nl = $asHtml ? "<br>\n": "\n";
|
||
|
|
||
|
$size = count(self::$flags);
|
||
|
for($i=0; $i<$size - 1; $i++){
|
||
|
$ret .= self::$flags[$i]['flag'];
|
||
|
$ret .= '-';
|
||
|
$ret .= self::$flags[$i+1]['flag'];
|
||
|
$ret .= ' '. number_format(self::$flags[$i+1]['time'] - self::$flags[$i]['time'], 0, '.', ' ') .' ms';
|
||
|
$ret .= $nl;
|
||
|
}
|
||
|
if($size > 1){
|
||
|
$ret .= 'TOTAL: '.number_format(self::$flags[$size-1]['time'] - self::$flags[0]['time'], 0, '.' ,' ') .' ms';
|
||
|
}
|
||
|
return $ret;
|
||
|
}
|
||
|
|
||
|
public static function debug($backtrace){
|
||
|
self::$backtrace = $backtrace;
|
||
|
}
|
||
|
|
||
|
public static function showDebug(){
|
||
|
return self::$backtrace;
|
||
|
}
|
||
|
}
|
||
|
?>
|