From 55e5c6941d8bf64ba7271cb99519e60e0015acc8 Mon Sep 17 00:00:00 2001 From: Daniel Seifert Date: Sun, 31 Jul 2022 22:56:02 +0200 Subject: [PATCH] add timeline messures from current profiling --- Application/Component/DebugBarComponent.php | 26 ++++++++++++++++++- .../blocks/layout/footer_main_debugbar.tpl | 1 + 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/Application/Component/DebugBarComponent.php b/Application/Component/DebugBarComponent.php index dfd54a5..c0e4530 100644 --- a/Application/Component/DebugBarComponent.php +++ b/Application/Component/DebugBarComponent.php @@ -18,7 +18,7 @@ namespace D3\DebugBar\Application\Component; use D3\DebugBar\Application\Models\Collectors\SmartyCollector; use DebugBar\Bridge\DoctrineCollector; use DebugBar\Bridge\MonologCollector; -use DebugBar\DataCollector\PDO\PDOCollector; +use DebugBar\DataCollector\TimeDataCollector; use DebugBar\DebugBarException; use DebugBar\JavascriptRenderer; use DebugBar\StandardDebugBar; @@ -26,12 +26,15 @@ use Doctrine\DBAL\Logging\DebugStack; use OxidEsales\Eshop\Core\Controller\BaseController; use OxidEsales\Eshop\Core\DatabaseProvider; use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException; +use OxidEsales\Eshop\Core\Exception\StandardException; use OxidEsales\Eshop\Core\Registry; use ReflectionClass; use ReflectionException; class DebugBarComponent extends BaseController { + /** @var StandardDebugBar */ + protected $debugBar; /** @var JavascriptRenderer */ protected $debugBarRenderer; @@ -57,6 +60,7 @@ class DebugBarComponent extends BaseController $debugbarRenderer = $debugbar->getJavascriptRenderer(); $debugbarRenderer->setBaseUrl(Registry::getConfig()->getOutUrl() . 'debugbar'); + $this->debugBar = $debugbar; $this->debugBarRenderer = $debugbarRenderer; } } @@ -101,6 +105,7 @@ class DebugBarComponent extends BaseController public function render() { $this->getParent()->addTplParam('debugBarRenderer', $this->debugBarRenderer); + $this->getParent()->addTplParam('debugBarComponent', $this); return parent::render(); } @@ -131,4 +136,23 @@ class DebugBarComponent extends BaseController $debugbar->addCollector($this->getDoctrineCollector()); $debugbar->addCollector($this->getSmartyCollector()); } + + public function addTimelineMessures() + { + /** @var TimeDataCollector $tCollector */ + $tCollector = $this->debugBar['time']; + + global $aStartTimes; + global $aProfileTimes; + global $executionCounts; + foreach ($aProfileTimes as $label => $recordedTime) { + for ($i = 0; $i < $executionCounts[$label]; $i++) { + $tCollector->addMeasure( + $label, + $aStartTimes[$label], + $aStartTimes[$label] + $aProfileTimes[$label] / $executionCounts[$label] + ); + } + } + } } \ No newline at end of file diff --git a/Application/views/blocks/layout/footer_main_debugbar.tpl b/Application/views/blocks/layout/footer_main_debugbar.tpl index eb6d23c..b883a91 100644 --- a/Application/views/blocks/layout/footer_main_debugbar.tpl +++ b/Application/views/blocks/layout/footer_main_debugbar.tpl @@ -1,4 +1,5 @@ [{$smarty.block.parent}] [{$debugBarRenderer->renderHead()}] +[{$debugBarComponent->addTimelineMessures()}] [{$debugBarRenderer->render()}] \ No newline at end of file