summaryrefslogtreecommitdiff
path: root/loadbars.pl
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2011-01-17 22:06:27 +0000
committerPaul Buetow <paul@buetow.org>2011-01-17 22:06:27 +0000
commit9caed2297b2050e820f5f5f8eba39eb0b76bced8 (patch)
tree4347e27f8cccd287222df7a28def21802a8313cf /loadbars.pl
parente3d518124980ba490929c5eeeb09214095fc40fd (diff)
some stuff
Diffstat (limited to 'loadbars.pl')
-rwxr-xr-xloadbars.pl24
1 files changed, 14 insertions, 10 deletions
diff --git a/loadbars.pl b/loadbars.pl
index 0805a60..0701169 100755
--- a/loadbars.pl
+++ b/loadbars.pl
@@ -155,7 +155,7 @@ BASH
my $cpuregexp = qr/$CONF{cpuregexp}/;
- while (<$pipe>) {
+ while (<$pipe>) {
if (/^$loadavgexp/) {
$AVGSTATS{$host} = "$1;$2;$3";
@@ -244,7 +244,6 @@ sub thr_display_stats () {
my $num_stats = keys %CPUSTATS;
my $factor = $CONF{factor};
- my $width = $CONF{width} / $num_stats - 1;
my $rects = {};
my %prev_stats;
@@ -278,6 +277,7 @@ sub thr_display_stats () {
do {
my ($x, $y) = (0, 0);
+ my %avg_display;
my $new_num_stats = keys %CPUSTATS;
if ($new_num_stats != $num_stats) {
@@ -289,7 +289,7 @@ sub thr_display_stats () {
#draw_background $app, $rects;
}
- $width = $CONF{width} / $num_stats - 1;
+ my $width = $CONF{width} / $num_stats - 1;
for my $key (sort keys %CPUSTATS) {
my ($host, $name) = split ';', $key;
@@ -316,7 +316,9 @@ sub thr_display_stats () {
%loads = normalize_loads %loads;
push @{$last_loads{$key}}, \%loads;
shift @{$last_loads{$key}} while @{$last_loads{$key}} >= $CONF{average};
+
my %cpuaverage = get_cpuaverage $factor, @{$last_loads{$key}};
+ my @loadavg = split ';', $AVGSTATS{$host};
my %heights = map {
$_ => defined $cpuaverage{$_} ? $cpuaverage{$_} * ($CONF{height}/100) : 1
@@ -372,11 +374,14 @@ sub thr_display_stats () {
$app->print($x, 45, sprintf "%d%s", $cpuaverage{system}, 'sy');
$app->print($x, 65, sprintf "%d%s", $system_n_user, 'su');
- my @loadavg = split ';', $AVGSTATS{$host};
- $app->print($x, 85, 'avg:');
- $app->print($x, 105, sprintf "%.2f", $loadavg[0]);
- $app->print($x, 125, sprintf "%.2f", $loadavg[1]);
- $app->print($x, 145, sprintf "%.2f", $loadavg[2]);
+ unless (exists $avg_display{$host}) {
+ $app->print($x, 85, 'avg:');
+ $app->print($x, 105, sprintf "%.2f", $loadavg[0]);
+ $app->print($x, 125, sprintf "%.2f", $loadavg[1]);
+ $app->print($x, 145, sprintf "%.2f", $loadavg[2]);
+
+ $avg_display{$host} = 1;
+ }
}
$app->update($_) for $rect_nice, $rect_iowait, $rect_system, $rect_user;
@@ -503,7 +508,6 @@ Explanation colors:
Orange: User usage if system & user cpu is >70%
White: Usage usage if system & user cpu is >99%
Green: Nice cpu usage
-
Explanation text display:
ni = Nice cpu usage in %
us = User cpu usage in %
@@ -545,7 +549,7 @@ END
$d_by_short{$_}{mode} & 1 and exists $d_by_short{$_}{help}
} sort { $d_by_short{$a}{menupos} <=> $d_by_short{$b}{menupos} } sort keys %d_by_short)
- . "\n\n$textdesc";
+ . "\n$textdesc";
} elsif ($arg eq 'usage') {
join "\n", map {