From 021db28443a596ff85530d446fb5c5552a9a3941 Mon Sep 17 00:00:00 2001 From: Adrien Morais Date: Mon, 24 Oct 2022 10:09:41 +0200 Subject: [PATCH] enh(resources): in detail, fetch downtime only if needed --- .../Domain/Monitoring/ResourceService.php | 36 +++++++++++-------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/src/Centreon/Domain/Monitoring/ResourceService.php b/src/Centreon/Domain/Monitoring/ResourceService.php index ca7f73e6723..9298706ae0c 100644 --- a/src/Centreon/Domain/Monitoring/ResourceService.php +++ b/src/Centreon/Domain/Monitoring/ResourceService.php @@ -152,11 +152,13 @@ public function findResources(ResourceFilter $filter): array */ public function enrichHostWithDetails(ResourceEntity $resource): void { - $downtimes = $this->monitoringRepository->findDowntimes( - $resource->getId(), - 0 - ); - $resource->setDowntimes($downtimes); + if ($resource->getInDowntime() === true) { + $downtimes = $this->monitoringRepository->findDowntimes( + $resource->getId(), + 0 + ); + $resource->setDowntimes($downtimes); + } if ($resource->getAcknowledged()) { $acknowledgements = $this->monitoringRepository->findAcknowledgements( @@ -196,11 +198,13 @@ public function enrichServiceWithDetails(ResourceEntity $resource): void throw new ResourceException(_('Parent of resource type service cannot be null')); } - $downtimes = $this->monitoringRepository->findDowntimes( - $resource->getParent()->getId(), - $resource->getId() - ); - $resource->setDowntimes($downtimes); + if ($resource->getInDowntime() === true) { + $downtimes = $this->monitoringRepository->findDowntimes( + $resource->getParent()->getId(), + $resource->getId() + ); + $resource->setDowntimes($downtimes); + } if ($resource->getAcknowledged()) { $acknowledgements = $this->monitoringRepository->findAcknowledgements( @@ -236,11 +240,13 @@ public function enrichServiceWithDetails(ResourceEntity $resource): void */ public function enrichMetaServiceWithDetails(ResourceEntity $resource): void { - $downtimes = $this->monitoringRepository->findDowntimes( - $resource->getHostId(), - $resource->getServiceId() - ); - $resource->setDowntimes($downtimes); + if ($resource->getInDowntime() === true) { + $downtimes = $this->monitoringRepository->findDowntimes( + $resource->getHostId(), + $resource->getServiceId() + ); + $resource->setDowntimes($downtimes); + } if ($resource->getAcknowledged()) { $acknowledgements = $this->monitoringRepository->findAcknowledgements(