diff --git a/html/includes/graphs/smokeping/auth.inc.php b/html/includes/graphs/smokeping/auth.inc.php new file mode 100644 index 000000000..6ed30d2e5 --- /dev/null +++ b/html/includes/graphs/smokeping/auth.inc.php @@ -0,0 +1,11 @@ + diff --git a/html/includes/graphs/smokeping/in.inc.php b/html/includes/graphs/smokeping/in.inc.php new file mode 100644 index 000000000..b290dd382 --- /dev/null +++ b/html/includes/graphs/smokeping/in.inc.php @@ -0,0 +1,96 @@ +Human translation:> + +$scale_min = 0; +$scale_rigid = TRUE; + +include("includes/graphs/common.inc.php"); +include("smokeping_common.inc.php"); + +$i = 0; +$pings = 20; +$iter = 0; +$colourset = "mixed"; + +if($width > "500") +{ + $descr_len = 18; +} else { + $descr_len = 12 + round(($width - 275) / 8); +} + +if($width > "500") +{ + $rrd_options .= " COMMENT:'".substr(str_pad($unit_text, $descr_len+5),0,$descr_len+5)." RTT Loss SDev RTT\:SDev \l'"; +} else { + $rrd_options .= " COMMENT:'".substr(str_pad($unit_text, $descr_len+5),0,$descr_len+5)." RTT Loss SDev RTT\:SDev \l'"; +} + + +if($src['hostname'] == $config['own_hostname']) +{ + $filename = $config['smokeping']['dir'] . $device['hostname'].'.rrd'; +} else { + $filename = $config['smokeping']['dir'] . $device['hostname'] .'~'.$src['hostname'].'.rrd'; +} + + if (!isset($config['graph_colours'][$colourset][$iter])) { $iter = 0; } + $colour = $config['graph_colours'][$colourset][$iter]; + $iter++; + + $descr = str_replace(":", "\:", substr(str_pad($source, $descr_len),0,$descr_len)); + + $rrd_options .= " DEF:median$i=".$filename.":median:AVERAGE "; + $rrd_options .= " DEF:loss$i=".$filename.":loss:AVERAGE"; + $rrd_options .= " CDEF:ploss$i=loss$i,$pings,/,100,*"; + $rrd_options .= " CDEF:dm$i=median$i"; +# $rrd_options .= " CDEF:dm$i=median$i,0,".$max->{$start}.",LIMIT"; + + /// start emulate Smokeping::calc_stddev + foreach (range(1, $pings) as $p) + { + $rrd_options .= " DEF:pin".$i."p".$p."=".$filename.":ping".$p.":AVERAGE"; + $rrd_options .= " CDEF:p".$i."p".$p."=pin".$i."p".$p.",UN,0,pin".$i."p".$p.",IF"; + } + + unset($pings_options, $m_options, $sdev_options); + + foreach (range(2, $pings) as $p) + { + $pings_options .= ",p".$i."p".$p.",UN,+"; + $m_options .= ",p".$i."p".$p.",+"; + $sdev_options .= ",p".$i."p".$p.",m".$i.",-,DUP,*,+"; + } + + $rrd_options .= " CDEF:pings".$i."=".$pings .",p".$i."p1,UN". $pings_options . ",-"; + $rrd_options .= " CDEF:m".$i."=p".$i."p1".$m_options.",pings".$i.",/"; + $rrd_options .= " CDEF:sdev".$i."=p".$i."p1,m".$i.",-,DUP,*".$sdev_options.",pings".$i.",/,SQRT"; + // end emulate Smokeping::calc_stddev + + $rrd_options .= " CDEF:dmlow$i=dm$i,sdev$i,2,/,-"; + $rrd_options .= " CDEF:s2d$i=sdev$i"; + $rrd_options .= " AREA:dmlow$i"; + $rrd_options .= " AREA:s2d$i#".$colour."30::STACK"; + $rrd_options .= " LINE1:dm$i#".$colour.":'$descr'"; + +# $rrd_options .= " LINE1:sdev$i#000000:$descr"; + + $rrd_options .= " VDEF:avmed$i=median$i,AVERAGE"; + $rrd_options .= " VDEF:avsd$i=sdev$i,AVERAGE"; + $rrd_options .= " CDEF:msr$i=median$i,POP,avmed$i,avsd$i,/"; + $rrd_options .= " VDEF:avmsr$i=msr$i,AVERAGE"; + + $rrd_options .= " GPRINT:avmed$i:'%5.1lf%ss'"; + $rrd_options .= " GPRINT:ploss$i:AVERAGE:'%5.1lf%%'"; + + $rrd_options .= " GPRINT:avsd$i:'%5.1lf%Ss'"; + $rrd_options .= " GPRINT:avmsr$i:'%5.1lf%s\\l'"; + + $i++; + +?> diff --git a/html/includes/graphs/smokeping/out.inc.php b/html/includes/graphs/smokeping/out.inc.php new file mode 100644 index 000000000..aac74179e --- /dev/null +++ b/html/includes/graphs/smokeping/out.inc.php @@ -0,0 +1,96 @@ +Human translation:> + +$scale_min = 0; +$scale_rigid = TRUE; + +include("includes/graphs/common.inc.php"); +include("smokeping_common.inc.php"); + +$i = 0; +$pings = 20; +$iter = 0; +$colourset = "mixed"; + +if($width > "500") +{ + $descr_len = 18; +} else { + $descr_len = 12 + round(($width - 275) / 8); +} + +if($width > "500") +{ + $rrd_options .= " COMMENT:'".substr(str_pad($unit_text, $descr_len+5),0,$descr_len+5)." RTT Loss SDev RTT\:SDev \l'"; +} else { + $rrd_options .= " COMMENT:'".substr(str_pad($unit_text, $descr_len+5),0,$descr_len+5)." RTT Loss SDev RTT\:SDev \l'"; +} + + +if($device['hostname'] == $config['own_hostname']) +{ + $filename = $config['smokeping']['dir'] . $dest['hostname'].'.rrd'; +} else { + $filename = $config['smokeping']['dir'] . $device['hostname'] .'~'.$dest['hostname'].'.rrd'; +} + + if (!isset($config['graph_colours'][$colourset][$iter])) { $iter = 0; } + $colour = $config['graph_colours'][$colourset][$iter]; + $iter++; + + $descr = str_replace(":", "\:", substr(str_pad($source, $descr_len),0,$descr_len)); + + $rrd_options .= " DEF:median$i=".$filename.":median:AVERAGE "; + $rrd_options .= " DEF:loss$i=".$filename.":loss:AVERAGE"; + $rrd_options .= " CDEF:ploss$i=loss$i,$pings,/,100,*"; + $rrd_options .= " CDEF:dm$i=median$i"; +# $rrd_options .= " CDEF:dm$i=median$i,0,".$max->{$start}.",LIMIT"; + + /// start emulate Smokeping::calc_stddev + foreach (range(1, $pings) as $p) + { + $rrd_options .= " DEF:pin".$i."p".$p."=".$filename.":ping".$p.":AVERAGE"; + $rrd_options .= " CDEF:p".$i."p".$p."=pin".$i."p".$p.",UN,0,pin".$i."p".$p.",IF"; + } + + unset($pings_options, $m_options, $sdev_options); + + foreach (range(2, $pings) as $p) + { + $pings_options .= ",p".$i."p".$p.",UN,+"; + $m_options .= ",p".$i."p".$p.",+"; + $sdev_options .= ",p".$i."p".$p.",m".$i.",-,DUP,*,+"; + } + + $rrd_options .= " CDEF:pings".$i."=".$pings .",p".$i."p1,UN". $pings_options . ",-"; + $rrd_options .= " CDEF:m".$i."=p".$i."p1".$m_options.",pings".$i.",/"; + $rrd_options .= " CDEF:sdev".$i."=p".$i."p1,m".$i.",-,DUP,*".$sdev_options.",pings".$i.",/,SQRT"; + // end emulate Smokeping::calc_stddev + + $rrd_options .= " CDEF:dmlow$i=dm$i,sdev$i,2,/,-"; + $rrd_options .= " CDEF:s2d$i=sdev$i"; + $rrd_options .= " AREA:dmlow$i"; + $rrd_options .= " AREA:s2d$i#".$colour."30::STACK"; + $rrd_options .= " LINE1:dm$i#".$colour.":'$descr'"; + +# $rrd_options .= " LINE1:sdev$i#000000:$descr"; + + $rrd_options .= " VDEF:avmed$i=median$i,AVERAGE"; + $rrd_options .= " VDEF:avsd$i=sdev$i,AVERAGE"; + $rrd_options .= " CDEF:msr$i=median$i,POP,avmed$i,avsd$i,/"; + $rrd_options .= " VDEF:avmsr$i=msr$i,AVERAGE"; + + $rrd_options .= " GPRINT:avmed$i:'%5.1lf%ss'"; + $rrd_options .= " GPRINT:ploss$i:AVERAGE:'%5.1lf%%'"; + + $rrd_options .= " GPRINT:avsd$i:'%5.1lf%Ss'"; + $rrd_options .= " GPRINT:avmsr$i:'%5.1lf%s\\l'"; + + $i++; + +?> diff --git a/html/pages/device/latency.inc.php b/html/pages/device/latency.inc.php index bc653b40f..e05c5da53 100644 --- a/html/pages/device/latency.inc.php +++ b/html/pages/device/latency.inc.php @@ -31,6 +31,7 @@ unset($sep); print_optionbar_end(); +echo('
');
+ echo('Aggregate'); include("includes/print-quadgraphs.inc.php"); + echo(' |
');
+ echo(''.generate_device_link($host).''); + $graph_array['type'] = "smokeping_in"; + $graph_array['id'] = $device['device_id']; + $graph_array['src'] = $host['device_id']; + include("includes/print-quadgraphs.inc.php"); + echo(' |
');
+ echo('Aggregate'); include("includes/print-quadgraphs.inc.php"); + echo(' |
');
+ echo(''.generate_device_link($host).''); + $graph_array['type'] = "smokeping_out"; + $graph_array['id'] = $device['device_id']; + $graph_array['dest'] = $host['device_id']; + include("includes/print-quadgraphs.inc.php"); + echo(' |