千分尺@Timed 注释

Posted

技术标签:

【中文标题】千分尺@Timed 注释【英文标题】:Micrometer @Timed annotation 【发布时间】:2019-08-26 03:11:02 【问题描述】:

谁能解释一下_count_sum 由千分尺@Timed 注释公开的指标之间的区别。

这里有两个指标值示例,它们是在方法上发布 @Timed 注释的结果。

GET_CARD_LIMITS_BY_LIMIT_TYPE_seconds_countclass="ro.orange.productsbff.infrastructure.adapter.cms.integration.CmsClient",method="getCardLimitsByType", 9.0

GET_CARD_LIMITS_BY_LIMIT_TYPE_seconds_sumclass="ro.orange.productsbff.infrastructure.adapter.cms.integration.CmsClient",method="getCardLimitsByType", 1.838999262

谢谢!

【问题讨论】:

【参考方案1】:

count 是计时器进行的总测量。 sum 是该时间所花费的所有测量的累积持续时间。因此,通过将总和除以计数,您可以看到平均时间:

GET_CARD_LIMITS_BY_LIMIT_TYPE_seconds_sum / 
GET_CARD_LIMITS_BY_LIMIT_TYPE_seconds_count

但是随着时间的推移,这可能会变得不那么有用,因为随着值的增长,该平均值可能会隐藏峰值。

由于这两个数字只会增加(考虑到重启),Prometheus 可以利用这些知识,您可以看到该计时器的 1 分钟平均延迟,如下所示:

increase(GET_CARD_LIMITS_BY_LIMIT_TYPE_seconds_sum[1m]) /   
increase(GET_CARD_LIMITS_BY_LIMIT_TYPE_seconds_count[1m])

【讨论】:

以上是关于千分尺@Timed 注释的主要内容,如果未能解决你的问题,请参考以下文章

Codahale Metrics:在纯 Java 中使用 @Timed 指标注释

有没有办法将 Micrometer @Timed 注释捕获到 Prometheus 指标存储/注册表中? [复制]

如何在任意方法名称上使用的 @Timed 注释中包含方法参数

Grafana 中的操作单元

春季启动指标+数据狗

编程中的注释分为三类 单行注释,多行注释,文档注释;