Add cpufreq graph

This commit is contained in:
Arne Fitzenreiter
2008-08-02 11:22:30 +02:00
parent d2c65e371a
commit 0950b1ec8e
3 changed files with 67 additions and 1 deletions

View 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 {

View 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'>"; }

View 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]);