java - Micrometer @Timed 注解

标签 java spring-boot prometheus micrometer

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

这里有两个度量值示例,作为方法上的 @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

谢谢!

最佳答案

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

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

关于java - Micrometer @Timed 注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55514638/

相关文章:

java - 从 2.2.0 spring-boot-maven-plugin 开始创建 2 个 java 进程(可能会导致 CreateProcess error=206)。需要解决方法来修复它

java - Spring Boot - 从 application.yml 注入(inject) map

普罗米修斯正则表达式匹配不同标签

java - 导致此异常 "HTTP 500 Erreur Interne de Servlet"的可能原因是什么?

java - Spring Integration 测试加载注解 Bean

java - 将多个 FLV 文件作为单个文件通过 Java servlet 流式传输

java - 为什么 Spring Boot 执行器具有点分隔的普罗米修斯指标名称?

kubernetes - 如何在 kubernetes 环境中扩展 prometheus

java - Java中如何获取实例名称?

java - Android 中从 Arraylist<Byte> 到字节数组的转换