diff --git a/Ceph/Script/cephUsage.pl b/Ceph/Script/cephUsage.pl index 0a22df1ee47ee42aed166f3513a50d640ad3e8d2..7c5fbeb35d613221d7739fc16fa48362aa220f83 100755 --- a/Ceph/Script/cephUsage.pl +++ b/Ceph/Script/cephUsage.pl @@ -31,6 +31,7 @@ sub convertNumber if ($toWhat eq 'size') { # return unit: T $string =~ s/iB$//; + $string =~ s/B$//; $value = $string; my $lastChar = lc(chop($string)); if ($lastChar eq "p") { @@ -178,19 +179,25 @@ foreach my $_line (@_data) $poolTest = $fields[1]; } if (exists $poolHash{$poolTest}) { - $poolHash{$poolTest}{'size'} += convertNumber($fields[6],'size'); - $poolHash{$poolTest}{'tot'} = convertNumber($fields[8],'size') unless ($poolHash{$poolTest}{'tot'} > convertNumber($fields[8],'size')); - if ( $poolHash{$poolTest}{'tot'} > 0. ) { - $poolHash{$poolTest}{'frac'} = $poolHash{$poolTest}{'size'} / $poolHash{$poolTest}{'tot'}; + $poolHash{$poolTest}{'used'} += convertNumber($fields[5],'size'); + $poolHash{$poolTest}{'size'} += convertNumber($fields[12],'size'); + my $tempFrac = $fields[6]; + my $tempMax = convertNumber($fields[7],'size'); + $tempMax = $poolHash{$poolTest}{'used'}/$tempFrac/0.01 if ($tempFrac > 1.); + $poolHash{$poolTest}{'max'} = $tempMax unless ($poolHash{$poolTest}{'max'} > $tempMax); + if ( $poolHash{$poolTest}{'max'} > 0. ) { + $poolHash{$poolTest}{'frac'} = $poolHash{$poolTest}{'used'} / $poolHash{$poolTest}{'max'}; } $poolHash{$poolTest}{'objs'} += convertNumber($fields[9],'count'); } else { - $poolHash{$poolTest}{'size'} = convertNumber($fields[6],'size'); - $poolHash{$poolTest}{'frac'} = 0.; - $poolHash{$poolTest}{'tot'} = convertNumber($fields[8],'size'); + $poolHash{$poolTest}{'used'} = convertNumber($fields[5],'size'); + $poolHash{$poolTest}{'size'} = convertNumber($fields[12],'size'); + $poolHash{$poolTest}{'frac'} = $fields[6]; + $poolHash{$poolTest}{'max'} = convertNumber($fields[7],'size'); + $poolHash{$poolTest}{'max'} = $poolHash{$poolTest}{'used'}/$poolHash{$poolTest}{'frac'}/0.01 if ($poolHash{$poolTest}{'frac'} > 1.); $poolHash{$poolTest}{'objs'} = convertNumber($fields[9],'count'); } - print "POOL: $poolTest ".$poolHash{$poolTest}{'size'}." ".$poolHash{$poolTest}{'frac'}." ".$poolHash{$poolTest}{'objs'}."\n" if (defined $opt_debug); + print "POOL: $poolTest ".$poolHash{$poolTest}{'used'}." ".$poolHash{$poolTest}{'max'}." ".$poolHash{$poolTest}{'size'}." ".$poolHash{$poolTest}{'frac'}." ".$poolHash{$poolTest}{'objs'}."\n" if (defined $opt_debug); } if (defined $opt_debug) {