Beispiel #1
0
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);
}
Beispiel #3
0
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);
}