<div dir="ltr">Oops, I think I didn't really understand your question...<div>The answer should be: store your percentiles separately (in separate DS-es) and choose the aggregation function that makes most sense in your case, for example the average.</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Aug 17, 2014 at 8:19 PM, Rafal Gwizdala <span dir="ltr"><<a href="mailto:rafal.gwizdala@gmail.com" target="_blank">rafal.gwizdala@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">There's no 'percentile' consolidation function and it can't be derived from other statistical functions available in rrdtool, so i think it would be better to calculate the percentiles before storing them in RRD.<div>
This would of course require storing the data for extended periods of time, and to calculate 24h percentile you'd have to store 24 h worth of samples, which could be difficult.</div><div>Here's a link to some approximate method which doesn't require you to store all samples because it's based on histograms. And histograms are an 'additive' measure, so you can add 24 hourly histograms together to calculate a daily percentile. <a href="http://techblog.molindo.at/2009/11/efficiently-tracking-response-time-percentiles.html" target="_blank">http://techblog.molindo.at/2009/11/efficiently-tracking-response-time-percentiles.html</a></div>
<div><br></div><div>I'm also doing some percentile calculations for app performance data, but I'm using a different approach: a fixed time window of 5 minutes and I calculate multiple measures for that period: average, median, 95th, 98th and 99th percentile. These measures are then writtend to a RRD file every minute.<br>
</div><div><br></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Aug 17, 2014 at 6:57 PM, Peter <span dir="ltr"><<a href="mailto:pspiegler@gmx.de" target="_blank">pspiegler@gmx.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
I use rrdtool to store measurement data in rrd files used by Cacti.<br>
The measurement data have an interval of 50 ms.<br>
I need Average, Max, 99% and 5% Percentil.<br>
I used the lowest possible step size in the rrd files:1 second.<br>
For Average & Max I created separate rrd files with RRAs:<br>
1s: for a week , 1 min: for a month , 5 min: for a year<br>
My program now calculate every second the max & avg values and updates the<br>
rrd files.<br>
This works fine, also in Cacti.<br>
<br>
Is a solution possible for the percentiles?<br>
The prefered solution would be: based on the 50 ms data.<br>
But a 50 ms step size is not possible.<br>
<br>
And percentiles of small intervals are not so interesting.<br>
I could calculate the percentiles in my program for intervals<br>
5/10/15/30/60 min, 3/6/12/24 hours<br>
<br>
But how should I define the rrd file and update the rra for this intervals?<br>
Now the RRA are calculated from rrdupdate by the given consolidation<br>
function.<br>
Or can I set each RRA manually?<br>
<br>
<br>
And Cacti need also a consolition function to create a DEF for rrdgraph ,<br>
i.e. for MAX<br>
DEF:a="/Data/rrd/DataMax.rrd":"DATAMAX":MAX \<br>
Which RRA use rrdgraph (called by Cacti)?<br>
If rrdgraph use always the RRA with the smallest matching intervall, so I<br>
can use LAST or MAX (for 99%), MIN (for 5% ).<br>
<br>
<br>
Peter<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://rrd-mailinglists.937164.n2.nabble.com/Save-and-Calculate-Percentil-tp7582357.html" target="_blank">http://rrd-mailinglists.937164.n2.nabble.com/Save-and-Calculate-Percentil-tp7582357.html</a><br>
Sent from the RRDtool Users Mailinglist mailing list archive at Nabble.com.<br>
<br>
_______________________________________________<br>
rrd-users mailing list<br>
<a href="mailto:rrd-users@lists.oetiker.ch" target="_blank">rrd-users@lists.oetiker.ch</a><br>
<a href="https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users" target="_blank">https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users</a><br>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>