Spring Boot 3.2.6中autotime.enabled弃用说明及ObservationRegistry级配置方法
关于Spring Boot
management.metrics.web.server.request.autotime.enabled 弃用的说明与替代配置 提示信息含义
Should be applied at the ObservationRegistry level 意思是:原本通过该属性单独控制的Web请求自动计时功能,现在需要统一通过Micrometer的ObservationRegistry进行全局配置。
Spring Boot 3.x版本开始全面采用Micrometer Observation框架,将指标收集、分布式追踪等观测能力整合到统一的Observation模型中,原有的Web请求专属计时属性已不符合新的观测架构设计,因此被标记为弃用,转而使用全局的ObservationRegistry来管理这类观测行为,确保观测配置的一致性和扩展性。
ObservationRegistry级别配置方法
1. Java配置类自定义(推荐)
通过配置类调整ObservationRegistry的规则,实现对Web请求自动计时的控制:
import io.micrometer.observation.ObservationRegistry; import io.micrometer.observation.aop.ObservedAspect; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class ObservationConfiguration { @Bean public ObservedAspect observedAspect(ObservationRegistry observationRegistry) { // 显式配置观测规则,允许Web请求观测(默认已开启,若需关闭可返回false) observationRegistry.observationConfig() .filter(context -> "spring.web.server.requests".equals(context.getName())); return new ObservedAspect(observationRegistry); } }
- 如果需要关闭Web请求自动计时,将filter中的返回值改为
false即可。 - 若使用Spring WebFlux,逻辑类似,核心是通过ObservationRegistry控制观测规则。
2. 属性配置方式
通过全局观测属性进行控制,无需编写代码:
# 全局启用观测(默认值为true,可省略) management.observation.enabled=true # 若需关闭Web请求自动计时,排除对应的观测名称 management.observation.exclude=spring.web.server.requests
默认情况下,Web请求的自动计时功能是开启的,与原属性management.metrics.web.server.request.autotime.enabled=true的效果一致;若要关闭,只需添加上述exclude配置即可。
内容的提问来源于stack exchange,提问作者pez
相关产品推荐
相关产品推荐

