解释普罗米修斯查询结果

Interpreting Prometheus query result

我的 已经回答了。现在我试图根据给定的查询来解释结果。

指标采集:

// globally done
Summary.build()
       .name("http_response_time")
       .labelNames("method", "handler", "status")
       .help("Request completed")
       .register();

// done BEFORE every request
final long start = System.nanoTime();
// "start" is saved as a request attribute and lateron read from the request

// done AFTER every request
final double latencyInSeconds =
   SimpleTimer.elapsedSecondsFromNanos(start, System.nanoTime());

responseTime.labels(
   request.getMethod(),
   handlerLabel,
   String.valueOf(response.getStatus())
)
.observe(latencyInSeconds);

查询:

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

结果:

0.0020312920780360694

所以,这是什么?以 ns 为单位进行测量,以秒为单位推送到摘要对象。

就我的解释而言,这告诉我最后一分钟的所有成功请求的平均延迟为 0.0020 秒(20 毫秒)。

对吗?

我将 post 我的结果放在这里:measured/calculated/interpreted 值似乎是正确的。

无论如何,我更喜欢 Prometheus 方法的更详细的数学文档。