Микрометр @ Временная аннотация - PullRequest
2 голосов
/ 04 апреля 2019

Может кто-нибудь объяснить мне, в чем разница между _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 Ответ

1 голос
/ 04 апреля 2019

count - это общее количество измерений, выполненных таймером. sum - это совокупная продолжительность всех измерений, выполненных за это время. Таким образом, поделив сумму на количество, вы можете увидеть среднее время:

GET_CARD_LIMITS_BY_LIMIT_TYPE_seconds_sum / 
GET_CARD_LIMITS_BY_LIMIT_TYPE_seconds_count

Однако со временем это может стать менее полезным, поскольку это среднее значение может скрывать пики при увеличении значений.

Поскольку оба эти числа будут только расти (учитывая перезапуски), Прометей может использовать эти знания, и вы сможете увидеть среднюю задержку в 1 минуту для этого таймера, например:

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