Changeset 409
- Timestamp:
- 07/06/07 14:16:44 (16 years ago)
- Location:
- trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/jobmond/jobmond.py
r388 r409 327 327 return incompatible 328 328 329 def multicastGmetric( self, metricname, metricval, valtype='string' ):329 def multicastGmetric( self, metricname, metricval, valtype='string', units='' ): 330 330 331 331 """Call gmetric binary and multicast""" … … 348 348 gm = Gmetric( GMETRIC_TARGET_HOST, GMETRIC_TARGET_PORT ) 349 349 350 gm.send( str( metricname ), str( metricval ), str( self.dmax ) )350 gm.send( str( metricname ), str( metricval ), str( self.dmax ), units ) 351 351 352 352 else: … … 359 359 360 360 cmd = cmd + ' -n' + str( metricname )+ ' -v"' + str( metricval )+ '" -t' + str( valtype ) + ' -d' + str( self.dmax ) 361 362 if len( units ) > 0: 363 364 cmd = cmd + ' -u"' + units + '"' 361 365 362 366 debug_msg( 10, printTime() + ' ' + cmd ) … … 776 780 self.dp.multicastGmetric( 'MONARCH-HEARTBEAT', str( int( int( self.cur_time ) + int( self.timeoffset ) ) ) ) 777 781 782 running_jobs = 0 783 queued_jobs = 0 784 785 for jobid, jobattrs in self.jobs.items(): 786 787 if jobattrs[ 'status' ] == 'Q': 788 789 queued_jobs += 1 790 791 elif jobattrs[ 'status' ] == 'R': 792 793 running_jobs += 1 794 795 self.dp.multicastGmetric( 'MONARCH-RJ', str( running_jobs ), 'uint32', 'jobs' ) 796 self.dp.multicastGmetric( 'MONARCH-QJ', str( queued_jobs ), 'uint32', 'jobs' ) 797 778 798 # Now let's spread the knowledge 779 799 # … … 922 942 return 'udp' 923 943 924 def send( self, name, value, dmax ): 925 926 msg = self.makexdr( name, value, self.type, self.unitstr, self.slopestr, self.tmax, dmax ) 944 def send( self, name, value, dmax, units = '' ): 945 946 if len( units ) == 0: 947 units = self.unitrs 948 949 msg = self.makexdr( name, value, self.type, units, self.slopestr, self.tmax, dmax ) 927 950 928 951 return self.socket.sendto( msg, self.hostport ) -
trunk/web/addons/job_monarch/graph.php
r231 r409 23 23 */ 24 24 25 include_once "./libtoga.php"; 25 global $metrics, $rrds, $range, $start, $r; 26 $range = $r; 27 28 include "./libtoga.php"; 26 29 27 30 if ( !empty( $_GET ) ) { 28 31 extract( $_GET ); 29 32 } 33 34 //printf( "st%s\n", $st); 35 $sourcetime = $st; 36 //printf( "st%s\n", $sourcetime); 37 38 //printf( "%s\n", $rrds ); 39 //printf( "r%s\n", $range); 40 //printf( "s %s\n", $start); 41 //printf( "e %s\n", $end); 30 42 31 43 # Graph specific variables … … 39 51 $load_color = escapeshellcmd( rawurldecode( $HTTP_GET_VARS["l"] )); 40 52 $vlabel = escapeshellcmd( rawurldecode( $HTTP_GET_VARS["vl"] )); 41 $sourcetime = escapeshellcmd($HTTP_GET_VARS["st"]);53 //$sourcetime = escapeshellcmd($HTTP_GET_VARS["st"]); 42 54 43 55 $cluster = $c; … … 120 132 $def_nr++; 121 133 } 134 135 } else if ($graph == "job_report") { 136 $style = "Jobs"; 137 138 //$upper_limit = "--upper-limit 100 --rigid"; 139 $lower_limit = "--lower-limit 0 --rigid"; 140 $vertical_label = "--vertical-label Jobs"; 141 142 $def_nr = 0; 143 144 foreach( $metrics as $bhost => $bmetric ) 145 { 146 foreach( $bmetric as $mname => $mval ) 147 { 148 if( ( $mname == 'MONARCH-RJ' ) || ($mname == 'MONARCH-QJ') ) 149 { 150 $rjqj_host = $bhost; 151 } 152 } 153 } 154 155 $rrd_dir = "$rrds/$clustername/$rjqj_host/"; 156 157 $rj_rrd = $rrd_dir . "MONARCH-RJ.rrd"; 158 $qj_rrd = $rrd_dir . "MONARCH-QJ.rrd"; 159 160 $sorted_hosts = array(); 161 $sorted_hosts[] = $rjqj_host; 162 163 //printf( "rjqjh %s\n", $rjqj_host); 164 165 //printf( "rrdd %s\n", $rrd_dir ); 166 167 $rj_str = ":'Running Jobs'"; 168 $qj_str = ":'Queued Jobs'"; 169 170 $series .= "DEF:'running_jobs'='${rj_rrd}':'sum':AVERAGE " 171 ."DEF:'queued_jobs'='${qj_rrd}':'sum':AVERAGE " 172 173 174 ."LINE3:'running_jobs'#ff0000${rj_str} " 175 ."LINE3:'queued_jobs'#999999${qj_str} "; 122 176 123 177 } else if ($graph == "mem_report") { … … 435 489 $lower_limit = "--lower-limit 0"; 436 490 491 # Calculate time range. 492 if( isset($sourcetime) ) 493 { 494 //printf("yay"); 495 496 $end = $sourcetime; 497 # Get_context makes start negative. 498 $start = $sourcetime + $start; 499 500 # Fix from Phil Radden, but step is not always 15 anymore. 501 if ($range=="month") 502 $end = floor($end / 672) * 672; 503 504 $command = RRDTOOL . " graph - --start $start --end $end ". 505 "--width $width --height $height $lower_limit ". 506 "--title '$title' $extras $background ". 507 $series; 508 } 509 437 510 # 438 511 # Generate the rrdtool graph command. … … 442 515 # "--title '$title' $vertical_label $extras $background $xgrid ". 443 516 # $series; 444 $command = RRDTOOL . " graph - --start $period_start --end $period_stop ". 445 "--width $width --height $height $lower_limit ". 446 "--title '$title' $extras $background ". 447 $series; 517 518 else { 519 $command = RRDTOOL . " graph - --start $period_start --end $period_stop ". 520 "--width $width --height $height $lower_limit ". 521 "--title '$title' $extras $background ". 522 $series; 523 } 448 524 449 525 $debug=0; -
trunk/web/addons/job_monarch/index.php
r406 r409 26 26 set_time_limit(0); 27 27 28 29 $my_dir = getcwd(); 30 31 global $r, $range; 32 33 include_once "./libtoga.php"; 34 28 35 if ( !empty( $_GET ) ) { 29 36 extract( $_GET ); 30 37 } 31 38 32 $my_dir = getcwd(); 33 34 include_once "./libtoga.php"; 39 //printf( "r2%s\n", $range ); 35 40 36 41 global $GANGLIA_PATH; … … 102 107 global $default_refresh, $filterorder, $view; 103 108 global $JOB_ARCHIVE, $period_start, $period_stop, $h, $id; 104 global $job_start, $job_stop ;109 global $job_start, $job_stop, $range, $r; 105 110 106 111 if( isset($default_metric) and !isset($m) ) … … 287 292 $tpl->assignGlobal("view", $view); 288 293 294 289 295 if( array_key_exists( "id", $filter ) or isset($hostname) ) { 296 297 $range = "job"; 290 298 291 299 //print_r( $context_metrics ); … … 293 301 if (is_array($context_metrics) ) { 294 302 $metric_menu = "<B>Metric</B> " 295 ."<SELECT NAME=\"m\" OnChange=\" ".$form_name.".submit();\">\n";303 ."<SELECT NAME=\"m\" OnChange=\"toga_form.submit();\">\n"; 296 304 297 305 sort($context_metrics); … … 332 340 //$ex_fn = $tpl->getVarValue( "_ROOT", "form_name" ); 333 341 342 $context_ranges[]="hour"; 343 $context_ranges[]="day"; 344 $context_ranges[]="week"; 345 $context_ranges[]="month"; 346 $context_ranges[]="year"; 347 $context_ranges[]="job"; 348 349 $range_menu = "<B>Last</B> " ."<SELECT NAME=\"r\" OnChange=\"toga_form.submit();\">\n"; 350 foreach ($context_ranges as $v) { 351 $url=rawurlencode($v); 352 $range_menu .= "<OPTION VALUE=\"$url\" "; 353 if ($v == $range) 354 $range_menu .= "SELECTED"; 355 $range_menu .= ">$v\n"; 356 } 357 $range_menu .= "</SELECT>\n"; 358 359 $tpl->assign("range_menu", $range_menu); 360 334 361 if( $view == "search" or $view == "host" ) { 335 362 -
trunk/web/addons/job_monarch/libtoga.php
r405 r409 95 95 include_once "./ganglia.php"; 96 96 include_once "./get_context.php"; 97 unset( $start );97 //unset( $start ); 98 98 $context = 'cluster'; 99 99 include_once "./get_ganglia.php"; … … 117 117 // 118 118 global $metrics, $hosts_up; 119 global $range, $start; 119 120 120 121 global $DATETIME_FORMAT; -
trunk/web/addons/job_monarch/overview.php
r406 r409 25 25 global $GANGLIA_PATH, $clustername, $tpl, $filter, $cluster, $get_metric_string, $cluster_url, $sh; 26 26 global $hosts_up, $m, $start, $end, $filterorder, $COLUMN_REQUESTED_MEMORY, $COLUMN_QUEUED, $COLUMN_NODES, $hostname, $piefilter; 27 global $longtitle, $title ;27 global $longtitle, $title, $range; 28 28 29 29 $tpl->assign( "clustername", $clustername ); … … 502 502 { 503 503 global $jobs, $nodes, $heartbeat, $clustername, $tpl; 504 global $sortorder, $sortby, $filter, $sh, $hc, $m ;504 global $sortorder, $sortby, $filter, $sh, $hc, $m, $range; 505 505 global $cluster_url, $get_metric_string, $host_url, $metrics; 506 506 global $start, $end, $reports, $gnodes, $default_showhosts; 507 507 global $COLUMN_QUEUED, $COLUMN_REQUESTED_MEMORY, $COLUMN_NODES, $hostname; 508 global $cluster; 508 509 509 510 $metricname = $m; … … 567 568 $last_displayed_job = null; 568 569 569 foreach( $metrics as $bhost => $bmetric ) 570 { 571 foreach( $bmetric as $mname => $mval ) 572 { 573 if( ( $mname == 'MONARCH-RJ' ) || ($mname == 'MONARCH-QJ') ) 574 { 575 $rjqj_host = $bhost; 576 } 577 } 578 } 579 //$rjqj_str = "<IMG SRC=\"../../graph.php?z=small&c=$cluster_url&h=$rjqj_host&m=MONARCH-QJ&r=job&jr=$jobrange&js=$jobstart\">"; 580 //printf( $rjqj_str, '' ); 570 $rjqj_str = "<IMG SRC=\"./graph.php?z=small&c=$clustername&g=job_report&r=$range&st=$cluster[LOCALTIME]\">"; 571 572 $tpl->gotoBlock( "_ROOT" ); 573 574 $tpl->assign( "rjqj_graph", $rjqj_str ); 581 575 582 576 foreach( $sorted_jobs as $jobid => $sortdec ) -
trunk/web/addons/job_monarch/templates/overview.tpl
r346 r409 6 6 7 7 <TD> 8 8 9 9 10 <TABLE ALIGN=CENTER class="overview" cellpadding="5"> … … 111 112 112 113 </TABLE> 114 115 <BR> 116 {rjqj_graph} 113 117 114 118 <TD ALIGN="CENTER"><CENTER> -
trunk/web/addons/job_monarch/version.php
r333 r409 22 22 */ 23 23 24 $monarchversion = "0.2 +SVN";24 $monarchversion = "0.2.1+SVN"; 25 25 ?>
Note: See TracChangeset
for help on using the changeset viewer.