mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
changed the graph type to allow custom colors and made lines ticker
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
<?php
|
||||
|
||||
require 'includes/graphs/common.inc.php';
|
||||
$scale_min = 0;
|
||||
$colours = 'mixed';
|
||||
@@ -9,31 +8,31 @@ $rrd_filename = $config['rrd_dir'].'/'.$device['hostname'].'/app-nfsstats-'.$app
|
||||
$array = array(
|
||||
'total' => array(
|
||||
'descr' => 'Total',
|
||||
'colour' => '570623',
|
||||
'colour' => '000000',
|
||||
),
|
||||
'null' => array(
|
||||
'descr' => 'NULL',
|
||||
'colour' => 'D37F9D',
|
||||
'colour' => '630606',
|
||||
),
|
||||
'getattr' => array(
|
||||
'descr' => 'Get attributes',
|
||||
'colour' => 'F1B264',
|
||||
'colour' => '50C150',
|
||||
),
|
||||
'setattr' => array(
|
||||
'descr' => 'Set attributes',
|
||||
'colour' => '634219',
|
||||
'colour' => '4D65A2',
|
||||
),
|
||||
'lookup' => array(
|
||||
'descr' => 'Lookup',
|
||||
'colour' => '60849A',
|
||||
'colour' => '8B64A1',
|
||||
),
|
||||
'access' => array(
|
||||
'descr' => 'Access',
|
||||
'colour' => 'AED983',
|
||||
'colour' => 'AAAA39',
|
||||
),
|
||||
'read' => array(
|
||||
'descr' => 'Read',
|
||||
'colour' => '9AD95A',
|
||||
'colour' => '',
|
||||
),
|
||||
'write' => array(
|
||||
'descr' => 'Write',
|
||||
@@ -41,7 +40,7 @@ $array = array(
|
||||
),
|
||||
'create' => array(
|
||||
'descr' => 'Create',
|
||||
'colour' => '132E3F',
|
||||
'colour' => '690D87',
|
||||
),
|
||||
'mkdir' => array(
|
||||
'descr' => 'Make dir',
|
||||
@@ -49,7 +48,7 @@ $array = array(
|
||||
),
|
||||
'remove' => array(
|
||||
'descr' => 'Remove',
|
||||
'colour' => '570623',
|
||||
'colour' => 'F16464',
|
||||
),
|
||||
'rmdir' => array(
|
||||
'descr' => 'Remove dir',
|
||||
@@ -57,7 +56,7 @@ $array = array(
|
||||
),
|
||||
'rename' => array(
|
||||
'descr' => 'Rename',
|
||||
'colour' => 'AA7739',
|
||||
'colour' => 'A40B62',
|
||||
),
|
||||
'readdirplus' => array(
|
||||
'descr' => 'Read dir plus',
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
<?php
|
||||
|
||||
require 'includes/graphs/common.inc.php';
|
||||
|
||||
if ($width > '500') {
|
||||
$descr_len = 24;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$descr_len = 12;
|
||||
$descr_len += round(($width - 250) / 8);
|
||||
}
|
||||
@@ -20,63 +18,101 @@ if ($width > '500') {
|
||||
if (!$nototal) {
|
||||
$rrd_options .= " COMMENT:'Total '";
|
||||
}
|
||||
|
||||
$rrd_options .= " COMMENT:'\l'";
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$rrd_options .= " COMMENT:'".substr(str_pad($unit_text, ($descr_len + 5)), 0, ($descr_len + 5))."Now Min Max Avg\l'";
|
||||
}
|
||||
|
||||
$i = 0;
|
||||
$iter = 0;
|
||||
$unitlen = '10';
|
||||
$unit_text = str_pad(truncate($unit_text, $unitlen), $unitlen);
|
||||
|
||||
foreach ($rrd_list as $rrd) {
|
||||
if (!$config['graph_colours'][$colours][$iter]) {
|
||||
$iter = 0;
|
||||
if ($rrd['colour']) {
|
||||
$colour = $rrd['colour'];
|
||||
}
|
||||
else {
|
||||
if (!$config['graph_colours'][$colours][$colour_iter]) {
|
||||
$colour_iter = 0;
|
||||
}
|
||||
|
||||
$colour = $config['graph_colours'][$colours][$iter];
|
||||
if (!empty($rrd['area']) && empty($rrd['areacolour'])) {
|
||||
$rrd['areacolour'] = $colour."20";
|
||||
$colour = $config['graph_colours'][$colours][$colour_iter];
|
||||
$colour_iter++;
|
||||
}
|
||||
|
||||
|
||||
$ds = $rrd['ds'];
|
||||
$filename = $rrd['filename'];
|
||||
|
||||
$descr = rrdtool_escape($rrd['descr'], $descr_len);
|
||||
|
||||
$id = 'ds'.$i;
|
||||
|
||||
$rrd_options .= ' DEF:'.$id."=$filename:$ds:AVERAGE";
|
||||
$rrd_options .= ' DEF:'.$rrd['ds'].$i.'='.$rrd['filename'].':'.$rrd['ds'].':AVERAGE ';
|
||||
|
||||
if ($simple_rrd) {
|
||||
$rrd_options .= ' CDEF:'.$id.'min='.$id.' ';
|
||||
$rrd_options .= ' CDEF:'.$id.'max='.$id.' ';
|
||||
$rrd_options .= ' CDEF:'.$rrd['ds'].$i.'min='.$rrd['ds'].$i.' ';
|
||||
$rrd_options .= ' CDEF:'.$rrd['ds'].$i.'max='.$rrd['ds'].$i.' ';
|
||||
}
|
||||
else {
|
||||
$rrd_options .= ' DEF:'.$id."min=$filename:$ds:MIN";
|
||||
$rrd_options .= ' DEF:'.$id."max=$filename:$ds:MAX";
|
||||
$rrd_options .= ' DEF:'.$rrd['ds'].$i.'min='.$rrd['filename'].':'.$rrd['ds'].':MIN ';
|
||||
$rrd_options .= ' DEF:'.$rrd['ds'].$i.'max='.$rrd['filename'].':'.$rrd['ds'].':MAX ';
|
||||
}
|
||||
|
||||
if ($rrd['invert']) {
|
||||
$rrd_options .= ' CDEF:'.$id.'i='.$id.',-1,*';
|
||||
$rrd_optionsb .= ' LINE1.25:'.$id.'i#'.$colour.":'$descr'";
|
||||
if (!empty($rrd['areacolour'])) {
|
||||
$rrd_optionsb .= ' AREA:'.$id.'i#'.$rrd['areacolour'];
|
||||
}
|
||||
if ($_GET['previous']) {
|
||||
$rrd_options .= ' DEF:'.$i.'X='.$rrd['filename'].':'.$rrd['ds'].':AVERAGE:start='.$prev_from.':end='.$from;
|
||||
$rrd_options .= ' SHIFT:'.$i."X:$period";
|
||||
$thingX .= $seperatorX.$i.'X,UN,0,'.$i.'X,IF';
|
||||
$plusesX .= $plusX;
|
||||
$seperatorX = ',';
|
||||
$plusX = ',+';
|
||||
}
|
||||
else {
|
||||
$rrd_optionsb .= ' LINE1.25:'.$id.'#'.$colour.":'$descr'";
|
||||
if (!empty($rrd['areacolour'])) {
|
||||
$rrd_optionsb .= ' AREA:'.$id.'#'.$rrd['areacolour'];
|
||||
}
|
||||
|
||||
if (!$nototal) {
|
||||
$rrd_options .= ' VDEF:tot'.$rrd['ds'].$i.'='.$rrd['ds'].$i.',TOTAL';
|
||||
}
|
||||
|
||||
$rrd_optionsb .= ' GPRINT:'.$id.':LAST:%8.0lf%s'.$units.' GPRINT:'.$id.'min:MIN:%8.0lf%s'.$units;
|
||||
$rrd_optionsb .= ' GPRINT:'.$id.'max:MAX:%8.0lf%s'.$units.' GPRINT:'.$id.":AVERAGE:'%8.0lf%s$units\\n'";
|
||||
if ($i) {
|
||||
$stack = ':STACK';
|
||||
}
|
||||
|
||||
$i++;
|
||||
$iter++;
|
||||
$g_defname = $rrd['ds'];
|
||||
if (is_numeric($multiplier)) {
|
||||
$g_defname = $rrd['ds'].'_cdef';
|
||||
$rrd_options .= ' CDEF:'.$g_defname.$i.'='.$rrd['ds'].$i.','.$multiplier.',*';
|
||||
$rrd_options .= ' CDEF:'.$g_defname.$i.'min='.$rrd['ds'].$i.'min,'.$multiplier.',*';
|
||||
$rrd_options .= ' CDEF:'.$g_defname.$i.'max='.$rrd['ds'].$i.'max,'.$multiplier.',*';
|
||||
} else if (is_numeric($divider)) {
|
||||
$g_defname = $rrd['ds'].'_cdef';
|
||||
$rrd_options .= ' CDEF:'.$g_defname.$i.'='.$rrd['ds'].$i.','.$divider.',/';
|
||||
$rrd_options .= ' CDEF:'.$g_defname.$i.'min='.$rrd['ds'].$i.'min,'.$divider.',/';
|
||||
$rrd_options .= ' CDEF:'.$g_defname.$i.'max='.$rrd['ds'].$i.'max,'.$divider.',/';
|
||||
}
|
||||
|
||||
if (isset($text_orig) && $text_orig) {
|
||||
$t_defname = $rrd['ds'];
|
||||
} else {
|
||||
$t_defname = $g_defname;
|
||||
}
|
||||
|
||||
$rrd_options .= ' LINE2:'.$g_defname.$i.'#'.$colour.":'".$descr."'$stack";
|
||||
$rrd_options .= ' GPRINT:'.$t_defname.$i.':LAST:%8.0lf%s GPRINT:'.$t_defname.$i.'min:MIN:%8.0lf%s';
|
||||
$rrd_options .= ' GPRINT:'.$t_defname.$i.'max:MAX:%8.0lf%s GPRINT:'.$t_defname.$i.":AVERAGE:'%8.0lf%s\\n'";
|
||||
|
||||
if (!$nototal) {
|
||||
$rrd_options .= ' GPRINT:tot'.$rrd['ds'].$i.":%6.2lf%s'".rrdtool_escape($total_units)."'";
|
||||
}
|
||||
|
||||
$rrd_options .= " COMMENT:'\\n'";
|
||||
}//end foreach
|
||||
|
||||
$rrd_options .= $rrd_optionsb;
|
||||
$rrd_options .= ' HRULE:0#555555';
|
||||
if ($_GET['previous'] == 'yes') {
|
||||
if (is_numeric($multiplier)) {
|
||||
$rrd_options .= ' CDEF:X='.$thingX.$plusesX.','.$multiplier.',*';
|
||||
}
|
||||
else if (is_numeric($divider)) {
|
||||
$rrd_options .= ' CDEF:X='.$thingX.$plusesX.','.$divider.',/';
|
||||
}
|
||||
else {
|
||||
$rrd_options .= ' CDEF:X='.$thingX.$plusesX;
|
||||
}
|
||||
$rrd_options .= ' HRULE:0#555555';
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user