Example #1
0
function PDQ_Report()
{
    global $model, $version;
    // extern char[];
    global $fname, $s1, $s2, $s3, $s4;
    // extern char[];
    global $streams, $nodes, $DEBUG;
    // extern int
    global $job;
    // extern JOB_TYPE *
    global $syshdr, $jobhdr, $nodhdr, $devhdr;
    $c = 0;
    // int
    $prevclass = 0;
    // int
    $clock = "";
    // time_t
    $comment = "";
    // char[BUFSIZ];
    $pc = "";
    // char *
    $tstamp = "";
    // char *
    $fillbase = 24;
    // int
    $fill = 0;
    // int
    $pad = "                       ";
    // char *
    $fp = NULL;
    // FILE *
    $allusers = 0.0;
    // double
    $p = "PDQ_Report()";
    // char *
    if ($DEBUG == 1) {
        /*debug(p, "Entering");*/
        printf("Entering PDQ_Report()\n");
    }
    $s1 = "";
    $s2 = "";
    $s3 = "";
    $s4 = "";
    $syshdr = FALSE;
    $jobhdr = FALSE;
    $nodhdr = FALSE;
    $devhdr = FALSE;
    $clock = time();
    if ($clock == -1) {
        errmsg($p, "Failed to get date");
    }
    $tstamp = strftime("%a %b %d %H:%M:%S %Y", $clock);
    //(char *) ctime(&clock);	/* 24 chars + \n\0  */
    $s1 = $tstamp;
    $fill = $fillbase - strlen($model);
    $s2 = $model;
    for ($c = 0; $c < $fill; $c++) {
        $s2 .= " ";
    }
    $fill = $fillbase - strlen($version);
    $s3 = $version;
    for ($c = 0; $c < $fill; $c++) {
        $s3 .= " ";
    }
    printf("\n\n");
    banner_stars();
    banner_chars(" Pretty Damn Quick REPORT");
    banner_stars();
    printf("\t\t***  of : %s  ***\n", $s1);
    printf("\t\t***  for: %s  ***\n", $s2);
    printf("\t\t***  Ver: %s  ***\n", $s3);
    banner_stars();
    banner_stars();
    printf("\n");
    $s1 = "";
    $s2 = "";
    $s3 = "";
    /****   append comments file ****/
    $fname = "comments.pdq";
    if (file_exists($fname)) {
        $fp = fopen($fname, "r");
        if ($fp != NULL) {
            printf("\n\n");
            banner_stars();
            banner_chars("        Comments");
            banner_stars();
            printf("\n\n");
            $comment = fgets($fp, MAXBUF);
            while ($comment != FALSE) {
                printf("%s", $comment);
                $comment = fgets($fp, MAXBUF);
            }
            fclose($fp);
        }
    }
    /* else {
       		printf("\n\n");
            banner_stars();
         		banner_chars("        Comments");
      			banner_stars();
       		printf("\nNo comments.pdq file found in the default directory!\n");
       };*/
    /* Show INPUT Parameters */
    printf("\n\n");
    banner_stars();
    banner_chars("    PDQ Model INPUTS");
    banner_stars();
    printf("\n\n");
    print_nodes();
    /* OUTPUT Statistics */
    for ($c = 0; $c < $streams; $c++) {
        switch ($job[$c]->should_be_class) {
            case TERM:
                $allusers += $job[$c]->term->pop;
                break;
            case BATCH:
                $allusers += $job[$c]->batch->pop;
                break;
            case TRANS:
                $allusers = 0.0;
                break;
            default:
                $s2 = "";
                $s2 = sprintf("Unknown job should_be_class: %d", $job[$c]->should_be_class);
                errmsg($p, $s2);
                break;
        }
    }
    /* loop over c */
    printf("\nQueueing Circuit Totals:\n\n");
    for ($c = 0; $c < $streams; $c++) {
        switch ($job[$c]->should_be_class) {
            case TERM:
                printf("\tClients:    %3.2f\n", $job[$c]->term->pop);
                break;
            case BATCH:
                printf("\tJobs:       %3.2f\n", $job[$c]->batch->pop);
                break;
            default:
                break;
        }
    }
    printf("\tStreams:    %3d\n", $streams);
    printf("\tNodes:      %3d\n", $nodes);
    printf("\n");
    printf("\n\nWORKLOAD Parameters\n\n");
    for ($c = 0; $c < $streams; $c++) {
        switch ($job[$c]->should_be_class) {
            case TERM:
                print_job($c, TERM);
                break;
            case BATCH:
                print_job($c, BATCH);
                break;
            case TRANS:
                print_job($c, TRANS);
                break;
            default:
                typetostr($s1, $job[$c]->should_be_class);
                $s2 = sprintf("Unknown job should_be_class: %s", $s1);
                errmsg($p, $s2);
                break;
        }
    }
    /* loop over $c */
    printf("\n");
    for ($c = 0; $c < $streams; $c++) {
        switch ($job[$c]->should_be_class) {
            case TERM:
                print_system_stats($c, TERM);
                break;
            case BATCH:
                print_system_stats($c, BATCH);
                break;
            case TRANS:
                print_system_stats($c, TRANS);
                break;
            default:
                typetostr($s1, $job[$c]->should_be_class);
                $s2 = sprintf("Unknown job should_be_class: %s", $s1);
                errmsg($p, $s2);
                break;
        }
    }
    /* loop over $c */
    printf("\n");
    for ($c = 0; $c < $streams; $c++) {
        switch ($job[$c]->should_be_class) {
            case TERM:
                print_node_stats($c, TERM);
                break;
            case BATCH:
                print_node_stats($c, BATCH);
                break;
            case TRANS:
                print_node_stats($c, TRANS);
                break;
            default:
                typetostr($s1, $job[$c]->should_be_class);
                $s2 = sprintf("Unknown job should_be_class: %s", $s1);
                errmsg($p, $s2);
                break;
        }
    }
    /* over $c */
    printf("\n");
    if ($DEBUG) {
        debug($p, "Exiting");
    }
}
Example #2
0
$t->startMain();
$t->startNavLinkTable();
$t->showNavLinksTable(Auth::isAdmin());
$t->endNavLinkTable();
$t->splitTable();
$scheduleid = isset($_GET['scheduleid']) ? $_GET['scheduleid'] : null;
if (!$stats->set_schedule($scheduleid)) {
    $stats->print_schedule_error();
} else {
    $stats->load_schedule();
    print_schedule_list($stats->get_schedule_list(), $stats->scheduleid);
    $stats->init();
    ob_start();
    // There is a lot of HTML being printed, so buffer the output
    print_quick_stats($stats);
    print_system_stats($stats);
    $stats->set_stats(MONTH);
    $stats->print_stats();
    $stats->set_stats(DAY_OF_WEEK);
    $stats->print_stats();
    $stats->set_stats(DAY_OF_MONTH);
    $stats->print_stats();
    $stats->set_stats(STARTTIME);
    $stats->print_stats();
    $stats->set_stats(ENDTIME);
    $stats->print_stats();
    $stats->set_stats(RESOURCE);
    $stats->print_stats();
    $stats->set_stats(USER);
    $stats->print_stats();
    ob_end_flush();