# [rrd-users] RRD PERCENT question (95 percentile)

Andree Toonk andree.toonk at bc.net
Wed May 12 20:31:17 CEST 2010

```Hi Alex, List,

.-- My secret spy satellite informs me that at 12/05/10 12:08 AM  Alex
van den Bogaerdt wrote:

> Please see if the number on position 1095 or 1097 equals that of what
> rrdtool finds.

It seems that the numbers most closely are on position:
1089 for IN
1086 for OUT

So that's strange for 2 reasons. One I can't seem to find the exact
sample value in the output of RRD fetch. Even is it uses round, it's
still quite far of.
Two, the values are on different positions (in / out).

> Your calculation: 1153 samples, 95% = 1095,35 so you take 1096.
> RRDtool: round(95*1152/100)=1094, based on an array with first member is 0,
> so 1094 is the 1095th position.
> If I recall correctly, the original version did use truncation instead of
> rounding, which makes no difference in this case.
>
> Anyway, unless I made a mistake here, rrdtool takes data[1094] and you take
> data[1096].  Your returned value should be higher than what RRDtool reports.

This is what RRDtool reports:
95IN 8.6721M
95OUT 8.4774M

These are some the sorted 'fetched' values:
IN/OUT   position    Value    Timestamp

IN 1080	8129584		 1272047400
IN 1081	8193496		 1272054900
IN 1082	8297464		 1272160800
IN 1083	8412152		 1272054300
IN 1084	8547928		 1271906400
IN 1085	8551208		 1272052200
IN 1086	8647712		 1272060000
IN 1087	8686832		 1272055500
IN 1088	8688120		 1272159600
IN 1089	8828728		 1272057600
IN 1090	8846536		 1272050400
IN 1091	8966696		 1272052500
IN 1092	9055064		 1272238800
IN 1093	9121816		 1271895600
IN 1094	9123760		 1272050700
IN 1095	9164488		 1272159000
IN 1096	9227448		 1272234600
IN 1097	9234184		 1272057000
IN 1098	9264672		 1272049200
IN 1099	9275656		 1272058200
IN 1100	9283128		 1272237000

OUT 1085	8228392		 1272040200
OUT 1086	8370536		 1272050400
OUT 1087	8382904		 1271894400
OUT 1088	8423032		 1272049500
OUT 1089	8478456		 1272061500
OUT 1090	8482616		 1272058200
OUT 1091	8489504		 1271904300
OUT 1092	8518072		 1271973900
OUT 1093	8725088		 1271961900
OUT 1094	8759296		 1272062400
OUT 1095	8843688		 1271998500
OUT 1096	8851120		 1271953500
OUT 1097	8864888		 1271997600
OUT 1098	8878360		 1271966400
OUT 1099	9039032		 1271964600
OUT 1100	9050112		 1271997300

>> I would like to use RRDtool for this, but need to be sure that the
>> numbers are correct, i.e understand why the numbers are different than
>> when calculated manually.
>
> I would also worry why it is opposite to what I reasoned above.

Yes indeed.
Based on the above I'm still worried. I can only imagine I am doing
something wrong when verifying or it's something in RRDtool.

As I mentioned I've posted all data + scripts here:
http://toonk.nl/rrdtest/

I would really appreciate if someone could verify this as well. Based on
what I've tested so far it seems to return a 'incorrect' result. Or my
test script is doing something wrong.

Any help is greatly appreciated.

Thanks,
Andree

--
Andree Toonk
BCNET
Suite 7300, SFU Harbour Centre
515 West Hastings St.
Vancouver, BC, V6B 5K3

```