Measure service latency with prometheus

eventhorizon picture eventhorizon · Nov 15, 2017 · Viewed 13.2k times · Source

I am new to prometheus and grafana...

My primary goal is to get the response time per request.

For me it seemed to be a simple thing - but whatever I do I do not get the results I require.

I need to be able to analyse the service lateny in the last minutes/hours/days. The current implementation I found was a simple SUMMARY (without definition of quantiles) which is scraped every 15s.

  1. Is it possible to get the average request latency of the last minute from my prometheus SUMMARY?
  2. If YES: How? If NO: What should I do?

Currently I am using the following query:

rate(http_response_time_sum{application="myapp",handler="myHandler", status="200"}[1m])
/
rate(http_response_time_count{application="myapp",handler="myHandler", status="200"}[1m])

I am getting two "datasets". The value of the first is "NaN". I suppose this is the result from adivision by zero.

THX in advance!

(using spring-client)

Answer

brian-brazil picture brian-brazil · Nov 15, 2017

Your query is correct. The result will be NaN if there have been no queries in the past minute.