0

在 Dropwizard 中有类似仪表的东西: https ://metrics.dropwizard.io/3.1.0/getting-started/#meters 它让我只需通过调用mark()指标上的方法来测量事件发生率。

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

我可以使用计时器,但我不想将对象传递到我需要调用方法Timer.Sample的任何地方。stop()

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

4

1 回答 1

3

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

如果您正在测量某事发生的频率,您可以使用Counter. 以logback_events_total柜台为例。它只是计算写入的日志消息的数量。

当警报或绘图时,您可以编写类似的查询rate(logback_events_total[1m]),您将能够查看以该速率写入日志的1m速率。您可以从1m5m1h不更改代码更改为窗口。

join关于基于文本的指标,这些指标对警报没有用(但在使用子句时很有用)。在这种情况下,典型的解决方案是创建一个值为 1 或 0 的量规,并使您的文本值成为一个标签。例如:

registry.gaugle('app.info', Tags.of("version","1.0.beta3", this, () -> 1.0));
于 2019-04-01T15:50:52.940 回答