Java Spring 执行器 Grafana - http_server_requests_seconds_max 和 http_server_requests_seconds::sum/count 之间的请求所花费的时间不同

Java Spring Actuator Grafana - time taken for a request different between http_server_requests_seconds_max and http_server_requests_seconds::sum/count

请问关于 API 所用时间的两个查询的快速问题。

我的 SpringBoot 应用程序开箱即用 http_server_requests_seconds max、count 和 sum 指标。

因此,我想构建一个视觉对象以查看我需要多少时间来回答请求。

考虑到这一点,我开始在网络上搜索现有查询,找到了两个,它们都应该提供请求持续时间:

http_server_requests_seconds_max{_ws_="my_workspace"}

irate(http_server_requests_seconds::sum{_ws_="my_workspace"}[5m]) / irate(http_server_requests_seconds::count{_ws_="my_workspace"}[5m])

不幸的是,仪表板显示完全不同的图表。

请问我是否使用了两个查询中的一个错误?

为了获取请求所用的时间,这两个查询中的哪一个是最合适的?

谢谢

一个明显的区别是第二个例子计算了你的值的一阶导数(比率),而第一个没有。

第二个查询计算 5 分钟间隔内的平均响应时间,第一个查询仅显示计时器指标的最大值。

可以在 https://prometheus.io/docs/concepts/metric_types/#summary. irate is explained at https://prometheus.io/docs/prometheus/latest/querying/functions/#irate

中找到对 Prometheus 中不同指标类型的解释