Merge pull request #19 from clobrother/master

Add 95th line on graph
This commit is contained in:
Manuel Kasper 2014-02-13 00:10:57 +11:00
commit ddc230b00d
2 changed files with 44 additions and 7 deletions

View File

@ -9,6 +9,7 @@ $rrdtool = "/usr/local/bin/rrdtool";
$asinfofile = "asinfo.txt";
$knownlinksfile = "/data/knownlinks";
$outispositive = true;
$show95th = true;
$ntop = 20;
$showv6 = true;

View File

@ -30,6 +30,11 @@ $cmd = "$rrdtool graph - " .
"--slope-mode --alt-autoscale -u 0 -l 0 --imgformat=PNG --base=1000 --height=$height --width=$width " .
"--color BACK#ffffff00 --color SHADEA#ffffff00 --color SHADEB#ffffff00 ";
if($outispositive)
$cmd .= "--vertical-label '<- IN | OUT ->' ";
else
$cmd .= "--vertical-label '<- OUT | IN ->' ";
if (isset($_GET['v']) && is_numeric($_GET['v']))
$cmd .= "--title IPv" . $_GET['v'] . " ";
@ -48,15 +53,39 @@ foreach ($knownlinks as $link) {
$cmd .= "DEF:{$link['tag']}_{$v6_el}out=\"$rrdfile\":{$link['tag']}_{$v6_el}out:AVERAGE ";
}
$tot_in_bits = "CDEF:tot_in_bits=0";
$tot_out_bits = "CDEF:tot_out_bits=0";
/* generate a CDEF for each DEF to multiply by 8 (bytes to bits), and reverse for outbound */
foreach ($knownlinks as $link) {
if ($outispositive) {
$cmd .= "CDEF:{$link['tag']}_{$v6_el}in_bits={$link['tag']}_{$v6_el}in,-8,* ";
$cmd .= "CDEF:{$link['tag']}_{$v6_el}out_bits={$link['tag']}_{$v6_el}out,8,* ";
} else {
$cmd .= "CDEF:{$link['tag']}_{$v6_el}in_bits={$link['tag']}_{$v6_el}in,8,* ";
$cmd .= "CDEF:{$link['tag']}_{$v6_el}out_bits={$link['tag']}_{$v6_el}out,-8,* ";
}
$cmd .= "CDEF:{$link['tag']}_{$v6_el}in_bits_pos={$link['tag']}_{$v6_el}in,8,* ";
$cmd .= "CDEF:{$link['tag']}_{$v6_el}out_bits_pos={$link['tag']}_{$v6_el}out,8,* ";
$tot_in_bits .= ",{$link['tag']}_{$v6_el}in_bits_pos,ADDNAN";
$tot_out_bits .= ",{$link['tag']}_{$v6_el}out_bits_pos,ADDNAN";
}
$cmd .= "$tot_in_bits ";
$cmd .= "$tot_out_bits ";
$cmd .= "VDEF:tot_in_bits_95th_pos=tot_in_bits,95,PERCENT ";
$cmd .= "VDEF:tot_out_bits_95th_pos=tot_out_bits,95,PERCENT ";
if ($outispositive) {
$cmd .= "CDEF:tot_in_bits_95th=tot_in_bits,POP,tot_in_bits_95th_pos,-1,* ";
$cmd .= "CDEF:tot_out_bits_95th=tot_out_bits,POP,tot_out_bits_95th_pos,1,* ";
} else {
$cmd .= "CDEF:tot_in_bits_95th=tot_in_bits,POP,tot_in_bits_95th_pos,1,* ";
$cmd .= "CDEF:tot_out_bits_95th=tot_out_bits,POP,tot_out_bits_95th_pos,-1,* ";
}
foreach ($knownlinks as $link) {
if ($outispositive) {
$cmd .= "CDEF:{$link['tag']}_{$v6_el}in_bits={$link['tag']}_{$v6_el}in_bits_pos,-1,* ";
$cmd .= "CDEF:{$link['tag']}_{$v6_el}out_bits={$link['tag']}_{$v6_el}out_bits_pos,1,* ";
} else {
$cmd .= "CDEF:{$link['tag']}_{$v6_el}out_bits={$link['tag']}_{$v6_el}out_bits_pos,-1,* ";
$cmd .= "CDEF:{$link['tag']}_{$v6_el}in_bits={$link['tag']}_{$v6_el}in_bits_pos,1,* ";
}
}
/* generate graph area/stack for inbound */
@ -88,6 +117,13 @@ foreach ($knownlinks as $link) {
$i++;
}
if($show95th){
$cmd .= "LINE1:tot_in_bits_95th#FF0000 ";
$cmd .= "LINE1:tot_out_bits_95th#FF0000 ";
$cmd .= "GPRINT:tot_in_bits_95th_pos:'95th in %6.2lf%s' ";
$cmd .= "GPRINT:tot_out_bits_95th_pos:'95th out %6.2lf%s' ";
}
# zero line
$cmd .= "HRULE:0#00000080";