解释prometheus查询结果

时间:2017-11-16 10:16:45

标签: java latency prometheus metric

我的first question已被回答。 现在我尝试根据给定的查询来解释结果。

METRIC ACQUISITION:

// 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);

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])

结果:

0.0020312920780360694

那么,这到底是什么意思?以ns为单位测量,在几秒钟内推送到汇总对象。

据我所知,这告诉我最后一分钟的所有成功请求的平均延迟为0.0020秒(20ms)。

这是对的吗?

1 个答案:

答案 0 :(得分:0)

即使这个问题被低估了,我也会在此发布我的结果:

测量/计算/解释值似乎是正确的。 THX用于阅读。

无论如何:我更喜欢有关prometheus方法的更详细和数学的文档。