function getMetricGroup($metrics, $metric_group, $always_timestamp, $always_constant, $hostname, $baseGraphArgs, $data) { global $conf; list($metricMap, $metricGroupMap) = buildMetricMaps($metrics, $always_timestamp, $always_constant, $baseGraphArgs); //dump_var($metricMap, "metricMap"); //dump_var($metricGroupMap, "metricGroupMap"); if (!isset($metricGroupMap[$metric_group])) { error_log("Missing metric group: " . $metric_group); exit(0); } $metric_array = $metricGroupMap[$metric_group]; $num_metrics = count($metric_array); $i = 0; foreach ($metric_array as $name) { $group["metrics"][$name]["graphargs"] = $metricMap[$name]['graph']; $group["metrics"][$name]["alt"] = "{$hostname} {$name}"; $group["metrics"][$name]["host_name"] = $hostname; $group["metrics"][$name]["metric_name"] = $name; $group["metrics"][$name]["title"] = $metricMap[$name]['title']; $group["metrics"][$name]["desc"] = $metricMap[$name]['description']; $group["metrics"][$name]["new_row"] = ""; if (!(++$i % $conf['metriccols']) && $i != $num_metrics) { $group["metrics"][$name]["new_row"] = "</TR><TR>"; } } $data->assign("g_metrics", $group); }
function getMetricGroup($metrics, $metric_group, $always_timestamp, $always_constant, $hostname, $baseGraphArgs, $data) { global $conf; list($metricMap, $metricGroupMap) = buildMetricMaps($metrics, $always_timestamp, $always_constant, $baseGraphArgs); //dump_var($metricMap, "metricMap"); //dump_var($metricGroupMap, "metricGroupMap"); # There is a special case where if you don't set group when you do gmetric # invocation it gets set to no_group which ends up being just [""] array if ($metric_group == "no_group") { $metric_group = ""; } if (!isset($metricGroupMap[$metric_group])) { error_log("Missing metric group: " . $metric_group); exit(0); } $metric_array = $metricGroupMap[$metric_group]; $num_metrics = count($metric_array); if (function_exists("sort_metric_group_metrics")) { $metric_array = sort_metric_group_metrics($group, $metric_array); } else { // Sort by metric_name asort($metric_array); } $i = 0; foreach ($metric_array as $name) { $group["metrics"][$name]["graphargs"] = $metricMap[$name]['graph']; $group["metrics"][$name]["alt"] = "{$hostname} {$name}"; $group["metrics"][$name]["host_name"] = $hostname; $group["metrics"][$name]["metric_name"] = $name; $group["metrics"][$name]["title"] = $metricMap[$name]['title']; $group["metrics"][$name]["desc"] = $metricMap[$name]['description']; $group["metrics"][$name]["new_row"] = ""; if (!(++$i % $conf['metriccols']) && $i != $num_metrics) { $group["metrics"][$name]["new_row"] = "</TR><TR>"; } } $data->assign("g_metrics", $group); }
function getMetricGroups($metrics, $always_timestamp, $always_constant, $hostname, $baseGraphArgs, $data) { global $conf; $metric_groups_initially_collapsed = isset($conf['metric_groups_initially_collapsed']) ? $conf['metric_groups_initially_collapsed'] : TRUE; $remember_open_metric_groups = isset($conf['remember_open_metric_groups']) ? $conf['remember_open_metric_groups'] : TRUE; $open_groups = NULL; if (isset($_GET['metric_group']) && $_GET['metric_group'] != "") { $open_groups = explode("_|_", $_GET['metric_group']); } else { if ($remember_open_metric_groups && isset($_SESSION['metric_group']) && $_SESSION['metric_group'] != "") { $open_groups = explode("_|_", $_SESSION['metric_group']); } } // Updated definition of currently open metric groups $new_open_groups = ""; $host_metrics = 0; $metrics_group_data = array(); list($metricMap, $metricGroupMap) = buildMetricMaps($metrics, $always_timestamp, $always_constant, $baseGraphArgs); // dump_var($metricMap, "metricMap"); // dump_var($metricGroupMap, "metricGroupMap"); if (is_array($metricMap) && is_array($metricGroupMap)) { ksort($metricGroupMap); if ($open_groups == NULL) { if ($metric_groups_initially_collapsed) { $new_open_groups = "NOGROUPS"; } else { $new_open_groups = "ALLGROUPS"; } } else { $new_open_groups .= $open_groups[0]; } foreach ($metricGroupMap as $group => $metric_array) { if ($group == "") { $group = "no_group"; } $num_metrics = count($metric_array); $metrics_group_data[$group]["group_metric_count"] = $num_metrics; $host_metrics += $num_metrics; if ($open_groups == NULL) { $metrics_group_data[$group]["visible"] = !$metric_groups_initially_collapsed; } else { $inList = in_array($group, $open_groups); $metrics_group_data[$group]["visible"] = $open_groups[0] == "NOGROUPS" && $inList || $open_groups[0] == "ALLGROUPS" && !$inList; } $visible = $metrics_group_data[$group]["visible"]; if ($visible && $open_groups[0] == "NOGROUPS" || !$visible && $open_groups[0] == "ALLGROUPS") { $new_open_groups .= "_|_" . $group; } $i = 0; foreach ($metric_array as $name) { $metrics_group_data[$group]["metrics"][$name]["graphargs"] = $metricMap[$name]['graph']; $metrics_group_data[$group]["metrics"][$name]["alt"] = "{$hostname} {$name}"; $metrics_group_data[$group]["metrics"][$name]["host_name"] = $hostname; $metrics_group_data[$group]["metrics"][$name]["metric_name"] = $name; $metrics_group_data[$group]["metrics"][$name]["title"] = $metricMap[$name]['title']; $metrics_group_data[$group]["metrics"][$name]["desc"] = $metricMap[$name]['description']; $metrics_group_data[$group]["metrics"][$name]["new_row"] = ""; if (!(++$i % $conf['metriccols']) && $i != $num_metrics) { $metrics_group_data[$group]["metrics"][$name]["new_row"] = "</TR><TR>"; } } } } $data->assign("host_metrics_count", $host_metrics); $_SESSION['metric_group'] = $new_open_groups; $data->assign("g_metrics_group_data", $metrics_group_data); $data->assign("g_open_metric_groups", $new_open_groups); }