定时器总和指标的速率函数不准确,因为定时器总和不是从零开始,而是在第一次请求时开始

问题描述

我试图通过对总和和计数指标应用速率函数来计算给定时间范围内的绝对平均值

sum by (clientName) (rate(api_seconds_sum{envType="PROD"} [$__range]) / rate(api_seconds_count{envType="PROD"}[$__range]))

但初始总和和计数未在微米或普罗米修斯中初始化为零。因此,如果它是对记录的第一个请求,则不会考虑该数据,因为它被视为起点。是否有一种简单的方法可以确保 Micrometer 和 Prometheus 中的总和和计数从零开始以避免这种情况。 (这不是 spring 应用程序)。

public Timer timer(String name,Iterable tags) { 返回定时器 .builder(名称) .publishpercentiles(0.5,0.75,0.90,0.95,0.99,0.999) .distributionStatisticExpiry(Duration.ofMinutes(5)) .publishpercentileHistogram() .tags(标签) .register(this.registry); }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)