<?php

/**
 * Observium
 *
 *   This file is part of Observium.
 *
 * @package    observium
 * @subpackage graphs
 * @copyright  (C) 2006-2014 Adam Armstrong
 *
 */

$rrd_options .= " DEF:rtt=".$rrd_file.":rtt:AVERAGE ";
$rrd_options .= " DEF:loss=".$rrd_file.":loss_count:AVERAGE ";
$rrd_options .= " DEF:req_count=".$rrd_file.":req_count:AVERAGE ";
$rrd_options .= " CDEF:ploss=loss,UNKN,EQ,1,loss,IF,req_count,/,100,*,CEIL ";

$rrd_options .= " DEF:rtt_min=".$rrd_file.":rtt_min:AVERAGE ";
$rrd_options .= " CDEF:smoke_min=rtt_min,rtt,- ";
$rrd_options .= " LINE2:rtt#FFFFFF00:'' AREA:smoke_min#00000045:'':STACK ";

$rrd_options .= " DEF:rtt_max=".$rrd_file.":rtt_max:AVERAGE ";
$rrd_options .= " CDEF:smoke_max=rtt_max,rtt,- ";
$rrd_options .= " LINE2:rtt#FFFFFF00:'' AREA:smoke_max#00000045:'':STACK ";


$rrd_options .= " COMMENT:'                 Average      Min        Max        Last\l'";
$rrd_options .= " COMMENT:'Median RTT\:  ' ";
$rrd_options .= " GPRINT:rtt:AVERAGE:%6.2lf%sms ";
$rrd_options .= " GPRINT:rtt:MIN:%6.2lf%sms ";
$rrd_options .= " GPRINT:rtt:MAX:%6.2lf%sms ";
$rrd_options .= " GPRINT:rtt:LAST:%6.2lf%sms\\l ";

$rrd_options .= " COMMENT:'Packet loss\: ' ";
$rrd_options .= " GPRINT:ploss:AVERAGE:%8.2lf%% ";
$rrd_options .= " GPRINT:ploss:MIN:%8.2lf%% "; 
$rrd_options .= " GPRINT:ploss:MAX:%8.2lf%% ";
$rrd_options .= " GPRINT:ploss:LAST:%8.2lf%%\\l ";
  
$rrd_options .= " COMMENT:'Loss color\: ' ";

for ($p = 0; $p < count($config['sla']['loss_color']); $p++)
{  
  $loss_value = $config['sla']['loss_value'][$p];
  $line_color = $config['sla']['loss_color'][$p];
  if ($loss_value == 0)
  {
    $rrd_options .= " CDEF:ploss".$loss_value."=ploss,0,EQ,rtt,UNKN,IF ";
    $line_text = "0%";
  } else {
    $loss_value_prev = $config['sla']['loss_value'][$p-1];
      
    $rrd_options .= " CDEF:ploss_tmp".$loss_value."=ploss,".$loss_value_prev.",GT,ploss,UNKN,IF ";
    $rrd_options .= " CDEF:ploss".$loss_value."=ploss_tmp".$loss_value.",".$loss_value.",1,+,LT,rtt,UNKN,IF ";
    
    $line_text = ($loss_value_prev+1)."..".$loss_value."%";
  }
  
  $rrd_options .= " CDEF:ploss".$loss_value."_1=COUNT,2,%,0,EQ,ploss".$loss_value.",UNKN,IF ";
  $rrd_options .= " CDEF:ploss".$loss_value."_2=COUNT,2,%,1,EQ,ploss".$loss_value.",UNKN,IF ";
  $rrd_options .= " LINE2:ploss".$loss_value."_1#".$line_color.":'".$line_text."' LINE2:ploss".$loss_value."_2#".$line_color.":'' ";
}
unset($loss_value);
unset($loss_color);

$rrd_options .= " COMMENT:\\l ";

//EOF