From 355de3b9bd4d451bd2fccfa78315f8d205ac9725 Mon Sep 17 00:00:00 2001 From: miguel angel rasteu Date: Wed, 13 Sep 2023 11:41:41 +0200 Subject: [PATCH] #11495 Fix service level detail function --- pandora_console/include/functions_modules.php | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/pandora_console/include/functions_modules.php b/pandora_console/include/functions_modules.php index 410cc036f7..07690151e4 100755 --- a/pandora_console/include/functions_modules.php +++ b/pandora_console/include/functions_modules.php @@ -4784,6 +4784,7 @@ function service_level_module_data($datetime_from, $datetime_to, $id_agentmodule $data['availability'] = false; $availability = 0; + $type = ''; $uncompressed_data = db_uncompress_module_data( $id_agentmodule, @@ -4796,6 +4797,10 @@ function service_level_module_data($datetime_from, $datetime_to, $id_agentmodule foreach ($data_module['data'] as $subdata) { if (!empty($subdata['datos'])) { $first_utimestamp = $subdata['utimestamp']; + if (isset($subdata['type'])) { + $type = $subdata['type']; + } + break; } } @@ -4862,8 +4867,19 @@ function service_level_module_data($datetime_from, $datetime_to, $id_agentmodule } // hd($availability, true); - $mtbf = round(( $total_time_failed / count($mtbf_array))); - $mtrs = round((array_sum($mtrs_array) / count($mtrs_array))); + if (count($mtbf_array) > 1) { + $mtbf = round(( $total_time_failed / count($mtbf_array))); + } else { + $mtbf = false; + } + + if (count($mtrs_array) === 1 && (string) $first_utimestamp !== '0' && $type === 0) { + $mtrs = round($total_time_failed / count($mtrs_array)); + } else if (count($mtrs_array) > 1 && (string) $first_utimestamp !== '0') { + $mtrs = round((array_sum($mtrs_array) / count($mtrs_array))); + } else { + $mtrs = false; + } $data['mtbf'] = $mtbf; $data['mtrs'] = $mtrs;