task = $task; $this->timeFactory = $timeFactory; $this->logger = $logger; $this->start = $this->rel = $timeFactory->getTime(); } public function step(string $description): void { $now = $this->timeFactory->getTime(); $passed = $now - $this->rel; $message = $this->task . " - $description took {$passed}s."; if (function_exists('memory_get_usage') && function_exists('memory_get_peak_usage')) { $this->logger->debug( sprintf( $message . ' %d/%dMB memory used', round(memory_get_usage() / 1024 / 1024), round(memory_get_peak_usage() / 1024 / 1024) ) ); } else { $this->logger->debug($message); } $this->rel = $now; } public function end(): int { $now = $this->timeFactory->getTime(); $passed = $now - $this->start; $this->logger->debug($this->task . " took {$passed}s"); return $passed; } }