From 962e79463dc9f1a9e66ffd588f0b1c94291f0be2 Mon Sep 17 00:00:00 2001 From: Andrew DeFaria Date: Tue, 25 Aug 2015 16:50:31 -0700 Subject: [PATCH] Added LoadAvg --- lib/Utils.pm | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/lib/Utils.pm b/lib/Utils.pm index acebce5..9666d81 100644 --- a/lib/Utils.pm +++ b/lib/Utils.pm @@ -74,6 +74,7 @@ our @EXPORT = qw ( GetChildren GetPassword InArray + LoadAvg PageOutput PipeOutput PipeOutputArray @@ -430,6 +431,60 @@ Returns: return $FALSE; } # InArray +sub LoadAvg () { + +=pod + +=head2 LoadAvg () + +Return an array of the 1, 5, and 15 minute load averages. + +Parameters: + +=for html
+ +=over + +=item none + +=back + +=for html
+ +Returns: + +=for html
+ +=over + +=item An array of the 1, 5, and 15 minute load averages in a list context. +In a scalar context just the 1 minute load average. + +=back + +=for html
+ +=cut + + # TODO: Make it work on Windows... + return if $^O =~ /win/i; + + open my $loadAvg, '/proc/loadavg' + or croak "Unable to open /proc/loadavg\n"; + + my $load = <$loadAvg>; + + close $loadAvg; + + my @loadAvgs = split /\s/, $load; + + if (wantarray) { + return @loadAvgs; + } else { + return $loadAvgs[0]; # This is the 1 minute average + } +} # LoadAvg + our $pipe; sub StartPipe ($;$) { @@ -529,7 +584,7 @@ Returns: =cut - open my $pipe, '|-', $to + open my $pipe, '|', $to or error "Unable to open pipe - $!", 1; foreach (@output) { -- 2.17.1