]> git.mxchange.org Git - friendica-addons.git/blobdiff - rendertime/rendertime.php
Use short form array syntax everywhere
[friendica-addons.git] / rendertime / rendertime.php
old mode 100755 (executable)
new mode 100644 (file)
index 0792ce0..1a2a962
@@ -9,6 +9,8 @@
  *
  */
 
+use Friendica\Core\Config;
+
 function rendertime_install() {
        register_hook('page_end', 'addon/rendertime/rendertime.php', 'rendertime_page_end');
 }
@@ -24,11 +26,50 @@ function rendertime_init_1(&$a) {
 
 function rendertime_page_end(&$a, &$o) {
 
-       $duration = round(microtime(true)-$a->performance["start"], 3);
+       $duration = microtime(true)-$a->performance["start"];
+
+       $ignored_modules = ["fbrowser"];
+       $ignored = in_array($a->module, $ignored_modules);
+
+       if (is_site_admin() && ($_GET["mode"] != "minimal") && !$a->is_mobile && !$a->is_tablet && !$ignored) {
+               $o = $o.'<div class="renderinfo">'.sprintf(t("Database: %s/%s, Network: %s, Rendering: %s, Session: %s, I/O: %s, Other: %s, Total: %s"),
+                                               round($a->performance["database"] - $a->performance["database_write"], 3),
+                                               round($a->performance["database_write"], 3),
+                                               round($a->performance["network"], 2),
+                                               round($a->performance["rendering"], 2),
+                                               round($a->performance["parser"], 2),
+                                               round($a->performance["file"], 2),
+                                               round($duration - $a->performance["database"]
+                                                        - $a->performance["network"] - $a->performance["rendering"]
+                                                        - $a->performance["parser"] - $a->performance["file"], 2),
+                                               round($duration, 2)
+                                               //round($a->performance["markstart"], 3)
+                                               //round($a->performance["plugin"], 3)
+                                               )."</div>";
+
+               if (Config::get("rendertime", "callstack")) {
+                       $o .= "<pre>";
+                       $o .= "\nDatabase Read:\n";
+                       foreach ($a->callstack["database"] AS $func => $time) {
+                               $time = round($time, 3);
+                               if ($time > 0)
+                                       $o .= $func.": ".$time."\n";
+                       }
+                       $o .= "\nDatabase Write:\n";
+                       foreach ($a->callstack["database_write"] AS $func => $time) {
+                               $time = round($time, 3);
+                               if ($time > 0)
+                                       $o .= $func.": ".$time."\n";
+                       }
+
+                       $o .= "\nNetwork:\n";
+                       foreach ($a->callstack["network"] AS $func => $time) {
+                               $time = round($time, 3);
+                               if ($time > 0)
+                                       $o .= $func.": ".$time."\n";
+                       }
 
-       $o = $o.'<div class="renderinfo">'.sprintf(t("Rendertime: Database: %s, Network: %s, Rendering: %s, Total: %s"),
-                                               round($a->performance["database"], 3),
-                                               round($a->performance["network"], 3),
-                                               round($a->performance["rendering"], 3),
-                                               $duration)."</div>";
+                       $o .= "</pre>";
+               }
+       }
 }