Micrometer @Timed 注解

Micrometer @Timed annotation

任何人都可以向我解释千分尺 @Timed 注释公开的 _count_sum 指标之间的区别是什么。

这里有两个度量值示例,作为方法上 @Timed 注释 post 的结果。

GET_CARD_LIMITS_BY_LIMIT_TYPE_seconds_count{class="ro.orange.productsbff.infrastructure.adapter.cms.integration.CmsClient",method="getCardLimitsByType",} 9.0

GET_CARD_LIMITS_BY_LIMIT_TYPE_seconds_sum{class="ro.orange.productsbff.infrastructure.adapter.cms.integration.CmsClient",method="getCardLimitsByType",} 1.838999262

谢谢!

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])