<div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 27 October 2015 at 18:17, Donovan Baarda <span dir="ltr"><<a href="mailto:abo@minkirri.apana.org.au" target="_blank">abo@minkirri.apana.org.au</a>></span> wrote:</div><div class="gmail_quote">[...]<span class=""><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>This thread made me look at the RRD docs again and I discovered it now supports DS's of type COMPUTE. That means it can already support calculating value^2 as another DS, making it possible to do this;</div><div><br></div><div><div>rrdtool create traffic.rrd \</div><div>   --start now --step 1m \</div><div>   DS:rate:COUNTER:2m:0:1000000 \</div><div>   DS:rate2:COMPUTE:rate,rate,*</div><div>   RRA:AVERAGE:0.5:1m:8d \</div><div>   RRA:AVERAGE:0.5:1h:64d \</div><div>   RRA:AVERAGE:0.5:1d:2y \</div><div><br></div><div>and then get an approximate 95 percentile in your graphs by calculating 2*stddev like this;</div><div><br></div><div><div>DEF:rate=/home/rrdtool/data/traffic.rrd:rate:AVERAGE</div><div>DEF:rate2=/home/rrdtool/data/traffic.rrd:rate2:AVERAGE</div><div>CDEF:variance=rate2,rate,rate,*,-</div><div>CDEF:stddev=variance,SQRT</div><div>CDEF:95ptile=stddev,2.0,*</div></div></div></div></blockquote><div><br></div></span><div>Doh! I forgot to add the average. That last line should be;</div><div><br></div><div>CDEF:95ptile=rate,stddev,2.0,*,+</div></div><span class="HOEnZb"><font color="#888888"><div><br></div></font></span></div></div></div>-- <br><div class="gmail_signature">Donovan Baarda <<a href="mailto:abo@minkirri.apana.org.au" target="_blank">abo@minkirri.apana.org.au</a>></div>
</div>