From 9af25acf3877e38e3f2ca2c365665fa5c5e801f7 Mon Sep 17 00:00:00 2001 From: Johannes Meyer Date: Mon, 18 May 2015 16:02:55 +0200 Subject: [PATCH] RepositoryQuery: Benchmark when iterating a query's result refs #8826 --- library/Icinga/Repository/RepositoryQuery.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/library/Icinga/Repository/RepositoryQuery.php b/library/Icinga/Repository/RepositoryQuery.php index 220e85632..91988605c 100644 --- a/library/Icinga/Repository/RepositoryQuery.php +++ b/library/Icinga/Repository/RepositoryQuery.php @@ -5,6 +5,7 @@ namespace Icinga\Repository; use Iterator; use IteratorAggregate; +use Icinga\Application\Benchmark; use Icinga\Application\Logger; use Icinga\Data\QueryInterface; use Icinga\Data\Filter\Filter; @@ -532,6 +533,7 @@ class RepositoryQuery implements QueryInterface, Iterator } $this->iterator->rewind(); + Benchmark::measure('Query result iteration started'); } /** @@ -562,7 +564,12 @@ class RepositoryQuery implements QueryInterface, Iterator */ public function valid() { - return $this->iterator->valid(); + if (! $this->iterator->valid()) { + Benchmark::measure('Query result iteration finished'); + return false; + } + + return true; } /**