#java #spring-boot #prometheus #micrometer
#java #весенняя загрузка #prometheus #микрометр
Вопрос:
Кто-нибудь может объяснить мне, в чем различия между _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:
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])