From 9a1cf64e02fde1b93e130974c167355ded4f44d1 Mon Sep 17 00:00:00 2001 From: Ryan Cramer Date: Fri, 4 Feb 2022 14:25:43 -0500 Subject: [PATCH] Add a Page::render timer that is used in debug mode and shown in the Debug > Timers accordion item --- wire/modules/PageRender.module | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/wire/modules/PageRender.module b/wire/modules/PageRender.module index bf228ff4..c3c9d691 100644 --- a/wire/modules/PageRender.module +++ b/wire/modules/PageRender.module @@ -446,9 +446,12 @@ class PageRender extends WireData implements Module, ConfigurableModule { $_page = $this->wire()->page; // just in case one page is rendering another, save the previous $config = $this->wire()->config; + $timerKey = $config->debug ? "page.$page.render" : ""; $compiler = null; /** @var FileCompiler|null $compiler */ $compilerOptions = array(); + if($timerKey) Debug::timer($timerKey); + if($config->templateCompile && $template->compile) { $compilerOptions = array( 'namespace' => strlen(__NAMESPACE__) > 0, @@ -496,6 +499,7 @@ class PageRender extends WireData implements Module, ConfigurableModule { if(!$options['forceBuildCache'] && ($data = $cacheFile->get()) !== false) { $event->return = $data; if($_page) $this->wire('page', $_page); + if($timerKey) Debug::saveTimer($timerKey); return; } } @@ -581,6 +585,8 @@ class PageRender extends WireData implements Module, ConfigurableModule { $this->populateMarkupRegions($data); } } + + if($timerKey) Debug::saveTimer($timerKey); if($data && $cacheAllowed && $cacheFile) { $data = $this->saveCacheFileReady($page, $data);