mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-09 18:45:54 +02:00
Add cpufreq graph
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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'>"; }
|
||||
|
||||
@@ -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]);
|
||||
|
||||
Reference in New Issue
Block a user