diff options
| author | Paul Buetow <paul@buetow.org> | 2012-06-23 17:18:16 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2012-06-23 17:18:16 +0200 |
| commit | 1ab5f6d017ac0f115df4a0160c1d87b7dc6f35ad (patch) | |
| tree | 4fdb07844a3967d09d2248c8fd7d3243a6ea5e2f /lib | |
| parent | 12bc3f5c6c644f87ae597357d57e40eddc94d396 (diff) | |
fix avg stats bug
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/Loadbars/Main.pm | 19 | ||||
| -rw-r--r-- | lib/Loadbars/Shared.pm | 6 |
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; |
