diff options
Diffstat (limited to '.local/bin/blocks/cpu')
-rwxr-xr-x | .local/bin/blocks/cpu | 45 |
1 files changed, 22 insertions, 23 deletions
diff --git a/.local/bin/blocks/cpu b/.local/bin/blocks/cpu index 44c1189..e955d4b 100755 --- a/.local/bin/blocks/cpu +++ b/.local/bin/blocks/cpu @@ -11,7 +11,7 @@ use warnings; use utf8; use Getopt::Long; -# default values +# Default values. my $t_warn = $ENV{T_WARN} // 50; my $t_crit = $ENV{T_CRIT} // 80; my $cpu_usage = -1; @@ -19,44 +19,43 @@ my $decimals = $ENV{DECIMALS} // 2; my $label = $ENV{LABEL} // ""; sub help { - print "Usage: cpu_usage [-w <warning>] [-c <critical>] [-d <decimals>]\n"; - print "-w <percent>: warning threshold to become yellow\n"; - print "-c <percent>: critical threshold to become red\n"; - print "-d <decimals>: Use <decimals> decimals for percentage (default is $decimals) \n"; - exit 0; + print "Usage: cpu_usage [-w <warning>] [-c <critical>] [-d <decimals>]\n"; + print "-w <percent>: warning threshold to become yellow\n"; + print "-c <percent>: critical threshold to become red\n"; + print "-d <decimals>: Use <decimals> decimals for percentage (default is $decimals) \n"; + exit 0; } GetOptions("help|h" => \&help, - "w=i" => \$t_warn, - "c=i" => \$t_crit, - "d=i" => \$decimals, + "w=i" => \$t_warn, + "c=i" => \$t_crit, + "d=i" => \$decimals, ); -# Get CPU usage +# Get CPU usage. $ENV{LC_ALL}="en_US"; # if mpstat is not run under en_US locale, things may break, so make sure it is open (MPSTAT, 'mpstat 1 1 |') or die; while (<MPSTAT>) { - if (/^.*\s+(\d+\.\d+)[\s\x00]?$/) { - $cpu_usage = 100 - $1; # 100% - %idle - last; - } + if (/^.*\s+(\d+\.\d+)[\s\x00]?$/) { + $cpu_usage = 100 - $1; # 100% - %idle + last; + } } close(MPSTAT); $cpu_usage eq -1 and die 'Can\'t find CPU information'; -# Print short_text, full_text -print "${label}"; -printf "%.${decimals}f%%\n", $cpu_usage; -print "${label}"; -printf "%.${decimals}f%%\n", $cpu_usage; +# Full text. +printf "%s %.${decimals}f%%\n", $label, $cpu_usage; +# Short text. +printf "%s %.${decimals}f%%\n", $label, $cpu_usage; -# Print color, if needed +# Print color, if needed. if ($cpu_usage >= $t_crit) { - print "#FF0000\n"; - exit 33; + print "#FF0000\n"; + exit 33; } elsif ($cpu_usage >= $t_warn) { - print "#FFFC00\n"; + print "#FFFC00\n"; } exit 0; |