]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/commitdiff
Add cpufreq graph
authorArne Fitzenreiter <arne_f@ipfire.org>
Sat, 2 Aug 2008 09:22:30 +0000 (11:22 +0200)
committerArne Fitzenreiter <arne_f@ipfire.org>
Sat, 2 Aug 2008 09:22:30 +0000 (11:22 +0200)
config/cfgroot/graphs.pl
html/cgi-bin/graphs.cgi
html/cgi-bin/system.cgi

index 229ee20c6c0d0a4278111633a3ff30d40aa3fe64..9ecc249a78de6adbc8a53311038b38bc0def45c2 100644 (file)
@@ -178,6 +178,58 @@ sub updatecpugraph {
         print "Error in RRD::graph for cpu: $ERROR\n" if $ERROR;
 }
 
+# Generate the CPU Frequency Graph for the current period of time for values given by
+# only 1 or 2 cpus is working
+sub updatecpufreqgraph {
+        if ( -e "$rrdlog/collectd/localhost/cpufreq/cpufreq-0.rrd" ){
+
+        my $period    = $_[0];
+       my @command = ("$graphs/cpufreq-$period.png",
+        "--start", "-1$period", "-aPNG", "-i", "-z", "-W www.ipfire.org", "-v Mhz",
+        "-w 600", "-h 125",  "-r",
+        "--color", "SHADEA".$color{"color19"},
+        "--color", "SHADEB".$color{"color19"},
+        "--color", "BACK".$color{"color21"},
+        "-t $Lang::tr{'cpu frequency per'} $Lang::tr{$period}");
+
+        if ( -e "$rrdlog/collectd/localhost/cpufreq/cpufreq-1.rrd" ){
+           push(@command,"DEF:cpu1_=$rrdlog/collectd/localhost/cpufreq/cpufreq-1.rrd:value:AVERAGE");
+       }
+       push(@command,"DEF:cpu0_=$rrdlog/collectd/localhost/cpufreq/cpufreq-0.rrd:value:AVERAGE");
+
+        if ( -e "$rrdlog/collectd/localhost/cpufreq/cpufreq-1.rrd" ){
+           push(@command,"CDEF:cpu1=cpu1_,1000000,/");
+       }
+       push(@command,"CDEF:cpu0=cpu0_,1000000,/");
+
+        if ( -e "$rrdlog/collectd/localhost/cpufreq/cpufreq-1.rrd" ){
+           push(@command,"LINE1:cpu1".$color{"color11"}."A0:cpu 1\\j",
+                           "COMMENT:$Lang::tr{'maximal'}",
+                           "COMMENT:$Lang::tr{'average'}",
+                           "COMMENT:$Lang::tr{'minimal'}",
+                           "COMMENT:$Lang::tr{'current'}\\j",
+                           "GPRINT:cpu1:MAX:%3.0lf Mhz",
+                           "GPRINT:cpu1:AVERAGE:%3.0lf Mhz",
+                           "GPRINT:cpu1:MIN:%3.0lf Mhz",
+                           "GPRINT:cpu1:LAST:%3.0lf Mhz\\j",);
+       }
+       push(@command,"LINE2:cpu0".$color{"color12"}."A1:cpu 0\\j",
+                           "COMMENT:$Lang::tr{'maximal'}",
+                           "COMMENT:$Lang::tr{'average'}",
+                           "COMMENT:$Lang::tr{'minimal'}",
+                           "COMMENT:$Lang::tr{'current'}\\j",
+                           "GPRINT:cpu0:MAX:%3.0lf Mhz",
+                           "GPRINT:cpu0:AVERAGE:%3.0lf Mhz",
+                           "GPRINT:cpu0:MIN:%3.0lf Mhz",
+                           "GPRINT:cpu0:LAST:%3.0lf Mhz\\j",);
+
+       RRDs::graph (@command);
+        $ERROR = RRDs::error;
+        print "Error in RRD::graph for cpu: $ERROR\n" if $ERROR;
+    }
+}
+
+
 # Generate the Load Graph for the current period of time for values given by collecd
 
 sub updateloadgraph {
@@ -205,6 +257,7 @@ sub updateloadgraph {
         print "Error in RRD::graph for load: $ERROR\n" if $ERROR;
 }
 
+
 # Generate the Memory and Swap Graph for the current period of time for values given by collecd
 
 sub updatememgraph {
index e3d444c28f740bc84f6ce1e807a254b330397cdf..9b397900f25c684071a6f18b184495314fc7642f 100644 (file)
@@ -48,6 +48,7 @@ $cgigraphs[1] = '' unless defined $cgigraphs[1];
 $cgigraphs[2] = '' unless defined $cgigraphs[2];
 
 if ($cgigraphs[1] =~ /(load)/) {&Graphs::updateloadgraph ("hour");&Graphs::updateloadgraph ("week");&Graphs::updateloadgraph ("month");&Graphs::updateloadgraph ("year");}
+elsif ($cgigraphs[1] =~ /(cpufreq)/) {&Graphs::updatecpufreqgraph ("hour");&Graphs::updatecpufreqgraph ("week");&Graphs::updatecpufreqgraph ("month");&Graphs::updatecpufreqgraph ("year");}
 elsif ($cgigraphs[1] =~ /(cpu)/) {&Graphs::updatecpugraph ("hour");&Graphs::updatecpugraph ("week");&Graphs::updatecpugraph ("month");&Graphs::updatecpugraph ("year");}
 elsif ($cgigraphs[1] =~ /(processes)/) {&Graphs::updateprocessesgraph ("hour");&Graphs::updateprocessesgraph ("week");&Graphs::updateprocessesgraph ("month");&Graphs::updateprocessesgraph ("year");}
 elsif ($cgigraphs[1] =~ /(memory|swap)/) {&Graphs::updatememgraph ("hour");&Graphs::updatememgraph ("week");&Graphs::updatememgraph ("month");&Graphs::updatememgraph ("year");}
@@ -135,7 +136,7 @@ elsif ($cgigraphs[1] =~ /(green|blue|orange|red|ppp|ipsec|cpu|memory|swap|disk|l
 }
 
 print "<div align='center'><table width='80%'><tr><td align='center'>";
-if ( $cgigraphs[1] eq "cpu" || $cgigraphs[1] eq "load" ) { print "<a href='/cgi-bin/system.cgi'>"; }
+if ( $cgigraphs[1] eq "cpu" || $cgigraphs[1] eq "cpufreq" || $cgigraphs[1] eq "load" ) { print "<a href='/cgi-bin/system.cgi'>"; }
 elsif ( $cgigraphs[1] eq "memory" || $cgigraphs[1] eq "swap" ) { print "<a href='/cgi-bin/memory.cgi'>"; }
 elsif ( $cgigraphs[1] eq "processes" ) { print "<a href='/cgi-bin/services.cgi'>"; }
 elsif ( $cgigraphs[1] =~ /disk/ ) { print "<a href='/cgi-bin/media.cgi'>"; }
index 8f79970826e239f781ac0189871688bbd21986c6..5d852176b92baac5073f96cf9b2eeaff9f400a2b 100644 (file)
@@ -39,6 +39,7 @@ my %cgiparams=();
 
 # Generate Graphs from rrd Data
 &Graphs::updatecpugraph ("day");
+&Graphs::updatecpufreqgraph ("day");
 &Graphs::updateloadgraph ("day");
 
 &Header::showhttpheaders();
@@ -59,6 +60,17 @@ if (-e "$Header::graphdir/cpu-day.png") {
 print "<br />\n";
 &Header::closebox();
 
+if (-e "$Header::graphdir/cpufreq-day.png") {
+    &Header::openbox('100%', 'center', "CPU Frequency $Lang::tr{'graph'}");
+       my $ftime = localtime((stat("$Header::graphdir/cpufreq-day.png"))[9]);
+       print "<center><b>$Lang::tr{'the statistics were last updated at'}: $ftime</b></center><br />\n";
+       print "<a href='/cgi-bin/graphs.cgi?graph=cpufreq'>";
+       print "<img alt='' src='/graphs/cpufreq-day.png' border='0' />";
+       print "</a>";
+       print "<br />\n";
+    &Header::closebox();
+}
+
 &Header::openbox('100%', 'center', "Load $Lang::tr{'graph'}");
 if (-e "$Header::graphdir/load-day.png") {
        my $ftime = localtime((stat("$Header::graphdir/load-day.png"))[9]);