From e06986e85347213f20c48df8cdaf9c9eeb0b2359 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Alf=20H=C3=B8gemark?= Date: Sat, 22 Feb 2014 18:05:26 +0100 Subject: [PATCH] qos and process graphs: avoid random colors For the graphs for qos classes, and for process count and memory usage, the colors change on each page reload, since the colors are currently totally random. This change uses defined color indexes, 15 different ones, that should be enough for qos at least, and is enough for processes on my setup. This makes the colors consistent between page loads, so it makes it easier to monitor changes. Perhaps one should define 30 different colors meant to be used for graphing, then one could avoid random colors also for the sensor graphs, and make it less likely to get color collision for the process graphs as well. Defining 30 such colors is not part of this change. --- config/cfgroot/graphs.pl | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/config/cfgroot/graphs.pl b/config/cfgroot/graphs.pl index 5a45ec964..cc00c665b 100644 --- a/config/cfgroot/graphs.pl +++ b/config/cfgroot/graphs.pl @@ -422,12 +422,15 @@ sub updateprocessescpugraph { push(@command,"COMMENT:".$Lang::tr{'caption'}."\\j"); + my $colorIndex = 0; foreach(@processesgraph){ + my $colorIndex = 10 + $count % 15; + my $color="$color{\"color$colorIndex\"}"; chomp($_);my @name=split(/\-/,$_);chop($name[1]); if ($count eq "0"){ - push(@command,"AREA:".$name[1].random_hex_color(6)."A0:".$name[1]); + push(@command,"AREA:".$name[1].$color."A0:".$name[1]); }else{ - push(@command,"STACK:".$name[1].random_hex_color(6)."A0:".$name[1]); + push(@command,"STACK:".$name[1].$color."A0:".$name[1]); } $count++; } @@ -471,12 +474,15 @@ sub updateprocessesmemorygraph { push(@command,"COMMENT:".$Lang::tr{'caption'}."\\j"); + my $colorIndex = 0; foreach(@processesgraph){ chomp($_);my @name=split(/\-/,$_);chop($name[1]); + my $colorIndex = 10 + $count % 15; + my $color="$color{\"color$colorIndex\"}"; if ($count eq "0"){ - push(@command,"AREA:".$name[1].random_hex_color(6)."A0:".$name[1]); + push(@command,"AREA:".$name[1].$color."A0:".$name[1]); }else{ - push(@command,"STACK:".$name[1].random_hex_color(6)."A0:".$name[1]); + push(@command,"STACK:".$name[1].$color."A0:".$name[1]); } $count++; } @@ -983,17 +989,18 @@ sub updateqosgraph { @classes = ; close FILE; + my $colorIndex = 0; foreach $classentry (sort @classes){ @classline = split( /\;/, $classentry ); if ( $classline[0] eq $qossettings{'DEV'} ){ - $color=random_hex_color(6); + my $colorIndex = 10 + $count % 15; + $color="$color{\"color$colorIndex\"}"; push(@command, "DEF:$classline[1]=$mainsettings{'RRDLOG'}/class_$qossettings{'CLASSPRFX'}-$classline[1]_$qossettings{'DEV'}.rrd:bytes:AVERAGE"); if ($count eq "1") { push(@command, "AREA:$classline[1]$color:$Lang::tr{'Class'} $classline[1] -".sprintf("%15s",$classline[8])); } else { push(@command, "STACK:$classline[1]$color:$Lang::tr{'Class'} $classline[1] -".sprintf("%15s",$classline[8])); - } push(@command, "GPRINT:$classline[1]:MAX:%8.1lf %sBps" -- 2.39.2