千分尺@Timed批注

时间:2019-04-04 11:18:56

标签: java spring-boot prometheus micrometer

谁能解释我用千分尺_count注释暴露的_sum@Timed度量标准之间有什么区别。

在这里,有两个度量值示例,它们是方法上的@Timed注释帖子的结果。

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

谢谢!

1 个答案:

答案 0 :(得分: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])