namespace Friendica\Util;
+use Friendica\Core\Config\Cache;
+use Friendica\Core\Config\IConfig;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\ContainerInterface;
use Psr\Container\NotFoundExceptionInterface;
* A class to store profiling data
* It can handle different logging data for specific functions or global performance measures
*
- * It stores the data as log entries (@see LoggerInterface )
+ * It stores the data as log entries (@see LoggerInterface)
*/
class Profiler implements ContainerInterface
{
}
/**
- * @param bool $enabled True, if the Profiler is enabled
- * @param bool $renderTime True, if the Profiler should measure the whole rendertime including functions
+ * Updates the enabling of the current profiler
+ *
+ * @param IConfig $config
+ */
+ public function update(IConfig $config)
+ {
+ $this->enabled = $config->get('system', 'profiler');
+ $this->rendertime = $config->get('rendertime', 'callstack');
+ }
+
+ /**
+ * @param Cache $configCache The configuration cache
*/
- public function __construct($enabled = false, $renderTime = false)
+ public function __construct(Cache $configCache)
{
- $this->enabled = $enabled;
- $this->rendertime = $renderTime;
+ $this->enabled = $configCache->get('system', 'profiler');
+ $this->rendertime = $configCache->get('rendertime', 'callstack');
$this->reset();
}
return;
}
- $duration = (float) (microtime(true) - $timestamp);
+ $duration = floatval(microtime(true) - $timestamp);
if (!isset($this->performance[$value])) {
// Prevent ugly E_NOTICE