根据Micrometer的文档https://micrometer.io/docs/concepts#_server_side,框架(千分尺)应处理将计时器指标转换为绝对数量的比率
以下代码模拟虚拟计时器:
@Service
public class AppService {
private Timer timer = Metrics.timer("foobar");
public String test() {
timer.record(() -> {
try {
Thread.sleep((long) (Math.random() * 1000));
} catch (InterruptedException e) {
e.printStackTrace();
}
});
return "foo";
}
}
然而,在普罗米修斯,我只看到单调增加的指标foobar_seconds_sum
和foobar_seconds_count
,而不是将其视为费率
也许我误解或忽略了文档中的某些内容?
答案 0 :(得分:6)
这是普罗米修斯摘要的工作原理,您可以使用以下方法计算平均事件大小:
rate(foobar_seconds_sum[5m])
/
rate(foobar_seconds_count[5m])
Prometheus客户端库很笨,应该给Prometheus留下更复杂的数学。