#11494 Fix service_level_module_data function
This commit is contained in:
parent
3dff4c5083
commit
1c996190f4
|
@ -4776,19 +4776,37 @@ function export_agents_module_csv($filters)
|
||||||
*
|
*
|
||||||
* @return array Returns an array with the data
|
* @return array Returns an array with the data
|
||||||
*/
|
*/
|
||||||
function service_level_module_data($interval_start, $interval_end, $id_agentmodule)
|
function service_level_module_data($datetime_from, $datetime_to, $id_agentmodule)
|
||||||
{
|
{
|
||||||
$data = [];
|
$data = [];
|
||||||
$data['mtbf'] = false;
|
$data['mtbf'] = false;
|
||||||
$data['mtrs'] = false;
|
$data['mtrs'] = false;
|
||||||
$data['availability'] = false;
|
$data['availability'] = false;
|
||||||
|
|
||||||
$interval_time = ($interval_end - $interval_start);
|
$availability = 0;
|
||||||
|
|
||||||
|
$uncompressed_data = db_uncompress_module_data(
|
||||||
|
$id_agentmodule,
|
||||||
|
$datetime_from,
|
||||||
|
$datetime_to
|
||||||
|
);
|
||||||
|
|
||||||
|
$first_utimestamp = 0;
|
||||||
|
foreach ($uncompressed_data as $data_module) {
|
||||||
|
foreach ($data_module['data'] as $subdata) {
|
||||||
|
if (!empty($subdata['datos'])) {
|
||||||
|
$first_utimestamp = $subdata['utimestamp'];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$interval_time = ($datetime_to - $datetime_from);
|
||||||
$current_time = time();
|
$current_time = time();
|
||||||
$sql = 'SELECT utimestamp, event_type FROM tevento
|
$sql = 'SELECT utimestamp, event_type FROM tevento
|
||||||
WHERE id_agentmodule = '.$id_agentmodule.'
|
WHERE id_agentmodule = '.$id_agentmodule.'
|
||||||
AND utimestamp >= '.$interval_start.'
|
AND utimestamp >= '.$datetime_from.'
|
||||||
AND utimestamp <= '.$interval_end.'
|
AND utimestamp <= '.$datetime_to.'
|
||||||
ORDER BY utimestamp DESC';
|
ORDER BY utimestamp DESC';
|
||||||
|
|
||||||
$events_time = db_get_all_rows_sql($sql);
|
$events_time = db_get_all_rows_sql($sql);
|
||||||
|
@ -4836,17 +4854,14 @@ function service_level_module_data($interval_start, $interval_end, $id_agentmodu
|
||||||
$total_time_failed = array_sum($mtbf_array);
|
$total_time_failed = array_sum($mtbf_array);
|
||||||
$total_time_ok = ($interval_time - $total_time_failed);
|
$total_time_ok = ($interval_time - $total_time_failed);
|
||||||
if (count($events_time) === 1) {
|
if (count($events_time) === 1) {
|
||||||
if ($events_time[0]['event_type'] === 'going_up_critical') {
|
if ((string) $first_utimestamp !== '0') {
|
||||||
$availability = '0';
|
$availability = round((($total_time_ok / $interval_time) * 100), 2);
|
||||||
}
|
|
||||||
|
|
||||||
if ($events_time[0]['event_type'] === 'going_down_normal') {
|
|
||||||
$availability = '100';
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$availability = round((($total_time_ok / $interval_time) * 100), 2);
|
$availability = round((($total_time_ok / $interval_time) * 100), 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// hd($availability, true);
|
||||||
$mtbf = round(( $total_time_failed / count($mtbf_array)));
|
$mtbf = round(( $total_time_failed / count($mtbf_array)));
|
||||||
$mtrs = round((array_sum($mtrs_array) / count($mtrs_array)));
|
$mtrs = round((array_sum($mtrs_array) / count($mtrs_array)));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue