]> git.mxchange.org Git - friendica.git/blobdiff - src/App/Page.php
Merge pull request #11910 from annando/logging
[friendica.git] / src / App / Page.php
index 305b2962b9c70e856ba31c67ab28394e82d1c457..63314561191a672b9ed8aced03a99bb3382e62b5 100644 (file)
@@ -80,8 +80,9 @@ class Page implements ArrayAccess
        private $basePath;
 
        private $timestamp = 0;
-       private $command   = '';
        private $method    = '';
+       private $module    = '';
+       private $command   = '';
 
        /**
         * @param string $basepath The Page basepath
@@ -92,16 +93,26 @@ class Page implements ArrayAccess
                $this->basePath = $basepath;
        }
 
-       public function setLogging(string $command, string $method)
+       public function setLogging(string $method, string $module, string $command)
        {
-               $this->command = $command;
                $this->method  = $method;
+               $this->module  = $module;
+               $this->command = $command;
        }
 
-       public function logRuntime()
+       public function logRuntime(IManageConfigValues $config, string $origin = '')
        {
-               $runtime = number_format(microtime(true) - $this->timestamp, 3);
-               Logger::debug('Runtime', ['method' => $this->method, 'command' => $this->command, 'runtime' => $runtime]);
+               $ignore = $config->get('system', 'runtime_ignore');
+               if (in_array($this->module, $ignore) || in_array($this->command, $ignore)) {
+                       return;
+               }
+
+               $signature = !empty($_SERVER['HTTP_SIGNATURE']);
+               $load      = number_format(System::currentLoad(), 2);
+               $runtime   = number_format(microtime(true) - $this->timestamp, 3);
+               if ($runtime > $config->get('system', 'runtime_loglimit')) {
+                       Logger::debug('Runtime', ['method' => $this->method, 'module' => $this->module, 'runtime' => $runtime, 'load' => $load, 'origin' => $origin, 'signature' => $signature, 'request' => $_SERVER['REQUEST_URI'] ?? '']);
+               }
        }
 
        /**
@@ -189,7 +200,7 @@ class Page implements ArrayAccess
         * @param string $media
         * @see Page::initHead()
         */
-       public function registerStylesheet($path, string $media = 'screen')
+       public function registerStylesheet(string $path, string $media = 'screen')
        {
                $path = Network::appendQueryParam($path, ['v' => FRIENDICA_VERSION]);
 
@@ -282,7 +293,7 @@ class Page implements ArrayAccess
         *
         * Taken from http://webcheatsheet.com/php/get_current_page_url.php
         */
-       private function curPageURL()
+       private function curPageURL(): string
        {
                $pageURL = 'http';
                if (!empty($_SERVER["HTTPS"]) && ($_SERVER["HTTPS"] == "on")) {