Changeset 117 for trunk/web/addons/toga/overview.php
- Timestamp:
- 05/31/05 16:13:43 (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/web/addons/toga/overview.php
r116 r117 1 1 <?php 2 3 $my_dir = getcwd(); 4 5 include_once "./libtoga.php"; 6 7 global $GANGLIA_PATH; 8 chdir( $GANGLIA_PATH ); 9 include_once "./class.TemplatePower.inc.php"; 10 chdir( $my_dir ); 11 12 $httpvars = new HTTPVariables( $HTTP_GET_VARS ); 13 $clustername = $httpvars->getClusterName(); 14 printf( "clustername = %s\n", $clustername ); 15 $queue_select = $httpvars->getHttpVar( "queue" ); 16 printf( "queue = %s\n", $queue ); 2 global $GANGLIA_PATH, $clustername, $tpl; 17 3 18 4 $data_gatherer = new DataGatherer(); 19 5 20 $tpl = new TemplatePower("templates/overview.tpl"); 21 $tpl->prepare(); 22 23 $tpl->assign( "self", "./index.php" ); 6 //$tpl->assign( "self", "./index.php" ); 24 7 $tpl->assign( "clustername", $clustername ); 25 26 8 $tpl->assign( "clusterimage", "./image.php?c=".rawurlencode($clustername)."&view=big-clusterimage" ); 27 9 28 10 $data_gatherer->parseXML(); 11 29 12 $heartbeat = $data_gatherer->getHeartbeat(); 30 13 $jobs = $data_gatherer->getJobs(); … … 214 197 } 215 198 216 foreach( $jobs as $jobid => $jobattrs ) { 217 218 $report_time = $jobattrs[reported]; 219 220 if( $report_time == $heartbeat ) { 221 222 $tpl->newBlock("node"); 223 $tpl->assign( "clustername", $clustername ); 224 $tpl->assign("id", $jobid ); 225 $tpl->assign("state", $jobattrs[status] ); 226 $tpl->assign("user", $jobattrs[owner] ); 227 $tpl->assign("queue", $jobattrs[queue] ); 228 $tpl->assign("name", $jobattrs[name] ); 229 $tpl->assign("req_cpu", $jobattrs[requested_time] ); 230 $tpl->assign("req_memory", $jobattrs[requested_memory] ); 231 $nodes = count( $jobattrs[nodes] ); 232 $ppn = (int) $jobattrs[ppn] ? $jobattrs[ppn] : 1; 233 $cpus = $nodes * $ppn; 234 $tpl->assign("nodes", $nodes ); 235 $tpl->assign("cpus", $cpus ); 236 $start_time = (int) $jobattrs[start_timestamp]; 237 238 if( $start_time ) { 239 240 $runningtime = makeTime( $report_time - $start_time ); 241 $tpl->assign("started", makeDate( $start_time ) ); 242 $tpl->assign("runningtime", $runningtime ); 199 200 function sortJobs( $jobs, $sortby, $sortorder ) { 201 202 $sorted = array(); 203 204 $cmp = create_function( '$a, $b', 205 "global \$sortby, \$sortorder;". 206 207 "if( \$a == \$b ) return 0;". 208 209 "if (\$sortorder==\"desc\")". 210 "return ( \$a < \$b ) ? 1 : -1;". 211 "else if (\$sortorder==\"asc\")". 212 "return ( \$a > \$b ) ? 1 : -1;" ); 213 214 foreach( $jobs as $jobid => $jobattrs ) { 215 216 $state = $jobattrs[status]; 217 $user = $jobattrs[owner]; 218 $queue = $jobattrs[queue]; 219 $name = $jobattrs[name]; 220 $req_cpu = $jobattrs[requested_time]; 221 $req_memory = $jobattrs[requested_memory]; 222 $nodes = count( $jobattrs[nodes] ); 223 $ppn = (int) $jobattrs[ppn] ? $jobattrs[ppn] : 1; 224 $cpus = $nodes * $ppn; 225 $start_time = (int) $jobattrs[start_timestamp]; 226 $runningtime = $report_time - $start_time; 227 228 switch( $sortby ) { 229 case "id": 230 $sorted[$jobid] = $jobid; 231 break; 232 233 case "state": 234 $sorted[$jobid] = $state; 235 break; 236 237 case "user": 238 $sorted[$jobid] = $user; 239 break; 240 241 case "queue": 242 $sorted[$jobid] = $queue; 243 break; 244 245 case "name": 246 $sorted[$jobid] = $name; 247 break; 248 249 case "req_cpu": 250 $sorted[$jobid] = $req_cpu; 251 break; 252 253 case "req_mem": 254 $sorted[$jobid] = $req_memory; 255 break; 256 257 case "nodes": 258 $sorted[$jobid] = $nodes; 259 break; 260 261 case "cpus": 262 $sorted[$jobid] = $cpus; 263 break; 264 265 case "start": 266 $sorted[$jobid] = $start_time; 267 break; 268 269 case "runningtime": 270 $sorted[$jobid] = $runningtime; 271 break; 272 273 default: 274 break; 275 276 } 277 } 278 279 uasort( $sorted, $cmp ); 280 281 return $sorted; 282 } 283 284 function makeOverview() { 285 286 global $jobs, $nodes, $heartbeat, $clustername, $tpl; 287 global $sortorder, $sortby; 288 289 $tpl->assign("sortorder", $sortorder ); 290 $tpl->assign("sortby", $sortby ); 291 292 293 $sorted_jobs = sortJobs( $jobs, $sortby, $sortorder ); 294 295 foreach( $sorted_jobs as $jobid => $sortdec ) { 296 297 $report_time = $jobs[$jobid][reported]; 298 299 if( $report_time == $heartbeat ) { 300 301 $tpl->newBlock("node"); 302 $tpl->assign( "clustername", $clustername ); 303 $tpl->assign("id", $jobid ); 304 $tpl->assign("state", $jobs[$jobid][status] ); 305 $tpl->assign("user", $jobs[$jobid][owner] ); 306 $tpl->assign("queue", $jobs[$jobid][queue] ); 307 $tpl->assign("name", $jobs[$jobid][name] ); 308 $tpl->assign("req_cpu", $jobs[$jobid][requested_time] ); 309 $tpl->assign("req_memory", $jobs[$jobid][requested_memory] ); 310 $nodes = count( $jobs[$jobid][nodes] ); 311 $ppn = (int) $jobs[$jobid][ppn] ? $jobs[$jobid][ppn] : 1; 312 $cpus = $nodes * $ppn; 313 $tpl->assign("nodes", $nodes ); 314 $tpl->assign("cpus", $cpus ); 315 $start_time = (int) $jobs[$jobid][start_timestamp]; 316 317 if( $start_time ) { 318 319 $runningtime = makeTime( $report_time - $start_time ); 320 $tpl->assign("started", makeDate( $start_time ) ); 321 $tpl->assign("runningtime", $runningtime ); 322 } 243 323 } 244 324 } 245 325 } 246 247 $tpl->printToScreen();248 249 326 ?>
Note: See TracChangeset
for help on using the changeset viewer.