Exemplo n.º 1
0
            }
        }
    }
}
page_header($title);
# list of software packages
$packages = software_list();
# regular expressions for different software packages
$pkgmatch = software_match_list();
$keys = array_keys($_POST);
if (isset($_POST['system'])) {
    $db = db_connect();
    foreach ($keys as $key) {
        if ($key != 'system' && $key != 'start_date' && $key != 'end_date') {
            echo "<H3><CODE>" . $key . "</CODE></H3>\n";
            $sql = "SELECT " . xaxis_column("month") . ", COUNT(jobid) AS jobcount, SUM(nproc*TIME_TO_SEC(walltime))/3600.0 AS cpuhours, SUM(TIME_TO_SEC(cput))/3600.0 AS cpuhours_alt, COUNT(DISTINCT(username)) AS users, COUNT(DISTINCT(groupname)) AS groups FROM Jobs WHERE system LIKE '" . $_POST['system'] . "' AND ( ";
            if (isset($pkgmatch[$key])) {
                $sql .= $pkgmatch[$key];
            } else {
                $sql .= "script LIKE '%" . $key . "%' OR software LIKE '%" . $key . "%'";
            }
            $sql .= " ) AND ( " . dateselect("start", $_POST['start_date'], $_POST['end_date']) . " ) GROUP BY month;";
            #echo "<PRE>".htmlspecialchars($sql)."</PRE>";
            $result = db_query($db, $sql);
            echo "<TABLE border=1>\n";
            echo "<TR><TH>month</TH><TH>jobcount</TH><TH>cpuhours</TH><TH>cpuhours_alt</TH><TH>users</TH><TH>groups</TH></TR>\n";
            while ($result->fetchInto($row)) {
                $rkeys = array_keys($row);
                echo "<TR>";
                foreach ($rkeys as $rkey) {
                    $data[$rkey] = array_shift($row);
Exemplo n.º 2
0
function get_bucketed_metric($db, $system, $xaxis, $metric, $start_date, $end_date)
{
    $query = "SELECT " . xaxis_column($xaxis) . ",COUNT(jobid) AS jobcount";
    if (columns($metric, $system) != "") {
        $query .= "," . columns($metric, $system);
    }
    if ($xaxis == "walltime" || $xaxis == "walltime_req") {
        $query .= ",MIN(TIME_TO_SEC(" . $xaxis . ")) AS hidden";
    } elseif ($xaxis == "nproc_bucketed") {
        $query .= ",MIN(nproc) AS hidden";
    } else {
        $query .= ",MIN(" . $xaxis . ") AS hidden";
    }
    $query .= " FROM Jobs WHERE (" . sysselect($system) . ") AND (" . dateselect("start", $start_date, $end_date) . ")";
    if (clause($xaxis, $metric) != "") {
        $query .= " AND " . clause($xaxis, $metric);
    }
    if ($xaxis == "nproc_bucketed") {
        $query .= " GROUP BY nproc";
    } else {
        $query .= " GROUP BY " . $xaxis;
    }
    $query .= " ORDER BY hidden;";
    #print "<PRE>".$query."</PRE>\n";
    return db_query($db, $query);
}
            }
        }
    }
}
page_header($title);
# list of software packages
$packages = software_list();
# regular expressions for different software packages
$pkgmatch = software_match_list();
$keys = array_keys($_POST);
if (isset($_POST['system'])) {
    $db = db_connect();
    foreach ($keys as $key) {
        if ($key != 'system' && $key != 'start_date' && $key != 'end_date') {
            echo "<H3><CODE>" . $key . "</CODE></H3>\n";
            $sql = "SELECT " . xaxis_column("walltime") . ",COUNT(jobid) AS jobcount, SUM(nproc*TIME_TO_SEC(walltime))/3600.0 AS cpuhours, SUM(TIME_TO_SEC(cput))/3600.0 AS cpuhours_alt,MIN(TIME_TO_SEC(walltime)) AS hidden FROM Jobs WHERE system LIKE '" . $_POST['system'] . "' AND username IS NOT NULL AND ( script IS NOT NULL AND ";
            if (isset($pkgmatch[$key])) {
                $sql .= $pkgmatch[$key];
            } else {
                $sql .= "script LIKE '%" . $key . "%' OR software LIKE '%" . $key . "%'";
            }
            $sql .= " ) AND ( " . dateselect("start", $_POST['start_date'], $_POST['end_date']) . " ) GROUP BY walltime UNION SELECT 'TOTAL:' AS walltime,COUNT(jobid) AS jobcount, SUM(nproc*TIME_TO_SEC(walltime))/3600.0 AS cpuhours, SUM(TIME_TO_SEC(cput))/3600.0 AS alt_cpuhours, 100000000 AS hidden FROM Jobs WHERE system LIKE '" . $_POST['system'] . "' AND username IS NOT NULL AND ( ";
            if (isset($pkgmatch[$key])) {
                $sql .= $pkgmatch[$key];
            } else {
                $sql .= "script LIKE '%" . $key . "%' OR software LIKE '%" . $key . "%'";
            }
            $sql .= " ) AND ( " . dateselect("start", $_POST['start_date'], $_POST['end_date']) . " ) ORDER BY hidden;";
            #echo "<PRE>".htmlspecialchars($sql)."</PRE>";
            $result = db_query($db, $sql);
            echo "<TABLE border=1>\n";