Skip to content

Commit d2a3c6e

Browse files
committed
Move WebMvc observation auto-config into spring-boot-webmvc
1 parent 6046a6c commit d2a3c6e

File tree

8 files changed

+35
-66
lines changed

8 files changed

+35
-66
lines changed

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ org.springframework.boot.actuate.autoconfigure.management.ThreadDumpEndpointAuto
1616
org.springframework.boot.actuate.autoconfigure.metrics.data.RepositoryMetricsAutoConfiguration
1717
org.springframework.boot.actuate.autoconfigure.metrics.task.TaskExecutorMetricsAutoConfiguration
1818
org.springframework.boot.actuate.autoconfigure.observability.ObservabilityAutoConfiguration
19-
org.springframework.boot.actuate.autoconfigure.observation.web.servlet.WebMvcObservationAutoConfiguration
2019
org.springframework.boot.actuate.autoconfigure.sbom.SbomEndpointAutoConfiguration
2120
org.springframework.boot.actuate.autoconfigure.scheduling.ScheduledTasksEndpointAutoConfiguration
2221
org.springframework.boot.actuate.autoconfigure.scheduling.ScheduledTasksObservabilityAutoConfiguration

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/test/MetricsIntegrationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535

3636
import org.springframework.beans.factory.annotation.Autowired;
3737
import org.springframework.boot.actuate.autoconfigure.observability.ObservabilityAutoConfiguration;
38-
import org.springframework.boot.actuate.autoconfigure.observation.web.servlet.WebMvcObservationAutoConfiguration;
3938
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
4039
import org.springframework.boot.http.converter.autoconfigure.HttpMessageConvertersAutoConfiguration;
4140
import org.springframework.boot.jackson.autoconfigure.JacksonAutoConfiguration;
@@ -57,6 +56,7 @@
5756
import org.springframework.boot.webflux.observation.autoconfigure.WebFluxObservationAutoConfiguration;
5857
import org.springframework.boot.webmvc.autoconfigure.DispatcherServletAutoConfiguration;
5958
import org.springframework.boot.webmvc.autoconfigure.WebMvcAutoConfiguration;
59+
import org.springframework.boot.webmvc.observation.autoconfigure.WebMvcObservationAutoConfiguration;
6060
import org.springframework.context.ApplicationContext;
6161
import org.springframework.context.annotation.Bean;
6262
import org.springframework.context.annotation.Configuration;

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/web/TestController.java

Lines changed: 0 additions & 55 deletions
This file was deleted.

spring-boot-project/spring-boot-webmvc/build.gradle

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ dependencies {
2020

2121
optional(project(":spring-boot-project:spring-boot-actuator-autoconfigure"))
2222
optional(project(":spring-boot-project:spring-boot-autoconfigure"))
23+
optional(project(":spring-boot-project:spring-boot-metrics"))
24+
optional(project(":spring-boot-project:spring-boot-micrometer-observation"))
2325
optional(project(":spring-boot-project:spring-boot-tomcat"))
2426
optional(project(":spring-boot-project:spring-boot-undertow"))
2527
optional(project(":spring-boot-project:spring-boot-validation"))
@@ -40,6 +42,7 @@ dependencies {
4042
testImplementation(project(":spring-boot-project:spring-boot-web-server-test"))
4143
testImplementation(testFixtures(project(":spring-boot-project:spring-boot-web-server")))
4244
testImplementation("jakarta.servlet:jakarta.servlet-api")
45+
testImplementation("io.micrometer:micrometer-observation-test")
4346
testImplementation("org.aspectj:aspectjweaver")
4447

4548
testRuntimeOnly("ch.qos.logback:logback-classic")
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
package org.springframework.boot.actuate.autoconfigure.observation.web.servlet;
17+
package org.springframework.boot.webmvc.observation.autoconfigure;
1818

1919
import io.micrometer.core.instrument.MeterRegistry;
2020
import io.micrometer.core.instrument.config.MeterFilter;
@@ -54,7 +54,7 @@
5454
* @author Brian Clozel
5555
* @author Jon Schneider
5656
* @author Dmytro Nosan
57-
* @since 3.0.0
57+
* @since 4.0.0
5858
*/
5959
@AutoConfiguration(after = { MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class,
6060
SimpleMetricsExportAutoConfiguration.class, ObservationAutoConfiguration.class })
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@
1717
/**
1818
* Auto-configuration for Spring MVC observation support.
1919
*/
20-
package org.springframework.boot.actuate.autoconfigure.observation.web.servlet;
20+
package org.springframework.boot.webmvc.observation.autoconfigure;

spring-boot-project/spring-boot-webmvc/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ org.springframework.boot.webmvc.actuate.autoconfigure.health.WebMvcHealthEndpoin
22
org.springframework.boot.webmvc.autoconfigure.DispatcherServletAutoConfiguration
33
org.springframework.boot.webmvc.autoconfigure.WebMvcAutoConfiguration
44
org.springframework.boot.webmvc.autoconfigure.error.ErrorMvcAutoConfiguration
5+
org.springframework.boot.webmvc.observation.autoconfigure.WebMvcObservationAutoConfiguration
Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,22 @@
1414
* limitations under the License.
1515
*/
1616

17-
package org.springframework.boot.actuate.autoconfigure.observation.web.servlet;
17+
package org.springframework.boot.webmvc.observation.autoconfigure;
1818

1919
import java.util.EnumSet;
2020

2121
import io.micrometer.core.instrument.MeterRegistry;
2222
import io.micrometer.core.instrument.observation.DefaultMeterObservationHandler;
2323
import io.micrometer.core.instrument.observation.DefaultMeterObservationHandler.IgnoredMeters;
2424
import io.micrometer.core.instrument.observation.MeterObservationHandler;
25+
import io.micrometer.core.instrument.simple.SimpleMeterRegistry;
2526
import io.micrometer.observation.Observation.Context;
2627
import io.micrometer.observation.tck.TestObservationRegistry;
2728
import jakarta.servlet.DispatcherType;
2829
import jakarta.servlet.Filter;
2930
import org.junit.jupiter.api.Test;
3031
import org.junit.jupiter.api.extension.ExtendWith;
3132

32-
import org.springframework.boot.actuate.autoconfigure.metrics.test.MetricsRun;
33-
import org.springframework.boot.actuate.autoconfigure.metrics.web.TestController;
3433
import org.springframework.boot.autoconfigure.AutoConfigurations;
3534
import org.springframework.boot.metrics.autoconfigure.MetricsAutoConfiguration;
3635
import org.springframework.boot.micrometer.observation.autoconfigure.ObservationAutoConfiguration;
@@ -45,6 +44,8 @@
4544
import org.springframework.core.Ordered;
4645
import org.springframework.http.server.observation.DefaultServerRequestObservationConvention;
4746
import org.springframework.test.web.servlet.assertj.MockMvcTester;
47+
import org.springframework.web.bind.annotation.GetMapping;
48+
import org.springframework.web.bind.annotation.RestController;
4849
import org.springframework.web.filter.ServerHttpObservationFilter;
4950

5051
import static org.assertj.core.api.Assertions.assertThat;
@@ -63,9 +64,9 @@
6364
class WebMvcObservationAutoConfigurationTests {
6465

6566
private final WebApplicationContextRunner contextRunner = new WebApplicationContextRunner()
66-
.with(MetricsRun.simple())
67-
.withConfiguration(AutoConfigurations.of(ObservationAutoConfiguration.class))
68-
.withConfiguration(AutoConfigurations.of(WebMvcObservationAutoConfiguration.class));
67+
.withConfiguration(
68+
AutoConfigurations.of(ObservationAutoConfiguration.class, WebMvcObservationAutoConfiguration.class))
69+
.withBean(SimpleMeterRegistry.class);
6970

7071
@Test
7172
void backsOffWhenObservationRegistryIsMissing() {
@@ -251,4 +252,24 @@ MeterObservationHandler<Context> meterObservationHandler(MeterRegistry registry)
251252

252253
}
253254

255+
@RestController
256+
static class TestController {
257+
258+
@GetMapping("test0")
259+
String test0() {
260+
return "test0";
261+
}
262+
263+
@GetMapping("test1")
264+
String test1() {
265+
return "test1";
266+
}
267+
268+
@GetMapping("test2")
269+
String test2() {
270+
return "test2";
271+
}
272+
273+
}
274+
254275
}

0 commit comments

Comments
 (0)