当前位置: 首页 > 知识库问答 >
问题:

千分尺和普罗米修斯计时器作为速率

令狐运珧
2023-03-14

根据Micrometer的文档https://Micrometer.io/docs/concepts#_server_side,框架(Micrometer)应该处理将计时器度量从绝对量转换为速率

下面的代码模拟一个伪定时器:

@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";
    }
}

然而,在Prometheus中,我只看到单调增加的度量foobar_seconds_sumfoobar_seconds_count而不是将它们视为速率

也许我误解了或者忽略了文档中的某些内容?

共有1个答案

潘刚洁
2023-03-14

这是Prometheus摘要的工作方式,您可以使用以下方法计算平均事件大小:

  rate(foobar_seconds_sum[5m])
/
  rate(foobar_seconds_count[5m])

Prometheus的客户端库是哑的,应该把更复杂的数学留给Prometheus。

 类似资料:
  • 我试图在Spring Boot 2.0.0 .版本中使用Micrometer.io生成普罗米修斯指标 当我试图将列表的大小公开为Gauge时,它一直显示NaN。在留档中,它说; 你有责任对你用量规测量的状态对象保持强烈的引用。 我已经尝试了一些不同的方法,但我不能解决这个问题。这是我的代码和一些试验。 有人能帮忙解决这个问题吗?任何帮助都将不胜感激。

  • 响应于“/acturet/prometheus”的DistributionSummary可用的度量仅是度量的Sum、Max和Count。 我想显示在选定的时间量内API调用所用的平均时间。用于EX:API在过去5分钟内所用的平均时间。

  • 我已经在一个千分尺计的方法中检测了我的代码,如下所示: 我还添加了一些其他指标。 其他指标显示在普罗米修斯endpoint上,但此指标指标不会。 我错过了什么?

  • 我正在将Spring Boot应用程序从Spring Boot 1(使用Prometheus Simpleclient)转换为Spring Boot 2(使用微米)。 我很难将我们在《春靴1》和《普罗米修斯》中的标签转换为千分尺的概念。例如(普罗米修斯): Micrometer的标签似乎与Prometheus的标签有些不同:所有的值都必须预先声明,不仅仅是键。 可以将普罗米修斯的标签与Spring

  • 我可以在http://localhost:8080/hello/q/metrics看到这个指标。现在我想把这个度量标准推到普罗米修斯,但我还没有找到任何指南,说明如何在普罗米修斯注册/集成这些度量标准。理想情况下,我想把它们推到石墨上,但这不受支持。所以我想知道如何推动这些指标,这样我就可以在格拉法纳可视化它们。

  • 对于和我们希望使用千分尺应用程序监控,因此包括: 并创建一个具有以下restendpoint的控制器: 因此,我们得到了endpoint,它只等待两秒钟,我们得到了endpoint,它返回了ITME的列表。 Bot请求工作。唯一的区别是,对于endpoint,我得到的是prometheus度量,而对于endpoint,我没有得到任何度量: 对于返回或仍不受支持的请求,是否必须配置其他内容才能使其工