fix diskio parser

This commit is contained in:
garnier-quentin 2019-10-11 15:31:39 +02:00
parent 48e5c7da0d
commit f8090c2654
1 changed files with 10 additions and 7 deletions

View File

@ -49,8 +49,11 @@ sub custom_utils_calc {
($options{new_datas}->{$self->{instance} . '_cpu_system'} - $options{old_datas}->{$self->{instance} . '_cpu_system'}) ($options{new_datas}->{$self->{instance} . '_cpu_system'} - $options{old_datas}->{$self->{instance} . '_cpu_system'})
) )
/ $options{new_datas}->{$self->{instance} . '_cpu_total'} / 100; / $options{new_datas}->{$self->{instance} . '_cpu_total'} / 100;
$self->{result_values}->{utils} = 100 * ($options{new_datas}->{$self->{instance} . '_ticks'} - $options{old_datas}->{$self->{instance} . '_ticks'}) / $delta_ms; $self->{result_values}->{utils} = 0;
$self->{result_values}->{utils} = 100 if ($self->{result_values}->{utils} > 100); if ($delta_ms != 0) {
$self->{result_values}->{utils} = 100 * ($options{new_datas}->{$self->{instance} . '_ticks'} - $options{old_datas}->{$self->{instance} . '_ticks'}) / $delta_ms;
$self->{result_values}->{utils} = 100 if ($self->{result_values}->{utils} > 100);
}
return 0; return 0;
} }
@ -183,9 +186,9 @@ sub manage_selection {
command_options => $self->{option_results}->{command_options} command_options => $self->{option_results}->{command_options}
); );
$stdout =~ /\/proc\/stat(.*)\/proc\/diskstats.*?\n(.*)/msg; $stdout =~ /\/proc\/stat(.*?)\/proc\/diskstats.*?\n(.*)/msg;
my ($cpu_parts, $disk_parts) = ($1, $2); my ($cpu_parts, $disk_parts) = ($1, $2);
# Manage CPU Parts # Manage CPU Parts
$cpu_parts =~ /^cpu\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/ms; $cpu_parts =~ /^cpu\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/ms;
@ -196,9 +199,9 @@ sub manage_selection {
} }
$self->{device} = {}; $self->{device} = {};
while ($disk_parts =~ /^\s*(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+/msg) { while ($disk_parts =~ /^\s*\S+\s+\S+\s+(\S+)\s+\S+\s+\S+\s+(\S+)\s+(\S+)\s+\S+\s+\S+\s+(\S+)\s+(\S+)\s+\S+\s+\S+\s+(\S+)\s*$/msg) {
my ($partition_name, $read_sector, $write_sector, $read_ms, $write_ms, $ms_ticks) = ($3, $6, $10, $7, $11, $13); my ($partition_name, $read_sector, $write_sector, $read_ms, $write_ms, $ms_ticks) = ($1, $2, $4, $3, $5, $6);
next if (defined($self->{option_results}->{name}) && defined($self->{option_results}->{use_regexp}) && defined($self->{option_results}->{use_regexpi}) next if (defined($self->{option_results}->{name}) && defined($self->{option_results}->{use_regexp}) && defined($self->{option_results}->{use_regexpi})
&& $partition_name !~ /$self->{option_results}->{name}/i); && $partition_name !~ /$self->{option_results}->{name}/i);
next if (defined($self->{option_results}->{name}) && defined($self->{option_results}->{use_regexp}) && !defined($self->{option_results}->{use_regexpi}) next if (defined($self->{option_results}->{name}) && defined($self->{option_results}->{use_regexp}) && !defined($self->{option_results}->{use_regexpi})