diff --git a/Ceph/Config/userparameter_ceph.conf b/Ceph/Config/userparameter_ceph.conf
index 713d8c774f36bbfd6ed70d66373dd80be65a2d62..94e1801dfb4a199fa65aaeb0a1b0c56bc39906cc 100644
--- a/Ceph/Config/userparameter_ceph.conf
+++ b/Ceph/Config/userparameter_ceph.conf
@@ -7,6 +7,8 @@ UserParameter=ceph.global.objsmis[*],/etc/zabbix/scripts/cephHealth.pl $1 --om
 UserParameter=ceph.global.objsmisfrac[*],/etc/zabbix/scripts/cephHealth.pl $1 --om -f
 UserParameter=ceph.global.rawsize[*],/etc/zabbix/scripts/cephUsage.pl $1
 UserParameter=ceph.global.rawfrac[*],/etc/zabbix/scripts/cephUsage.pl $1 -f
+UserParameter=ceph.global.minfrac[*],/etc/zabbix/scripts/queryCephDisks.pl $1 $2 -i minfrac
+UserParameter=ceph.global.maxfrac[*],/etc/zabbix/scripts/queryCephDisks.pl $1 $2 -i maxfrac
 UserParameter=ceph.global.thrbackfillfull[*],/etc/zabbix/scripts/cephHealth.pl $1 --backfillfullth
 UserParameter=ceph.global.thrnearfull[*],/etc/zabbix/scripts/cephHealth.pl $1 --nearfullth
 UserParameter=ceph.global.thrfull[*],/etc/zabbix/scripts/cephHealth.pl $1 --fullth
@@ -56,12 +58,16 @@ UserParameter=ceph.pgstat.und[*],/etc/zabbix/scripts/cephPg.pl $1 -f und
 # Disks
 UserParameter=ceph.osdsize.all.discovery[*],/etc/zabbix/scripts/queryCephDisks.pl $1 $2 -j
 UserParameter=ceph.osdsize.all.count[*],/etc/zabbix/scripts/queryCephDisks.pl     $1 $2 -s $3
+UserParameter=ceph.osdsize.all.minfrac[*],/etc/zabbix/scripts/cephDiskPerf.pl     $1 $2 -s $3 -i minfrac
+UserParameter=ceph.osdsize.all.maxfrac[*],/etc/zabbix/scripts/cephDiskPerf.pl     $1 $2 -s $3 -i maxfrac
 UserParameter=ceph.osdperf.all.clat[*],/etc/zabbix/scripts/cephDiskPerf.pl        $1 $2 -s $3 -i clat
 UserParameter=ceph.osdperf.all.clatdev[*],/etc/zabbix/scripts/cephDiskPerf.pl     $1 $2 -s $3 -i clat -w dev
 UserParameter=ceph.osdperf.all.alat[*],/etc/zabbix/scripts/cephDiskPerf.pl        $1 $2 -s $3 -i alat
 UserParameter=ceph.osdperf.all.alatdev[*],/etc/zabbix/scripts/cephDiskPerf.pl     $1 $2 -s $3 -i alat -w dev
 UserParameter=ceph.osdsize.this.discovery[*],/etc/zabbix/scripts/queryCephDisks.pl $1 $2 -j -t
 UserParameter=ceph.osdsize.this.count[*],/etc/zabbix/scripts/queryCephDisks.pl     $1 $2 -s $3 -t
+UserParameter=ceph.osdsize.this.minfrac[*],/etc/zabbix/scripts/cephDiskPerf.pl     $1 $2 -s $3 -t -i minfrac
+UserParameter=ceph.osdsize.this.maxfrac[*],/etc/zabbix/scripts/cephDiskPerf.pl     $1 $2 -s $3 -t -i maxfrac
 UserParameter=ceph.osdperf.this.clat[*],/etc/zabbix/scripts/cephDiskPerf.pl        $1 $2 -s $3 -t -i clat
 UserParameter=ceph.osdperf.this.clatdev[*],/etc/zabbix/scripts/cephDiskPerf.pl     $1 $2 -s $3 -t -i clat -w dev
 UserParameter=ceph.osdperf.this.alat[*],/etc/zabbix/scripts/cephDiskPerf.pl        $1 $2 -s $3 -t -i alat
diff --git a/Ceph/Script/cephDiskPerf.pl b/Ceph/Script/cephDiskPerf.pl
index cbdddb9a93b491c175a596a3504cb7d14d5db9ba..f187484242895b474d3d0f06b4a09b3b7afab32b 100755
--- a/Ceph/Script/cephDiskPerf.pl
+++ b/Ceph/Script/cephDiskPerf.pl
@@ -24,7 +24,7 @@ use warnings;
 
 use Getopt::Long;
 use Math::Complex;
-
+use List::Util qw( min max );
 
 sub fail_usage
 {
@@ -87,17 +87,23 @@ if (defined $opt_monhost) {
     $cephCmd .= " -m $opt_monhost";
 }
 #
-my $perfType = "";
+my $perfType = "clat";
+my $fracType = "";
 my $perfWhat = 'avg';
 if (defined $opt_iwant1) {
-    $perfType = $opt_iwant1;
-    fail_usage "Info option -i expects either 'clat' or alat' only."
-	unless ($perfType eq 'alat' || $perfType eq 'clat');
+    fail_usage "Info option -i expects either 'clat'|'alat' or 'minfrac'|'maxfrac' only."
+	unless ($opt_iwant1 eq 'alat' || $opt_iwant1 eq 'clat' || $opt_iwant1 eq 'maxfrac' || $opt_iwant1 eq 'minfrac');
+    if ( $opt_iwant1 eq 'alat' || $opt_iwant1 eq 'clat' ) {
+	$perfType = $opt_iwant1;
+    }
+    if ( $opt_iwant1 eq 'maxfrac' || $opt_iwant1 eq 'minfrac' ) {
+	$fracType = $opt_iwant1;
+    }
 }
 if (defined $opt_iwant2) {
     $perfWhat = $opt_iwant2;
-    fail_usage "Info option -w currently expects 'dev' only."
-	unless ($perfWhat eq 'dev');
+    fail_usage "Info option -w currently expects 'dev' only, in conjunction with -i 'clat'|'alat'"
+	unless ($perfWhat eq 'dev' and ($perfType eq 'alat' || $perfType eq 'clat'));
 }
 #
 my $thisHost = 0;
@@ -154,6 +160,8 @@ my @_dataSize = `$cephCmd osd df`;
 chomp @_dataSize;
 my %dataSizeH = ();
 my %dataTypeH = ();
+my %fracSizeH = ();
+my %fracTypeH = ();
 foreach my $_lineS (@_dataSize)
 {
     # Removing leading and trailing blanks
@@ -163,6 +171,7 @@ foreach my $_lineS (@_dataSize)
     next unless ($fields[0] =~ /^\d+$/);
     my $osdNum = $fields[0];
     my $type = $fields[1];
+    my $frac = $fields[7];
     my $size = $fields[4];
     my $sizeLastChar = lc(chop($size));
     if ($sizeLastChar eq "t") {
@@ -170,10 +179,12 @@ foreach my $_lineS (@_dataSize)
     } elsif ($sizeLastChar eq "g") {
 	$size += 0.;
     } else {
-	$size = $fields[3];
+	$size = $fields[4];
     }
     push (@{$dataSizeH{$size}}, $osdNum);
     push (@{$dataTypeH{$type}}, $osdNum);
+    push (@{$fracSizeH{$size}}, $frac);
+    push (@{$fracTypeH{$type}}, $frac);
 }
 
 # Fetch the data from 'ceph osd perf' and put it in an hash indexed by osd#
@@ -212,16 +223,24 @@ print "Select: $selectMin - $selectSize - $selectMax\n" if (defined $opt_debug);
 
 my @latArray = ();
 my $count = 0;
+my $minFrac = 100.;
+my $maxFrac = 0.;
 if ($selectSizeOrDev) {
     foreach my $aKey (sort {$a<=>$b} keys %dataSizeH) {
 	next unless $aKey >= $selectMin;
 	next if $aKey >= $selectMax;
 	foreach my $elem (sort {$a<=> $b} @{$dataSizeH{$aKey}}) {
 	    next if ($thisHost && not exists $osdThisHost{$elem});
-	    print "Push: OSD=$elem size=$aKey lat=".$dataHash{$elem}{$perfType}."\n" if (defined $opt_debug);
+	    print "PerfType;ush: OSD=$elem size=$aKey lat=".$dataHash{$elem}{$perfType}."\n" if (defined $opt_debug);
 	    push (@latArray, $dataHash{$elem}{$perfType});
 	    $count++;
 	}
+	my $aMinFrac = min( @{$fracSizeH{$aKey}});
+	my $aMaxFrac = max( @{$fracSizeH{$aKey}});
+	print "    min/max frac: ".$aMinFrac."/".$aMaxFrac."\n" if (defined $opt_debug);
+	$minFrac = $aMinFrac if ( $aMinFrac < $minFrac );
+	$maxFrac = $aMaxFrac if ( $aMaxFrac > $maxFrac );
+	print "New min/max frac: ".$aMinFrac."/".$aMaxFrac."\n" if (defined $opt_debug);
     }
 } else {
     foreach my $aKey (sort keys %dataTypeH) {
@@ -232,6 +251,12 @@ if ($selectSizeOrDev) {
 	    push (@latArray, $dataHash{$elem}{$perfType});
 	    $count++;
 	}
+	my $aMinFrac = min( @{$fracTypeH{$aKey}});
+	my $aMaxFrac = max( @{$fracTypeH{$aKey}});
+	print "    min/max frac: ".$aMinFrac."/".$aMaxFrac."\n" if (defined $opt_debug);
+	$minFrac = $aMinFrac if ( $aMinFrac < $minFrac );
+	$maxFrac = $aMaxFrac if ( $aMaxFrac > $maxFrac );
+	print "New min/max frac: ".$aMinFrac."/".$aMaxFrac."\n" if (defined $opt_debug);
     }
 }
 print "Count: $count\n" if (defined $opt_debug);
@@ -251,11 +276,20 @@ for (@latArray) {
 $avgValue = $sumLin / ($count + 0.);
 $stdValue = sqrt(($sumSq / $count) - $avgValue * $avgValue);
 print "Avg: $avgValue Std: $stdValue\n" if (defined $opt_debug);
-if ($perfWhat eq 'dev') {
-    print "$stdValue\n";
+if ( $fracType ne "" ) {
+    if ($fracType eq 'minfrac') {
+	print "$minFrac\n";
+    } elsif ($fracType eq 'maxfrac') {
+	print "$maxFrac\n";
+    }
 } else {
-    print "$avgValue\n";
+    if ($perfWhat eq 'dev') {
+	print "$stdValue\n";
+    } elsif ($perfWhat eq 'avg') {
+	print "$avgValue\n";
+    }
 }
+
 #
 exit 0;
 
diff --git a/Ceph/Script/queryCephDisks.pl b/Ceph/Script/queryCephDisks.pl
index 017f47f6cc1ee00b0b262276698b23d959bcb11e..4e208ec452c9f1561c230a31694030bba13caecc 100755
--- a/Ceph/Script/queryCephDisks.pl
+++ b/Ceph/Script/queryCephDisks.pl
@@ -47,7 +47,7 @@ use strict;
 use warnings;
 
 use Getopt::Long;
-
+use List::Util qw( min max );
 
 sub fail_usage
 {
@@ -63,7 +63,7 @@ chomp $_sudo;
 
 ### Options
 our($opt_exec, $opt_exec2, $opt_become, $opt_cluster, $opt_user, $opt_keyring, $opt_monhost, 
-    $opt_json, $opt_thishost, $opt_sizeOrDev, $opt_select, $opt_range, $opt_debug, $opt_h);
+    $opt_json, $opt_thishost, $opt_iwant, $opt_sizeOrDev, $opt_select, $opt_range, $opt_debug, $opt_h);
 if (@ARGV > 0) {
     GetOptions("e=s"=>\$opt_exec,
 	       "l=s"=>\$opt_exec2,
@@ -74,6 +74,7 @@ if (@ARGV > 0) {
                "m=s"=>\$opt_monhost,
                "j"  =>\$opt_json,
                "t"  =>\$opt_thishost,
+	       "i=s"=>\$opt_iwant,
                "p"  =>\$opt_sizeOrDev,
                "s=s"=>\$opt_select,
                "r=f"=>\$opt_range,
@@ -109,6 +110,15 @@ if (defined $opt_monhost) {
     $cephCmd .= " -m $opt_monhost";
 }
 #
+my $wantWhat = 'count';
+if (defined $opt_iwant) {
+    $wantWhat = $opt_iwant;
+    fail_usage "Info option -i expects 'minfrac'|'maxfrac' only."
+	unless ($wantWhat eq 'minfrac' || $wantWhat eq 'maxfrac');
+    fail_usage "Info option -i is incompatible with options -s and -t."
+	if (defined $opt_thishost || defined $opt_select);
+}
+#
 my $doJson = 0;
 if (defined $opt_json) {
     $doJson = 1;
@@ -173,6 +183,7 @@ chomp @_data;
 my %dataHash = ();
 my %typeHash = ();
 my %finalHash = ();
+my @fracUsed = ();
 # Read the array and print the wanted data
 foreach my $_line (@_data)
 {
@@ -183,6 +194,7 @@ foreach my $_line (@_data)
     next unless ($fields[0] =~ /^\d+$/);
     my $osdNum = $fields[0];
     my $type = $fields[1];
+    my $frac = $fields[7];
     my $size = $fields[4];
     my $sizeLastChar = lc(chop($size));
     if ($sizeLastChar eq "t") {
@@ -190,12 +202,15 @@ foreach my $_line (@_data)
     } elsif ($sizeLastChar eq "g") {
 	$size += 0.;
     } else {
-	$size = $fields[3];
+	$size = $fields[4];
     }
     next unless ($size);
     push (@{$dataHash{$size}}, $osdNum);
     push (@{$typeHash{$type}}, $osdNum);
+    push (@fracUsed, $frac);
 }
+my $minFrac = min(@fracUsed);
+my $maxFrac = max(@fracUsed);
 
 my $lastKey = 0.;
 my $selectMin = 0.;
@@ -295,7 +310,13 @@ foreach my $key (sort keys %finalHash) {
 }
 
 if (!$doJson) {
-    print $_count . "\n";
+    if ($wantWhat eq 'count') {
+	print $_count . "\n";
+    } elsif ($wantWhat eq 'minfrac') {
+	print $minFrac . "\n";
+    } elsif ($wantWhat eq 'maxfrac') {
+	print $maxFrac . "\n";
+    }
 } else {
     $outJson .= "\n\t]\n";
     $outJson .= "}\n";