]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/commitdiff
qos and process graphs: avoid random colors
authorAlf Høgemark <alf@i100.no>
Sat, 22 Feb 2014 17:05:26 +0000 (18:05 +0100)
committerAlf Høgemark <alf@i100.no>
Wed, 26 Feb 2014 17:48:05 +0000 (18:48 +0100)
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

index 5a45ec964608cbce5a606c4a8883cd4231fb439d..cc00c665bcb94cf0e2805053270aa9c70b15d82d 100644 (file)
@@ -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 = <FILE>;
                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"