mirror of
https://github.com/Icinga/icingaweb2-module-businessprocess.git
synced 2026-02-12 23:43:21 -05:00
BpConfig: Only list each involved configuration once
This commit is contained in:
parent
6ae4cf745c
commit
6f3ffe48e2
2 changed files with 9 additions and 9 deletions
|
|
@ -608,16 +608,17 @@ class BpConfig
|
|||
return $this->importedConfigs[$name];
|
||||
}
|
||||
|
||||
public function listInvolvedConfigs(&$usedConfigs = null)
|
||||
public function listInvolvedConfigs(&$configs = null)
|
||||
{
|
||||
$configs = [];
|
||||
foreach ($this->importedNodes as $node) {
|
||||
$config = $node->getBpConfig();
|
||||
$configs[] = $config;
|
||||
if ($configs === null) {
|
||||
$configs[$this->getName()] = $this;
|
||||
}
|
||||
|
||||
if (! isset($usedConfigs[$node->getConfigName()])) {
|
||||
$usedConfigs[$config->getName()] = true;
|
||||
$configs = array_merge($configs, $config->listInvolvedConfigs($usedConfigs));
|
||||
foreach ($this->importedNodes as $node) {
|
||||
if (! isset($configs[$node->getConfigName()])) {
|
||||
$config = $node->getBpConfig();
|
||||
$configs[$node->getConfigName()] = $config;
|
||||
$config->listInvolvedConfigs($configs);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -94,7 +94,6 @@ class MonitoringState
|
|||
Benchmark::measure('Retrieved states for ' . count($serviceStatus) . ' services in ' . $config->getName());
|
||||
|
||||
$configs = $config->listInvolvedConfigs();
|
||||
$configs[] = $config;
|
||||
foreach ($configs as $cfg) {
|
||||
foreach ($serviceStatus as $row) {
|
||||
$this->handleDbRow($row, $cfg);
|
||||
|
|
|
|||
Loading…
Reference in a new issue