[rrd-users] Re: 95th percentile
Stephan Harren
sh at abovenet.de
Wed Apr 23 15:59:19 MEST 2003
#!/usr/bin/perl
my $line;
my $value;
my $percentile95;
my @rrdfetch;
my @allvalues;
@rrdfetch=qx(/usr/local/rrdtool-1.0.39/bin/rrdtool fetch testfile.rrd AVERAGE
-s -30000 -e -300);
chomp @array;
foreach $line (@rrdfetch) {
split(/\s+/,$line);
$value=($_[1] > $_[2]) ? $_[1] : $_[2];
push (@allvalues,$value);
}
@allvalues=sort {$a <=> $b} @allvalues;
foreach (@allvalues) {
print "$_\n";
}
$percentile95=sprintf("%.2f",($allvalues[(sprintf("%.0f",(@allvalues*0.95))-1)]*8/1000));
print "$percentile95 KBytes\n";
This is an example where I use an rrd with in and outvalue. Which one I
choose, I decide by every line so I take the higher 5-minute-value (IN or
OUT) into final calculation. It is also possible to calculate an
IN-percentile and an OUT-percentile and than take the higher one.
HTH,
Stephan
Am Mittwoch, 23. April 2003 15:15 schrieb Tony:
> All the data is 5 minute values.
> I can use fetch to get the data for the last month from the database,
> but it's all in scientific notation, how do I convert this to whole
> numbers?
>
> I'm currently trying to work on a perl script to work out the 95th
> percentile, but getting it to drop the highest 5% is a pain.
>
> Tony
>
--
Unsubscribe mailto:rrd-users-request at list.ee.ethz.ch?subject=unsubscribe
Help mailto:rrd-users-request at list.ee.ethz.ch?subject=help
Archive http://www.ee.ethz.ch/~slist/rrd-users
WebAdmin http://www.ee.ethz.ch/~slist/lsg2.cgi
More information about the rrd-users
mailing list