summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2012-06-23 17:18:16 +0200
committerPaul Buetow <paul@buetow.org>2012-06-23 17:18:16 +0200
commit1ab5f6d017ac0f115df4a0160c1d87b7dc6f35ad (patch)
tree4fdb07844a3967d09d2248c8fd7d3243a6ea5e2f /lib
parent12bc3f5c6c644f87ae597357d57e40eddc94d396 (diff)
fix avg stats bug
Diffstat (limited to 'lib')
-rw-r--r--lib/Loadbars/Main.pm19
-rw-r--r--lib/Loadbars/Shared.pm6
2 files changed, 18 insertions, 7 deletions
diff --git a/lib/Loadbars/Main.pm b/lib/Loadbars/Main.pm
index 9f9f074..95a8e7d 100644
--- a/lib/Loadbars/Main.pm
+++ b/lib/Loadbars/Main.pm
@@ -109,6 +109,7 @@ sub stats_thread ($;$) {
use Time::HiRes qw(usleep);
my \\\$whitespace_re = qr/ +/;
+ my \\\$usleep = $interval * 1000000;
sub cat {
my \\\$file = shift;
@@ -150,17 +151,17 @@ sub stats_thread ($;$) {
net();
printf qq(M CPUSTATS\n);
- for (1..$interval*10) {
+ for (1..10) {
cat(qq(/proc/stat));
- usleep(1000000 * $interval);
+ usleep(\\\$usleep);
}
net();
printf qq(M CPUSTATS\n);
- for (1..$interval*10) {
+ for (1..10) {
cat(qq(/proc/stat));
- usleep(1000000 * $interval);
+ usleep(\\\$usleep);
}
}
'
@@ -202,6 +203,7 @@ REMOTECODE
if ( $mode == 0 ) {
$AVGSTATS{$host} = $_;
+ $AVGSTATS_HAS{$host} = 1;
}
elsif ( $mode == 1 ) {
if (0 == index $_, $cpustring) {
@@ -407,6 +409,7 @@ sub loop ($@) {
set_showcores_regexp;
$_->kill('USR1') for @threads;
%AVGSTATS = ();
+ %AVGSTATS_HAS = ();
%CPUSTATS = ();
$redraw_background = 1;
display_info 'Toggled CPUs';
@@ -744,7 +747,13 @@ sub loop ($@) {
my ( $y, $space ) = ( 5, $font_height );
- my @loadavg = split ';', $AVGSTATS{$host};
+ my @loadavg = do {
+ if (defined $AVGSTATS_HAS{$host}) {
+ split ';', $AVGSTATS{$host};
+ } else {
+ (undef, undef,undef);
+ }
+ };
if ( $C{showtext} ) {
if ( $C{showmem} && $is_host_summary ) {
diff --git a/lib/Loadbars/Shared.pm b/lib/Loadbars/Shared.pm
index f8d04a4..17b2a69 100644
--- a/lib/Loadbars/Shared.pm
+++ b/lib/Loadbars/Shared.pm
@@ -6,8 +6,9 @@ use base 'Exporter';
our @EXPORT = qw(
%PIDS
- %AVGSTATS
%CPUSTATS
+ %AVGSTATS
+ %AVGSTATS_HAS
%MEMSTATS
%MEMSTATS_HAS
%NETSTATS
@@ -17,8 +18,9 @@ our @EXPORT = qw(
);
our %PIDS : shared;
-our %AVGSTATS : shared;
our %CPUSTATS : shared;
+our %AVGSTATS : shared;
+our %AVGSTATS_HAS : shared;
our %MEMSTATS : shared;
our %MEMSTATS_HAS : shared;
our %NETSTATS : shared;