How to visualize the latency distribution?


I have an Elasticsearch index containing documents with:

  • a @timestamp field containing the date of a HTTP request
  • a latency field containing an integer representing the latency of the HTTP response
  • and several other fields representing the HTTP requests/responses.

I would like to visualize for a subset of these documents how the latency is distributed over the period of time I’m interested in. I think I would be interested to have either:

  • my X-axis to be a percentage from 0 to 100% representing the quantity of HTTP requests and the Y-axis being the maximum latency taken by that quantity of HTTP requests (that would be an ever increasing to the right line)
  • my X-axis to be the latency and the Y-axis the quantity (absolute or as a percentage of total queries ideally!) of HTTP requests with that latency

I’ve tried to turn the queries and the graph options in every directions but I’m actually completely lost on how to approach this visualization :’(

Any idea how to achieve that?

+1 seems like 1st class support for plotting a latency distribution is not supported by grafana. Couldn’t find any plugin as well.

I have been looking at meaningless latency graphs since a while on average/min/max/variance latencies.