From b4bc7cebbc54783ab99f9fbcc7444eda6ce7c297 Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Fri, 30 Jun 2023 14:00:38 +0200 Subject: [PATCH] Revert "Add property to specify the order of ServerHttpObservationFilter" This reverts commit 7b90fbb0b2ef73871ca776d9f999e9cdc1cb7e6d. --- .../observation/ObservationProperties.java | 24 ---------- .../OrderedServerHttpObservationFilter.java | 47 ------------------- .../WebFluxObservationAutoConfiguration.java | 8 ++-- ...FluxObservationAutoConfigurationTests.java | 10 ---- 4 files changed, 4 insertions(+), 85 deletions(-) delete mode 100644 spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/reactive/OrderedServerHttpObservationFilter.java diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/ObservationProperties.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/ObservationProperties.java index 24d81daa4b1..08de1a01c10 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/ObservationProperties.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/ObservationProperties.java @@ -20,7 +20,6 @@ import java.util.LinkedHashMap; import java.util.Map; import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.core.Ordered; /** * {@link ConfigurationProperties @ConfigurationProperties} for configuring Micrometer @@ -111,16 +110,10 @@ public class ObservationProperties { private final ServerRequests requests = new ServerRequests(); - private final Filter filter = new Filter(); - public ServerRequests getRequests() { return this.requests; } - public Filter getFilter() { - return this.filter; - } - public static class ServerRequests { /** @@ -138,23 +131,6 @@ public class ObservationProperties { } - public static class Filter { - - /** - * Order of the filter that creates the observations. - */ - private int order = Ordered.HIGHEST_PRECEDENCE + 1; - - public int getOrder() { - return this.order; - } - - public void setOrder(int order) { - this.order = order; - } - - } - } } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/reactive/OrderedServerHttpObservationFilter.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/reactive/OrderedServerHttpObservationFilter.java deleted file mode 100644 index 4541f6e1652..00000000000 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/reactive/OrderedServerHttpObservationFilter.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright 2012-2023 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.springframework.boot.actuate.autoconfigure.observation.web.reactive; - -import io.micrometer.observation.ObservationRegistry; - -import org.springframework.boot.web.reactive.filter.OrderedWebFilter; -import org.springframework.core.Ordered; -import org.springframework.http.server.reactive.observation.ServerRequestObservationConvention; -import org.springframework.web.filter.reactive.ServerHttpObservationFilter; - -/** - * {@link ServerHttpObservationFilter} that also implements {@link Ordered}. - * - * @author Moritz Halbritter - */ -@SuppressWarnings({ "deprecation", "removal" }) -class OrderedServerHttpObservationFilter extends ServerHttpObservationFilter implements OrderedWebFilter { - - private final int order; - - OrderedServerHttpObservationFilter(ObservationRegistry observationRegistry, - ServerRequestObservationConvention observationConvention, int order) { - super(observationRegistry, observationConvention); - this.order = order; - } - - @Override - public int getOrder() { - return this.order; - } - -} diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/reactive/WebFluxObservationAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/reactive/WebFluxObservationAutoConfiguration.java index 457d2cdf393..91b1d6fa95a 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/reactive/WebFluxObservationAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/reactive/WebFluxObservationAutoConfiguration.java @@ -38,6 +38,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplicat import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import org.springframework.http.server.reactive.observation.DefaultServerRequestObservationConvention; import org.springframework.http.server.reactive.observation.ServerRequestObservationConvention; @@ -50,7 +51,6 @@ import org.springframework.web.filter.reactive.ServerHttpObservationFilter; * @author Brian Clozel * @author Jon Schneider * @author Dmytro Nosan - * @author Moritz Halbritter * @since 3.0.0 */ @AutoConfiguration(after = { MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class, @@ -70,13 +70,13 @@ public class WebFluxObservationAutoConfiguration { @Bean @ConditionalOnMissingBean(ServerHttpObservationFilter.class) - public OrderedServerHttpObservationFilter webfluxObservationFilter(ObservationRegistry registry, + @Order(Ordered.HIGHEST_PRECEDENCE + 1) + public ServerHttpObservationFilter webfluxObservationFilter(ObservationRegistry registry, ObjectProvider customConvention) { String name = this.observationProperties.getHttp().getServer().getRequests().getName(); ServerRequestObservationConvention convention = customConvention .getIfAvailable(() -> new DefaultServerRequestObservationConvention(name)); - int order = this.observationProperties.getHttp().getServer().getFilter().getOrder(); - return new OrderedServerHttpObservationFilter(registry, convention, order); + return new ServerHttpObservationFilter(registry, convention); } @Configuration(proxyBeanMethods = false) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/observation/web/reactive/WebFluxObservationAutoConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/observation/web/reactive/WebFluxObservationAutoConfigurationTests.java index 939b754424a..48c065660fa 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/observation/web/reactive/WebFluxObservationAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/observation/web/reactive/WebFluxObservationAutoConfigurationTests.java @@ -52,7 +52,6 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Brian Clozel * @author Dmytro Nosan * @author Madhura Bhave - * @author Moritz Halbritter */ @ExtendWith(OutputCaptureExtension.class) @SuppressWarnings("removal") @@ -128,15 +127,6 @@ class WebFluxObservationAutoConfigurationTests { }); } - @Test - void shouldUsePropertyForServerHttpObservationFilterOrder() { - this.contextRunner.withPropertyValues("management.observations.http.server.filter.order=1000") - .run((context) -> { - OrderedServerHttpObservationFilter bean = context.getBean(OrderedServerHttpObservationFilter.class); - assertThat(bean.getOrder()).isEqualTo(1000); - }); - } - private MeterRegistry getInitializedMeterRegistry(AssertableReactiveWebApplicationContext context) throws Exception { return getInitializedMeterRegistry(context, "/test0", "/test1", "/test2");