'#74C366FF', 'failure' => '#007283FF', 'reject' => '#FFAB00FF', 'prereq_reject' => '#B1441EFF', ); $i = 0; foreach ($stats as $stat => $color) { $i++; $rrd_list[$i]['filename'] = $rrd_filename; $rrd_list[$i]['descr'] = ucfirst($stat); $rrd_list[$i]['ds'] = $stat; # Set up DEFs $rrd_options .= " DEF:".$stat."=".$rrd_filename.':'.$stat.':AVERAGE '; # Set up CDEFS to multiply with 60 to get per minute value $rrd_options .= " 'CDEF:cdef".$stat."=".$stat.",60,*'"; # Set up area graphing with stacking if ($i == "0") { $rrd_options .= " 'AREA:cdef".$stat . $color.":".$stat."'"; } else { $rrd_options .= " 'AREA:cdef".$stat . $color.":".$stat.":STACK'"; } # Set up legend, with consistent indent $filler = 15 - strlen($stat); $current_pad = str_pad("", $filler, ' ', STR_PAD_LEFT); $rrd_options .= " 'GPRINT:cdef".$stat.":LAST: ".$current_pad."Current\:%8.0lf'"; $rrd_options .= " 'GPRINT:cdef".$stat.":AVERAGE:Average\:%8.0lf'"; $rrd_options .= " 'GPRINT:cdef".$stat.":MAX:Maximum\:%8.0lf\\n'"; } # Add total value $rrd_options .= " 'CDEF:cdeftotal=cdefsuccess,cdeffailure,cdefreject,cdefprereq_reject,+,+,+'"; $rrd_options .= " 'LINE1:cdeftotal#000000FF:Total'"; $filler = 16 - strlen("Total"); $current_pad = str_pad("", $filler, ' ', STR_PAD_LEFT); $rrd_options .= " 'GPRINT:cdeftotal:LAST:".$current_pad."Current\:%8.0lf'"; $rrd_options .= " 'GPRINT:cdeftotal:AVERAGE:Average\:%8.0lf'"; $rrd_options .= " 'GPRINT:cdeftotal:MAX:Maximum\:%8.0lf\\n'";