public function setHeaderLine($line) { $parts = StringUtil::map($line, ':', ['name', 'value']); return $this->setHeader(trim($parts['name']), trim($parts['value'])); }
/** * @param bool|false $withOutput * * @return Manipulator */ public function generateHtml($withOutput = false) { $th = ['Name/ID', 'Execution Time', 'Total Execution Time', 'Memory', 'Total Memory', 'Memory Peak', 'Avg. Memory Peak', 'Real Memory', 'Total Real Memory', 'Real Memory Peak', 'Avg. Real Memory Peak']; $m = new Manipulator('div'); $tbl = $m->setCss(['font-family' => 'monospace', 'font-size' => '8px', 'color' => '#333'])->table->tableCols($th); foreach ($this->_records as $record) { $fromStart = $record->getAbsoluteResult(); $fromLast = $record->getResult(); if (!$fromLast) { $fromLast = $fromStart; } $tr = $tbl->append('tr'); $tr->append('th')->setText($record->getName()); foreach ([$fromLast->getTime(), $fromStart->getTime()] as $time) { $time = $time * 1000; $tr->append('td')->append('label[title="' . $time . ' ms"]')->setText(StringUtil::timify($time)); } foreach ([$fromLast->getMemoryUsage(), $fromStart->getMemoryUsage(), $fromLast->getMemoryUsagePeak(), $fromStart->getMemoryUsagePeak(), $fromLast->getRealMemoryUsage(), $fromStart->getRealMemoryUsage(), $fromLast->getRealMemoryUsagePeak(), $fromStart->getRealMemoryUsagePeak()] as $bytes) { $tr->append('td')->append('label[title="' . $bytes . ' Byte"]')->setText(StringUtil::bytify($bytes)); } } $m->find('table')->setCss(['width' => '100%']); $m->find('td, th')->setCss(['border' => '1px solid #ccc']); $m->find('td')->setCss(['text-align' => 'right']); $m->find('tr:even, tbody th')->setCss(['background' => '#efefef']); return $m; }