public static function getAll($clear = false)
{
$start = self::requestStartTime();
$now = microtime(true);
$times = [];
if (!empty(self::$_timers)) {
$firstTimer = reset(self::$_timers);
$_end = $firstTimer['start'];
} else {
$_end = $now;
}
$times['Core Processing (Derived from $_SERVER["REQUEST_TIME"])'] = ['message' => __d('debug_kit', 'Core Processing (Derived from $_SERVER["REQUEST_TIME"])'), 'start' => 0, 'end' => $_end - $start, 'time' => round($_end - $start, 6), 'named' => null];
foreach (self::$_timers as $name => $timer) {
if (!isset($timer['end'])) {
$timer['end'] = $now;
}
$times[$name] = array_merge($timer, ['start' => $timer['start'] - $start, 'end' => $timer['end'] - $start, 'time' => self::elapsedTime($name)]);
}
if ($clear) {
self::$_timers = [];
}
return $times;
}