Fixing rendertime

This commit is contained in:
Philipp Holzer 2019-02-20 17:12:40 +01:00
parent b07144de12
commit 107293bd61
No known key found for this signature in database
GPG key ID: 517BE60E2CE5C8A5

View file

@ -119,18 +119,76 @@ class Profiler implements ContainerInterface
$this->callstack['parser'] = [];
}
/**
* Returns the rendertime string
*
* @return string the rendertime
*/
public function getRendertimeString()
{
$output = '';
if (!$this->enabled || !$this->rendertime) {
return $output;
}
if (isset($this->callstack["database"])) {
$output .= "\nDatabase Read:\n";
foreach ($this->callstack["database"] as $func => $time) {
$time = round($time, 3);
if ($time > 0) {
$output .= $func . ": " . $time . "\n";
}
}
}
if (isset($this->callstack["database_write"])) {
$output .= "\nDatabase Write:\n";
foreach ($this->callstack["database_write"] as $func => $time) {
$time = round($time, 3);
if ($time > 0) {
$output .= $func . ": " . $time . "\n";
}
}
}
if (isset($this->callstack["cache"])) {
$output .= "\nCache Read:\n";
foreach ($this->callstack["cache"] as $func => $time) {
$time = round($time, 3);
if ($time > 0) {
$output .= $func . ": " . $time . "\n";
}
}
}
if (isset($this->callstack["cache_write"])) {
$output .= "\nCache Write:\n";
foreach ($this->callstack["cache_write"] as $func => $time) {
$time = round($time, 3);
if ($time > 0) {
$output .= $func . ": " . $time . "\n";
}
}
}
if (isset($this->callstack["network"])) {
$output .= "\nNetwork:\n";
foreach ($this->callstack["network"] as $func => $time) {
$time = round($time, 3);
if ($time > 0) {
$output .= $func . ": " . $time . "\n";
}
}
}
return $output;
}
/**
* Save the current profiling data to a log entry
*
* @param LoggerInterface $logger The logger to save the current log
* @param LoggerInterface $logger The logger to save the current log
* @param string $message Additional message for the log
*/
public function saveLog(LoggerInterface $logger, $message = '')
{
// Write down the performance values into the log
if (!$this->enabled) {
return;
}
$duration = microtime(true) - $this->get('start');
$logger->info(
$message,
@ -149,57 +207,8 @@ class Profiler implements ContainerInterface
]
);
if (!$this->rendertime) {
return;
}
$o = '';
if (isset($this->callstack["database"])) {
$o .= "\nDatabase Read:\n";
foreach ($this->callstack["database"] as $func => $time) {
$time = round($time, 3);
if ($time > 0) {
$o .= $func . ": " . $time . "\n";
}
}
}
if (isset($this->callstack["database_write"])) {
$o .= "\nDatabase Write:\n";
foreach ($this->callstack["database_write"] as $func => $time) {
$time = round($time, 3);
if ($time > 0) {
$o .= $func . ": " . $time . "\n";
}
}
}
if (isset($this->callstack["cache"])) {
$o .= "\nCache Read:\n";
foreach ($this->callstack["cache"] as $func => $time) {
$time = round($time, 3);
if ($time > 0) {
$o .= $func . ": " . $time . "\n";
}
}
}
if (isset($this->callstack["cache_write"])) {
$o .= "\nCache Write:\n";
foreach ($this->callstack["cache_write"] as $func => $time) {
$time = round($time, 3);
if ($time > 0) {
$o .= $func . ": " . $time . "\n";
}
}
}
if (isset($this->callstack["network"])) {
$o .= "\nNetwork:\n";
foreach ($this->callstack["network"] as $func => $time) {
$time = round($time, 3);
if ($time > 0) {
$o .= $func . ": " . $time . "\n";
}
}
}
$logger->info($message . ": " . $o, ['action' => 'profiling']);
$output = $this->getRendertimeString();
$logger->info($message . ": " . $output, ['action' => 'profiling']);
}
/**