librenms-librenms/includes/html/graphs/generic_simplex.inc.php
2020-09-21 15:59:34 +02:00

114 lines
4.5 KiB
PHP

<?php
if (\LibreNMS\Config::get('old_graphs')) {
include 'includes/html/graphs/old_generic_simplex.inc.php';
} else {
// Draw generic bits graph
// args: ds_in, ds_out, rrd_filename, bg, legend, from, to, width, height, inverse, percentile
include 'includes/html/graphs/common.inc.php';
$unit_text = str_pad(substr($unit_text, 0, 18), 18);
$line_text = str_pad(substr($line_text, 0, 12), 12);
if ($multiplier) {
$rrd_options .= ' DEF:' . $ds . '_o=' . $rrd_filename . ':' . $ds . ':AVERAGE';
$rrd_options .= ' DEF:' . $ds . '_max_o=' . $rrd_filename . ':' . $ds . ':MAX';
$rrd_options .= ' DEF:' . $ds . '_min_o=' . $rrd_filename . ':' . $ds . ':MIN';
if (empty($multiplier_action)) {
$multiplier_action = '*';
}
$rrd_options .= ' CDEF:' . $ds . '=' . $ds . "_o,$multiplier,$multiplier_action";
$rrd_options .= ' CDEF:' . $ds . '_max=' . $ds . "_max_o,$multiplier,$multiplier_action";
$rrd_options .= ' CDEF:' . $ds . '_min=' . $ds . "_min_o,$multiplier,$multiplier_action";
} else {
$rrd_options .= ' DEF:' . $ds . '=' . $rrd_filename . ':' . $ds . ':AVERAGE';
$rrd_options .= ' DEF:' . $ds . '_max=' . $rrd_filename . ':' . $ds . ':MAX';
$rrd_options .= ' DEF:' . $ds . '_min=' . $rrd_filename . ':' . $ds . ':MIN';
}
if ($print_total) {
$rrd_options .= ' VDEF:' . $ds . '_total=ds,TOTAL';
}
if ($percentile) {
$rrd_options .= ' VDEF:' . $ds . '_percentile=' . $ds . ',' . $percentile . ',PERCENT';
}
if ($_GET['previous'] == 'yes') {
if ($multiplier) {
$rrd_options .= ' DEF:' . $ds . '_oX=' . $rrd_filename . ':' . $ds . ':AVERAGE:start=' . $prev_from . ':end=' . $from;
$rrd_options .= ' DEF:' . $ds . '_max_oX=' . $rrd_filename . ':' . $ds . ':MAX:start=' . $prev_from . ':end=' . $from;
$rrd_options .= ' SHIFT:' . $ds . "_oX:$period";
$rrd_options .= ' SHIFT:' . $ds . "_max_oX:$period";
if (empty($multiplier_action)) {
$multiplier_action = '*';
}
$rrd_options .= ' CDEF:' . $ds . 'X=' . $ds . "_oX,$multiplier,$multiplier_action";
$rrd_options .= ' CDEF:' . $ds . '_maxX=' . $ds . "_max_oX,$multiplier,$multiplier_action";
} else {
$rrd_options .= ' DEF:' . $ds . 'X=' . $rrd_filename . ':' . $ds . ':AVERAGE:start=' . $prev_from . ':end=' . $from;
$rrd_options .= ' DEF:' . $ds . '_maxX=' . $rrd_filename . ':' . $ds . ':MAX:start=' . $prev_from . ':end=' . $from;
$rrd_options .= ' SHIFT:' . $ds . "X:$period";
$rrd_options .= ' SHIFT:' . $ds . "_maxX:$period";
}
if ($print_total) {
$rrd_options .= ' VDEF:' . $ds . '_totalX=ds,TOTAL';
}
if ($percentile) {
$rrd_options .= ' VDEF:' . $ds . '_percentileX=' . $ds . ',' . $percentile . ',PERCENT';
}
// if ($graph_max)
// {
// $rrd_options .= " AREA:".$ds."_max#".$colour_area_max.":";
// }
}//end if
if ($colour_minmax) {
$rrd_options .= ' AREA:' . $ds . '_max#c5c5c5';
$rrd_options .= ' AREA:' . $ds . '_min#ffffffff';
} else {
$rrd_options .= ' AREA:' . $ds . '#' . $colour_area . ':';
if ($graph_max) {
$rrd_options .= ' AREA:' . $ds . '_max#' . $colour_area_max . ':';
}
}
$rrd_options .= " COMMENT:'" . $unit_text . 'Now Ave Max';
if ($percentile) {
$rrd_options .= ' ' . $percentile . 'th %';
}
$rrd_options .= "\\n'";
$rrd_options .= ' LINE1.25:' . $ds . '#' . $colour_line . ":'" . $line_text . "'";
$rrd_options .= ' GPRINT:' . $ds . ':LAST:%6.' . $float_precision . 'lf%s';
$rrd_options .= ' GPRINT:' . $ds . ':AVERAGE:%6.' . $float_precision . 'lf%s';
$rrd_options .= ' GPRINT:' . $ds . '_max:MAX:%6.' . $float_precision . 'lf%s';
if ($percentile) {
$rrd_options .= ' GPRINT:' . $ds . '_percentile:%6.' . $float_precision . 'lf%s';
}
$rrd_options .= '\\\\n';
$rrd_options .= ' COMMENT:\\n';
if ($print_total) {
$rrd_options .= ' GPRINT:' . $ds . '_tot:Total\ %6.' . $float_precision . 'lf%s\)\l';
}
if ($percentile) {
$rrd_options .= ' LINE1:' . $ds . '_percentile#aa0000';
}
if ($_GET['previous'] == 'yes') {
$rrd_options .= ' LINE1.25:' . $ds . "X#666666:'Prev \\\\n'";
$rrd_options .= ' AREA:' . $ds . 'X#99999966:';
}
}//end if