init(); } public function init() { $this->timerStart = $this->getMicrotime(); $this->memoryStart = $this->getMemoryUsage(); } public function getTime($decimals = 3) { return number_format($this->getMicrotime() - $this->timerStart, $decimals, '.', ''); } public function getTimeMs($decimals = 3) { return number_format(1000 * ($this->getMicrotime() - $this->timerStart), $decimals, '.', ''); } public function getMemoryLeak() { return "Memory delta: " . Piwik::getPrettySizeFromBytes($this->getMemoryUsage() - $this->memoryStart); } public function __toString() { return "Time elapsed: " . $this->getTime() . "s"; } private function getMicrotime() { list($micro_seconds, $seconds) = explode(" ", microtime()); return ((float)$micro_seconds + (float)$seconds); } private function getMemoryUsage() { if (function_exists('memory_get_usage')) { return memory_get_usage(); } return 0; } }