【问题标题】:Measuring rate of events with Micrometer用千分尺测量事件发生率
【发布时间】:2019-08-22 18:14:48
【问题描述】:

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

如何在 Micrometer 中做到这一点?

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

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

【问题讨论】:

    标签: dropwizard micrometer spring-micrometer


    【解决方案1】:

    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-30
      • 1970-01-01
      • 2019-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-24
      • 2019-06-30
      相关资源
      最近更新 更多