]> git.mxchange.org Git - friendica.git/commitdiff
Fixing rendertime
authorPhilipp Holzer <admin@philipp.info>
Wed, 20 Feb 2019 16:12:40 +0000 (17:12 +0100)
committerPhilipp Holzer <admin@philipp.info>
Wed, 20 Feb 2019 16:12:40 +0000 (17:12 +0100)
src/Util/Profiler.php

index 2d3da3a9c0b99f762a29f9b9bb9e7288a87ab337..115e75f7ba6ce44f97962fed9717653f3b19e62a 100644 (file)
@@ -120,86 +120,95 @@ class Profiler implements ContainerInterface
        }
 
        /**
-        * Save the current profiling data to a log entry
+        * Returns the rendertime string
         *
-        * @param LoggerInterface $logger The logger to save the current log
-        * @param string          $message Additional message for the log
+        * @return string the rendertime
         */
-       public function saveLog(LoggerInterface $logger, $message = '')
+       public function getRendertimeString()
        {
-               // Write down the performance values into the log
-               if (!$this->enabled) {
-                       return;
-               }
-               $duration = microtime(true) - $this->get('start');
-               $logger->info(
-                       $message,
-                       [
-                               'action' => 'profiling',
-                               'database_read' => round($this->get('database') - $this->get('database_write'), 3),
-                               'database_write' => round($this->get('database_write'), 3),
-                               'cache_read' => round($this->get('cache'), 3),
-                               'cache_write' => round($this->get('cache_write'), 3),
-                               'network_io' => round($this->get('network'), 2),
-                               'file_io' => round($this->get('file'), 2),
-                               'other_io' => round($duration - ($this->get('database')
-                                               + $this->get('cache') + $this->get('cache_write')
-                                               + $this->get('network') + $this->get('file')), 2),
-                               'total' => round($duration, 2)
-                       ]
-               );
+               $output = '';
 
-               if (!$this->rendertime) {
-                       return;
+               if (!$this->enabled || !$this->rendertime) {
+                       return $output;
                }
-               
-               $o = '';
+
                if (isset($this->callstack["database"])) {
-                       $o .= "\nDatabase Read:\n";
+                       $output .= "\nDatabase Read:\n";
                        foreach ($this->callstack["database"] as $func => $time) {
                                $time = round($time, 3);
                                if ($time > 0) {
-                                       $o .= $func . ": " . $time . "\n";
+                                       $output .= $func . ": " . $time . "\n";
                                }
                        }
                }
                if (isset($this->callstack["database_write"])) {
-                       $o .= "\nDatabase Write:\n";
+                       $output .= "\nDatabase Write:\n";
                        foreach ($this->callstack["database_write"] as $func => $time) {
                                $time = round($time, 3);
                                if ($time > 0) {
-                                       $o .= $func . ": " . $time . "\n";
+                                       $output .= $func . ": " . $time . "\n";
                                }
                        }
                }
                if (isset($this->callstack["cache"])) {
-                       $o .= "\nCache Read:\n";
+                       $output .= "\nCache Read:\n";
                        foreach ($this->callstack["cache"] as $func => $time) {
                                $time = round($time, 3);
                                if ($time > 0) {
-                                       $o .= $func . ": " . $time . "\n";
+                                       $output .= $func . ": " . $time . "\n";
                                }
                        }
                }
                if (isset($this->callstack["cache_write"])) {
-                       $o .= "\nCache Write:\n";
+                       $output .= "\nCache Write:\n";
                        foreach ($this->callstack["cache_write"] as $func => $time) {
                                $time = round($time, 3);
                                if ($time > 0) {
-                                       $o .= $func . ": " . $time . "\n";
+                                       $output .= $func . ": " . $time . "\n";
                                }
                        }
                }
                if (isset($this->callstack["network"])) {
-                       $o .= "\nNetwork:\n";
+                       $output .= "\nNetwork:\n";
                        foreach ($this->callstack["network"] as $func => $time) {
                                $time = round($time, 3);
                                if ($time > 0) {
-                                       $o .= $func . ": " . $time . "\n";
+                                       $output .= $func . ": " . $time . "\n";
                                }
                        }
                }
-               $logger->info($message . ": " . $o, ['action' => 'profiling']);
+
+               return $output;
+       }
+
+       /**
+        * Save the current profiling data to a log entry
+        *
+        * @param LoggerInterface $logger  The logger to save the current log
+        * @param string          $message Additional message for the log
+        */
+       public function saveLog(LoggerInterface $logger, $message = '')
+       {
+               $duration = microtime(true) - $this->get('start');
+               $logger->info(
+                       $message,
+                       [
+                               'action' => 'profiling',
+                               'database_read' => round($this->get('database') - $this->get('database_write'), 3),
+                               'database_write' => round($this->get('database_write'), 3),
+                               'cache_read' => round($this->get('cache'), 3),
+                               'cache_write' => round($this->get('cache_write'), 3),
+                               'network_io' => round($this->get('network'), 2),
+                               'file_io' => round($this->get('file'), 2),
+                               'other_io' => round($duration - ($this->get('database')
+                                               + $this->get('cache') + $this->get('cache_write')
+                                               + $this->get('network') + $this->get('file')), 2),
+                               'total' => round($duration, 2)
+                       ]
+               );
+
+               $output = $this->getRendertimeString();
+               $logger->info($message . ": " . $output, ['action' => 'profiling']);
        }
 
        /**