diff options
| author | Paul Buetow <paul@buetow.org> | 2012-06-23 15:54:11 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2012-06-23 15:54:11 +0200 |
| commit | a6a27e651da5e52c6ca1b0254f38cdc65afdca55 (patch) | |
| tree | 44041a8422b30044e68186ee7ef18401105ed769 /lib/Loadbars/Main.pm | |
| parent | 6fefdd8711af61d6f7b5bdcca9b242a92a529e1d (diff) | |
calculate loadavg remote
Diffstat (limited to 'lib/Loadbars/Main.pm')
| -rw-r--r-- | lib/Loadbars/Main.pm | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/lib/Loadbars/Main.pm b/lib/Loadbars/Main.pm index afce58c..945e197 100644 --- a/lib/Loadbars/Main.pm +++ b/lib/Loadbars/Main.pm @@ -121,11 +121,32 @@ sub stats_thread ($;$) { close \\\$fh; } - for (0..$C{samples}) { - loadavg(); + sub parse_cpu_line { + my \\\$line = shift; + my ( \\\$name, \%load ); + + ( \\\$name, \@load{qw(user nice system idle iowait irq softirq steal guest)} ) = + split ' ', \\\$line; + + # Not all kernels support this + \\\$load{steal} = 0 unless defined \\\$load{steal}; + \\\$load{guest} = 0 unless defined \\\$load{guest}; + + \\\$load{TOTAL} = + sum( \@load{qw(user nice system idle iowait irq softirq steal guest)} ); + + return ( \\\$name, \%load ); + } + sub cpu { printf qq(CPUSTATS\n); cat(qq(/proc/stat)); + } + + for (0..$C{samples}) { + loadavg(); + cpu(); + printf qq(MEMSTATS\n); cat(qq(/proc/meminfo)); printf qq(NETSTATS\n); |
