Skip to content

Commit 2ef62a9

Browse files
committed
Move WebFlux observation auto-config into spring-boot-webflux
1 parent 7d0e531 commit 2ef62a9

File tree

8 files changed

+36
-9
lines changed

8 files changed

+36
-9
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.reactive.WebFluxObservationAutoConfiguration
2019
org.springframework.boot.actuate.autoconfigure.observation.web.servlet.WebMvcObservationAutoConfiguration
2120
org.springframework.boot.actuate.autoconfigure.sbom.SbomEndpointAutoConfiguration
2221
org.springframework.boot.actuate.autoconfigure.scheduling.ScheduledTasksEndpointAutoConfiguration

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.reactive.WebFluxObservationAutoConfiguration;
3938
import org.springframework.boot.actuate.autoconfigure.observation.web.servlet.WebMvcObservationAutoConfiguration;
4039
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
4140
import org.springframework.boot.http.converter.autoconfigure.HttpMessageConvertersAutoConfiguration;
@@ -55,6 +54,7 @@
5554
import org.springframework.boot.tomcat.autoconfigure.servlet.TomcatServletWebServerAutoConfiguration;
5655
import org.springframework.boot.web.server.test.client.TestRestTemplate;
5756
import org.springframework.boot.web.servlet.FilterRegistrationBean;
57+
import org.springframework.boot.webflux.observation.autoconfigure.WebFluxObservationAutoConfiguration;
5858
import org.springframework.boot.webmvc.autoconfigure.DispatcherServletAutoConfiguration;
5959
import org.springframework.boot.webmvc.autoconfigure.WebMvcAutoConfiguration;
6060
import org.springframework.context.ApplicationContext;

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ dependencies {
1818

1919
optional(project(":spring-boot-project:spring-boot-actuator"))
2020
optional(project(":spring-boot-project:spring-boot-autoconfigure"))
21+
optional(project(":spring-boot-project:spring-boot-metrics"))
22+
optional(project(":spring-boot-project:spring-boot-micrometer-observation"))
2123
optional(project(":spring-boot-project:spring-boot-validation"))
2224

2325
testFixturesApi(testFixtures(project(":spring-boot-project:spring-boot-actuator")))
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.reactive;
17+
package org.springframework.boot.webflux.observation.autoconfigure;
1818

1919
import io.micrometer.core.instrument.MeterRegistry;
2020
import io.micrometer.core.instrument.config.MeterFilter;
@@ -46,7 +46,7 @@
4646
* @author Jon Schneider
4747
* @author Dmytro Nosan
4848
* @author Moritz Halbritter
49-
* @since 3.0.0
49+
* @since 4.0.0
5050
*/
5151
@AutoConfiguration(after = { SimpleMetricsExportAutoConfiguration.class, ObservationAutoConfiguration.class })
5252
@ConditionalOnClass({ Observation.class, MeterRegistry.class })
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@
1717
/**
1818
* Auto-configuration for WebFlux actuator observations.
1919
*/
20-
package org.springframework.boot.actuate.autoconfigure.observation.web.reactive;
20+
package org.springframework.boot.webflux.observation.autoconfigure;

spring-boot-project/spring-boot-webflux/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
@@ -3,3 +3,4 @@ org.springframework.boot.webflux.autoconfigure.ReactiveMultipartAutoConfiguratio
33
org.springframework.boot.webflux.autoconfigure.WebFluxAutoConfiguration
44
org.springframework.boot.webflux.autoconfigure.WebSessionIdResolverAutoConfiguration
55
org.springframework.boot.webflux.autoconfigure.error.ErrorWebFluxAutoConfiguration
6+
org.springframework.boot.webflux.observation.autoconfigure.WebFluxObservationAutoConfiguration
Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,16 @@
1414
* limitations under the License.
1515
*/
1616

17-
package org.springframework.boot.actuate.autoconfigure.observation.web.reactive;
17+
package org.springframework.boot.webflux.observation.autoconfigure;
1818

1919
import java.time.Duration;
2020
import java.time.temporal.ChronoUnit;
2121

2222
import io.micrometer.core.instrument.MeterRegistry;
23+
import io.micrometer.core.instrument.simple.SimpleMeterRegistry;
2324
import org.junit.jupiter.api.Test;
2425
import org.junit.jupiter.api.extension.ExtendWith;
2526

26-
import org.springframework.boot.actuate.autoconfigure.metrics.test.MetricsRun;
27-
import org.springframework.boot.actuate.autoconfigure.metrics.web.TestController;
2827
import org.springframework.boot.autoconfigure.AutoConfigurations;
2928
import org.springframework.boot.metrics.autoconfigure.MetricsAutoConfiguration;
3029
import org.springframework.boot.micrometer.observation.autoconfigure.ObservationAutoConfiguration;
@@ -35,6 +34,8 @@
3534
import org.springframework.boot.webflux.autoconfigure.WebFluxAutoConfiguration;
3635
import org.springframework.http.server.reactive.observation.DefaultServerRequestObservationConvention;
3736
import org.springframework.http.server.reactive.observation.ServerRequestObservationConvention;
37+
import org.springframework.web.bind.annotation.GetMapping;
38+
import org.springframework.web.bind.annotation.RestController;
3839

3940
import static org.assertj.core.api.Assertions.assertThat;
4041
import static org.mockito.Mockito.mock;
@@ -51,7 +52,7 @@
5152
class WebFluxObservationAutoConfigurationTests {
5253

5354
private final ReactiveWebApplicationContextRunner contextRunner = new ReactiveWebApplicationContextRunner()
54-
.with(MetricsRun.simple())
55+
.withBean(SimpleMeterRegistry.class)
5556
.withConfiguration(
5657
AutoConfigurations.of(ObservationAutoConfiguration.class, WebFluxObservationAutoConfiguration.class));
5758

@@ -130,4 +131,24 @@ private MeterRegistry getInitializedMeterRegistry(AssertableReactiveWebApplicati
130131
return meterRegistry;
131132
}
132133

134+
@RestController
135+
static class TestController {
136+
137+
@GetMapping("test0")
138+
String test0() {
139+
return "test0";
140+
}
141+
142+
@GetMapping("test1")
143+
String test1() {
144+
return "test1";
145+
}
146+
147+
@GetMapping("test2")
148+
String test2() {
149+
return "test2";
150+
}
151+
152+
}
153+
133154
}

src/checkstyle/import-control.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@
6161
<allow pkg="io.micrometer" />
6262
</subpackage>
6363

64+
<subpackage name=".*\.observation" regex="true">
65+
<allow pkg="io.micrometer" />
66+
</subpackage>
67+
6468
<subpackage name="[^.]+\.actuate" regex="true">
6569
<subpackage name="endpoint">
6670
<file name=".*Endpoint(WebExtension)?" regex="true">

0 commit comments

Comments
 (0)