The problem with calculating Percentiles accurately is that you need all the data samples to calculate it; you cannot progressively increment the calculation in the way you can with something like MAX or AVG.
As a result, you end up with one of three situations -- 1. You calculate the percentile on the fly based on the AVG data. This is how Routers2(MRTG) does it; the downside is that, as the RRA consolidation step size increases, so does the inaccuracy of the Percentile calculation as you lose detail with each averaging step. 2. Keep the high-detail PDP, and calculate the percentile from them. This is how Routers2 does it if there exists a high-granularity RRA (usually, there isn't one), and how the RRDTool PERCENTILE function does it. The downside with this is that it can potentially be very CPU intensive if there are a very large number of PDP to analyse. 3. Keep the high-detail PDP in the RRA prep area and consolidate in the RRA. This is not currently possible, as there is not a 'PERCENTILE' type RRA. The likely reason for this is that the PDP prep area is simply not large enough to hold the potentially huge number of individual PDP that would be necessary; RRA consolidation is progressive (eg: newavg = (n*oldavg + newpdp)/(n+1)) and so needs only a small prep area. So, in summary, you cannot do this in the RRA. You can use the PERCENTILE function to do it on the fly at graph time, but this is potentially CPU intensive, and will be progressively more inaccurate unless you keep high-resolution RRA data to cover the entire period of the graph. Steve Steve Shipway [email protected]
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ rrd-users mailing list [email protected] https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users
