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

用千分尺测量事件发生率

崔绍辉
2023-03-14

在Dropwizard中,有一些类似的东西:https://metrics.dropwizard.io/3.1.0/getting-started/#meters它允许我通过调用指标上的mark()方法来测量事件的速率。

我怎样才能在千分尺中做到这一点?

我可以使用计时器,但我不想传递< code >计时器。采样对象到任何需要调用< code>stop()方法的地方。

与Dropwizard相比,Micrometer中缺少的另一个东西是可以包含文本消息的度量,如Dropwizard中的gauge。

共有1个答案

秦城
2023-03-14

Micrometer利用了现代度量后端的优势。因此,问题的具体答案取决于您使用的是哪种。以普罗米修斯为例。后端可以为您计算费率。

如果您正在测量某件事情发生的频率,您可以使用< code >计数器来确定。以< code > log back _ events _ total 计数器为例。它只是计算写入的日志消息的数量。

当警报或绘图时,您可以编写像rate(logback_events_total[1m])这样的查询,您将能够看到以1m速率写入日志的速率。您可以在不更改代码的情况下从1m更改为窗口5m或1h

关于基于文本的度量,这些对于警报没有用(但是在使用< code>join子句时可能有用)。在这种情况下,典型的解决方案是创建一个值为1或0的仪表,并将您的文本值作为一个标记。例如:

registry.gaugle('app.info', Tags.of("version","1.0.beta3", this, () -> 1.0));
 类似资料:
  • 是否有任何方法可以测量实用程序如何使用线程池?我已经浏览了代码,但还没有看到任何直接的选项。

  • 我正在利用dogstatsd方法,使用千分尺将指标发送给datadog。我获得了正常的指标,如计数器和计量器,但我无法生成事件。有办法生成datadog事件吗?

  • 我们有一个限制实现,基本上可以归结为: 我想收集关于信号量对方法的整体响应时间的影响的指标。例如,我想知道等待获取的线程数量,等待的时间等等。我想,我正在寻找的是一种也能捕捉时间信息的量规。 如何测量Semphore统计数据?

  • 我是测微计新手。我想记录诸如用户注册、用户登录等事件。我可以用测微计和Spring靴来完成这项工作,并在普罗米修斯/格拉法纳中显示数据吗?

  • 我想测量使用WebFlux进行的一些异步调用的长度。我已经阅读了各种来源,因为我了解到注释与AspectJ一起工作,基本上只是在方法调用之前启动计时器,然后停止。这显然不适用于异步方法。 是否有任何针对WebFlux的解决方案,或者我唯一能做的就是传递执行时间戳,使我的应用程序逻辑混乱?

  • 我有一个Spring Boot应用程序,我现在正在迁移到Micrometer。 我想实现的是,随着时间的推移计算特定对象的调用。 让我们假设我有一个创建某些品牌的汽车的功能。然后我想测量一下我在过去一分钟内创造了多少辆福特,斯柯达,大众等。特别是,如果在 之间没有创建斯柯达,则指标应返回 0。 文档声明我不应该使用计数器,因为在运行应用程序时,创建的汽车数量可能会无限增长。计时器也不太合适,因为我