Spring Boot 2.7.1中Micrometer注解@Timed/@Counted指标采集失效问题
Spring Boot 2.7.1中@Timed、@Counted注解不生效的排查与解决
问题场景
基于Spring Boot 2.7.1开发应用,需暴露健康状态及自定义指标(如函数运行时长、调用次数),计划仅通过@Timed、@Counted注解实现自动指标采集,但注解始终不生效。
已尝试的排查方案
- 添加
TimedAspect配置类,确保切面生效 - 将标注注解的方法拆分到独立类中,排除内部调用导致的切面失效问题
- 手动通过
MeterRegistry构建指标的方式可以正常生成指标,说明指标采集的基础环境是正常的
最终原因与解决
问题出在对注解指标生成逻辑的误解:@Timed、@Counted注解生成的指标不会在应用启动时就初始化,只有当标注了注解的方法被实际调用后,对应的指标才会被创建并在指标端点中展示。之前一直没调用对应方法,所以看不到指标,误以为注解不生效。
内容的提问来源于stack exchange,提问作者Fleky
相关产品推荐
相关产品推荐

