';
+
+ //table header
+ $messageTable.='';
+ $messageTable.='Resource | ';
+ $messageTable.='In Control Runs | ';
+ $messageTable.='Out Of Control Runs | ';
+ $messageTable.='No Control Information Runs | ';
+ $messageTable.='Failed Runs | ';
+ $messageTable.='Total Runs | ';
+ $messageTable.='
';
+
+ $tdStyle=Report::$tdStyle;
+ foreach ($tdStyle as $k => $v)
+ {
+ $tdStyle[$k]=substr($v, 0, -1);
+ $tdStyle[$k].='"';
+ $tdStyle[$k].='align="right"';
+ }
+ foreach ($runsStatus as $resource => $val0)
+ {
+ $inControlRuns=0;
+ $outOfControlRuns=0;
+ $noControlInfoRuns=0;
+ $failedRuns=0;
+ $totalRuns=0;
+ foreach ($val0 as $appKer => $val1)
+ {
+ foreach ($val1 as $problemSize => $taskStateGroups)
+ {
+ foreach ($days as $rec_date)
+ {
+ $totalRuns2=count($taskStateGroups[$rec_date]->tasks);
+ $totalRuns+=$totalRuns2;
+ if($totalRuns2>0)
+ {
+ $inControlRuns+=count($taskStateGroups[$rec_date]->inControlRuns);
+ $outOfControlRuns+=count($taskStateGroups[$rec_date]->underPerformingRuns);
+ $noControlInfoRuns+=count($taskStateGroups[$rec_date]->noControlInfoRuns);
+ $failedRuns+=count($taskStateGroups[$rec_date]->failedRuns);
+ }
+ }
+ }
+ }
+ $messageTable.='';
+ if($totalRuns>0)
+ {
+ $messageTable.=''.$resource.' | ';
+ if($inControlRuns>0) $messageTable.='';
+ else $messageTable.=' | ';
+ $messageTable.=$inControlRuns.sprintf(' (%\'@5.1f%%)',100.0*$inControlRuns/$totalRuns).' | ';
+
+ if($outOfControlRuns>0) $messageTable.='';
+ else $messageTable.=' | ';
+ $messageTable.=$outOfControlRuns.sprintf(' (%\'@5.1f%%)',100.0*$outOfControlRuns/$totalRuns).' | ';
+
+ if($noControlInfoRuns>0) $messageTable.='';
+ else $messageTable.=' | ';
+ $messageTable.=$noControlInfoRuns.sprintf(' (%\'@5.1f%%)',100.0*$noControlInfoRuns/$totalRuns).' | ';
+
+ if($failedRuns>0) $messageTable.='';
+ else $messageTable.=' | ';
+ $messageTable.=$failedRuns.sprintf(' (%\'@5.1f%%)',100.0*$failedRuns/$totalRuns).' | ';
+
+ if($totalRuns>0) $messageTable.='';
+ else $messageTable.=' | ';
+ $messageTable.=$totalRuns.' | ';
+ }
+ else
+ {
+ $messageTable.=''.$resource.' | ';
+ $messageTable.=''.$inControlRuns.' | ';
+ $messageTable.=''.$outOfControlRuns.' | ';
+ $messageTable.=''.$noControlInfoRuns.' | ';
+ $messageTable.=''.$failedRuns.' | ';
+ $messageTable.=''.$totalRuns.' | ';
+ }
+ $messageTable.='
';
+ }
+
+ //overall
+ $inControlRuns=0;
+ $outOfControlRuns=0;
+ $noControlInfoRuns=0;
+ $failedRuns=0;
+ $totalRuns=0;
+
+ foreach ($runsStatus as $resource => $val0)
+ {
+
+ foreach ($val0 as $appKer => $val1)
+ foreach ($val1 as $problemSize => $taskStateGroups)
+ {
+ foreach ($days as $rec_date)
+ {
+ $totalRuns2=count($taskStateGroups[$rec_date]->tasks);
+ $totalRuns+=$totalRuns2;
+ if($totalRuns2>0)
+ {
+ $inControlRuns+=count($taskStateGroups[$rec_date]->inControlRuns);
+ $outOfControlRuns+=count($taskStateGroups[$rec_date]->underPerformingRuns);
+ $noControlInfoRuns+=count($taskStateGroups[$rec_date]->noControlInfoRuns);
+ $failedRuns+=count($taskStateGroups[$rec_date]->failedRuns);
+ }
+ }
+ }
+ }
+ $messageTable.='';
+ if($totalRuns>0)
+ {
+ $messageTable.='Total | ';
+ if($inControlRuns>0) $messageTable.='';
+ else $messageTable.=' | ';
+ $messageTable.=$inControlRuns.sprintf(' (%\'@5.1f%%)',100.0*$inControlRuns/$totalRuns).' | ';
+
+ if($outOfControlRuns>0) $messageTable.='';
+ else $messageTable.=' | ';
+ $messageTable.=$outOfControlRuns.sprintf(' (%\'@5.1f%%)',100.0*$outOfControlRuns/$totalRuns).' | ';
+
+ if($noControlInfoRuns>0) $messageTable.='';
+ else $messageTable.=' | ';
+ $messageTable.=$noControlInfoRuns.sprintf(' (%\'@5.1f%%)',100.0*$noControlInfoRuns/$totalRuns).' | ';
+
+ if($failedRuns>0) $messageTable.='';
+ else $messageTable.=' | ';
+ $messageTable.=$failedRuns.sprintf(' (%\'@5.1f%%)',100.0*$failedRuns/$totalRuns).' | ';
+
+ if($totalRuns>0) $messageTable.='';
+ else $messageTable.=' | ';
+ $messageTable.=$totalRuns.' | ';
+ }
+ else
+ {
+ $messageTable.='Total | ';
+ $messageTable.=''.$inControlRuns.' | ';
+ $messageTable.=''.$outOfControlRuns.' | ';
+ $messageTable.=''.$noControlInfoRuns.' | ';
+ $messageTable.=''.$failedRuns.' | ';
+ $messageTable.=''.$totalRuns.' | ';
+ }
+ $messageTable.='
';
+ $messageTable.='
';
+ $messageTable=str_replace('@',' ',$messageTable);
+
+
+ $messageHeader='';
+ if(count($days)==1)
+ $messageHeader.='Summary for app kernels executed on '.$days[0].'';
+ else
+ $messageHeader.='Summary for app kernels executed from '.$days[0].' to '.end($days).'';
+
+ $message='';
+ $message.='Total number of runs: