Fixing rendertime
This commit is contained in:
parent
b07144de12
commit
107293bd61
1 changed files with 65 additions and 56 deletions
|
@ -119,18 +119,76 @@ class Profiler implements ContainerInterface
|
||||||
$this->callstack['parser'] = [];
|
$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
|
* 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
|
* @param string $message Additional message for the log
|
||||||
*/
|
*/
|
||||||
public function saveLog(LoggerInterface $logger, $message = '')
|
public function saveLog(LoggerInterface $logger, $message = '')
|
||||||
{
|
{
|
||||||
// Write down the performance values into the log
|
|
||||||
if (!$this->enabled) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
$duration = microtime(true) - $this->get('start');
|
$duration = microtime(true) - $this->get('start');
|
||||||
$logger->info(
|
$logger->info(
|
||||||
$message,
|
$message,
|
||||||
|
@ -149,57 +207,8 @@ class Profiler implements ContainerInterface
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!$this->rendertime) {
|
$output = $this->getRendertimeString();
|
||||||
return;
|
$logger->info($message . ": " . $output, ['action' => 'profiling']);
|
||||||
}
|
|
||||||
|
|
||||||
$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']);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in a new issue