You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写PromQL计算下游服务的平均响应延迟?

如何用PromQL计算下游服务的平均响应延迟?

要计算下游服务的平均响应延迟,你可以直接利用提供的resilience4j_circuitbreaker_calls_seconds_sum(总请求耗时)和resilience4j_circuitbreaker_calls_seconds_count(总请求数)指标,通过总耗时除以请求数的逻辑实现。

核心PromQL语句

sum(rate(resilience4j_circuitbreaker_calls_seconds_sum{name="circuitBreakerName"}[1m])) by (name)
/
sum(rate(resilience4j_circuitbreaker_calls_seconds_count{name="circuitBreakerName"}[1m])) by (name)

语句说明

  • rate(metric[1m]):计算指标在1分钟窗口内的每秒变化率,得到这段时间内的平均每秒总耗时和平均每秒请求数,避免直接用累计值导致的结果失真(比如服务重启后累计值重置的场景)。
  • sum(...) by (name):按断路器名称(name标签)聚合数据,确保计算的是指定断路器对应下游服务的平均延迟。
  • 除法操作:用每秒总耗时除以每秒请求数,最终得到单请求的平均响应延迟,单位为秒。

扩展:毫秒单位版本

如果需要以毫秒为单位展示结果,只需在计算后乘以1000:

(sum(rate(resilience4j_circuitbreaker_calls_seconds_sum{name="circuitBreakerName"}[1m])) by (name)
/
sum(rate(resilience4j_circuitbreaker_calls_seconds_count{name="circuitBreakerName"}[1m])) by (name))
* 1000

内容的提问来源于stack exchange,提问作者tusharRawat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 02:25:02