Calculating percentiles

Hi all,

I’m looking at setting up a network/app layer monitoring dashboard and have been considering Grafana: I need to graph percentiles of chosen metrics (we need to be aware of the spikes that normally are smoothed by averaging), and to enhance readability by using logarithmic scale for the y-axis – along the general lines shown in https://www.elastic.co/blog/averages-can-dangerous-use-percentile. I have found forum pages that could be helpful (e.g. Calculate 95th percentile bandwidth with influxdb), but before I dive in, can you advise how feasible and practical this would be? Thanks.

It depends on your datasource and how you collect metrics, if your datasource supports it and if your data is suitable (not already averaged)

Hi torkel,

Thanks for your reply. I will be in full control of the datasource, all data points will be collected using custom scripts, so I can make sure there’s no averaging taking place. But what do you mean by “if your datasource supports it”? What conditions does the datasource need to satisfy to make this kind of graphing possible?

I needs percentile aggregation / calculation features

Would you care to elaborate? I haven’t dived into documentation yet, could you point me to a description of these features? This is going to be a very custom setup, so anything is possible, but I would need to see what kind of work this will require.

It depends on your data source, have you checked it’s docs?

Oh, sorry, I was being dumb I’m afraid. The source will be an InfluxDB instance, so there should be no problems running queries which use its "percentile()’ function.