Ignore:
Timestamp:
06/06/05 17:42:59 (18 years ago)
Author:
bastiaans
Message:

web/addons/toga/overview.php:

  • Added filters for pie chart
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/web/addons/toga/overview.php

    r126 r127  
    2525
    2626if( array_key_exists( "id", $filter ) )
    27         $pie = drawJobPie();
     27        $piefilter = 'id';
    2828else if( array_key_exists( "user", $filter ) )
    29         $pie = drawUserPie();
     29        $piefilter = 'user';
    3030else if( array_key_exists( "queue", $filter ) )
    31         $pie = drawQueuePie();
    32 else
    33         $pie = drawClusterPie();
    34 
     31        $piefilter = 'queue';
     32
     33$pie = drawPie();
    3534$tpl->assign("pie", $pie );
    3635
     
    190189
    191190
    192 function drawClusterPie() {
    193 
    194         global $jobs, $gnodes;
     191function drawPie() {
     192
     193        global $jobs, $gnodes, $piefilter, $filter;
    195194
    196195        $nodes = $gnodes;
    197        
    198         $pie_args = "title=" . rawurlencode("Cluster queue usage");
     196
     197        if( isset($piefilter) )
     198                $pie_args = "title=" . rawurlencode("Cluster ".$piefilter." usage");
     199        else
     200                $pie_args = "title=" . rawurlencode("Cluster queue usage");
     201               
    199202        $pie_args .= "&size=250x150";
    200203
     
    219222        $job_percentage = 100 - $empty_percentage;
    220223
     224        $qcolors = array();
    221225        $color = randomColor( $qcolors );
    222226        $qcolors[] = $color;
    223227        $pie_args .= "&free=$empty_percentage,$color";
     228
     229        if( isset( $piefilter ) )
     230                $filterpie = array();
    224231
    225232        foreach( $nodes as $node ) {
     
    237244                        $qname = $jobs[$myjob][queue];
    238245
    239                         if( !isset( $queues[$qname] ) )
    240                                 $queues[$qname] = $job_weight[$myjob];
    241                         else
    242                                 $queues[$qname] = $queues[$qname] + $job_weight[$myjob];
     246                        if( isset($piefilter) ) {
     247                                $countjob = 1;
     248                                if( $piefilter == 'id' ) {
     249                                        if( $myjob != $filter[$piefilter] )
     250                                                $countjob = 0;
     251                                } else if( $piefilter == 'user' ) {
     252                                        if( $jobs[$myjob][owner] != $filter[$piefilter] )
     253                                                $countjob = 0;
     254                                } else {
     255                                        if( $jobs[$myjob][$piefilter] != $filter[$piefilter] )
     256                                                $countjob = 0;
     257                                }
     258
     259                                if( $countjob ) {
     260
     261                                        if( !isset( $filterpie[$filter[$piefilter]] ) )
     262                                                $filterpie[$filter[$piefilter]] = $job_weight[$myjob];
     263                                        else
     264                                                $filterpie[$filter[$piefilter]] = $filterpie[$filter[$piefilter]] + $job_weight[$myjob];
     265                                } else {
     266                                        if( !isset( $filterpie["other"] ) )
     267                                                $filterpie["other"] = $job_weight[$myjob];
     268                                        else
     269                                                $filterpie["other"] = $filterpie["other"] + $job_weight[$myjob];
     270
     271                                }
     272                               
     273                        } else {
     274
     275                                if( !isset( $queues[$qname] ) )
     276                                        $queues[$qname] = $job_weight[$myjob];
     277                                else
     278                                        $queues[$qname] = $queues[$qname] + $job_weight[$myjob];
     279                        }
    243280                }
    244281        }
    245282
    246         $qcolors = array();
    247         foreach( $queues as $queue => $totalweight) {
     283        //$qcolors = array();
     284        if( isset( $piefilter ) )
     285                $graphvals = $filterpie;
     286        else
     287                $graphvals = $queues;
     288
     289        foreach( $graphvals as $name => $totalweight) {
    248290
    249291                $percentage = ( $totalweight / $used_nodes ) * $job_percentage;
     
    251293                $color = randomColor( $qcolors );
    252294                $qcolors[] = $color;
    253                 $pie_args .= "&$queue=$percentage,$color";
     295                $pie_args .= "&$name=$percentage,$color";
    254296        }
    255297        $pie = "../../pie.php?$pie_args";
     
    348390        global $sortorder, $sortby, $filter, $sh, $hc, $m;
    349391        global $cluster_url, $get_metric_string, $host_url, $metrics;
    350         global $start, $end, $reports;
     392        global $start, $end, $reports, $gnodes;
    351393
    352394        $metricname = $m;
     
    463505                //$tpl->assign("cluster", $clustername);
    464506                $tpl->assign("metric","$metricname $units");
    465                 $tpl->assign("id", $id);
     507                $tpl->assign("id", $filter[id]);
    466508                # Host columns menu defined in header.php
    467509                $tpl->assign("cols_menu", $cols_menu);
Note: See TracChangeset for help on using the changeset viewer.