我的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)。
这是对的吗?
答案 0 :(得分:0)
即使这个问题被低估了,我也会在此发布我的结果:
测量/计算/解释值似乎是正确的。 THX用于阅读。
无论如何:我更喜欢有关prometheus方法的更详细和数学的文档。