From 22220a86f7b15913cb8a205641009dda596b0e0f Mon Sep 17 00:00:00 2001 From: Maziyar Bahramian Date: Wed, 3 Sep 2025 21:05:43 +0330 Subject: [PATCH] Refactor tracing annotation and export condition - Rename @ConditionalOnEnabledTracing to @ConditionalOnEnabledTracingExport - Rename global property from management.tracing.enabled to management.tracing.export.enabled - Update additional-spring-configuration-metadata.json accordingly - Rename OnEnabledTracingCondition to OnEnabledTracingExportCondition Signed-off-by: Maziyar Bahramian --- .../testing/spring-boot-applications.adoc | 2 +- .../BravePropagationConfigurations.java | 4 +- ...=> ConditionalOnEnabledTracingExport.java} | 8 +-- ...ogCorrelationEnvironmentPostProcessor.java | 4 +- ...a => OnEnabledTracingExportCondition.java} | 14 ++--- ...penTelemetryPropagationConfigurations.java | 4 +- .../otlp/OtlpTracingConfigurations.java | 4 +- .../ZipkinTracingAutoConfiguration.java | 6 +-- ...itional-spring-configuration-metadata.json | 2 +- .../BraveAutoConfigurationTests.java | 2 +- ...relationEnvironmentPostProcessorTests.java | 2 +- ...OnEnabledTracingExportConditionTests.java} | 52 ++++++++++--------- ...elemetryTracingAutoConfigurationTests.java | 2 +- .../OtlpTracingAutoConfigurationTests.java | 4 +- ...ConfigurationsBraveConfigurationTests.java | 2 +- ...ationsOpenTelemetryConfigurationTests.java | 2 +- .../ZipkinTracingAutoConfigurationTests.java | 2 +- ...ObservabilityContextCustomizerFactory.java | 2 +- ...eObservabilityMissingIntegrationTests.java | 2 +- ...eObservabilityPresentIntegrationTests.java | 2 +- ...vabilityContextCustomizerFactoryTests.java | 4 +- 21 files changed, 64 insertions(+), 62 deletions(-) rename module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/{ConditionalOnEnabledTracing.java => ConditionalOnEnabledTracingExport.java} (84%) rename module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/{OnEnabledTracingCondition.java => OnEnabledTracingExportCondition.java} (86%) rename module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/{OnEnabledTracingConditionTests.java => OnEnabledTracingExportConditionTests.java} (63%) diff --git a/documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/testing/spring-boot-applications.adoc b/documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/testing/spring-boot-applications.adoc index 330f1d92227a..d3fea3ccb400 100644 --- a/documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/testing/spring-boot-applications.adoc +++ b/documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/testing/spring-boot-applications.adoc @@ -233,7 +233,7 @@ Regardless of your classpath, tracing components which are reporting data are no If you need those components as part of an integration test, annotate the test with javadoc:org.springframework.boot.test.autoconfigure.actuate.observability.AutoConfigureObservability[format=annotation]. -If you have created your own reporting components (e.g. a custom javadoc:io.opentelemetry.sdk.trace.export.SpanExporter[] or `brave.handler.SpanHandler`) and you don't want them to be active in tests, you can use the javadoc:org.springframework.boot.micrometer.tracing.autoconfigure.ConditionalOnEnabledTracing[format=annotation] annotation to disable them. +If you have created your own reporting components (e.g. a custom javadoc:io.opentelemetry.sdk.trace.export.SpanExporter[] or `brave.handler.SpanHandler`) and you don't want them to be active in tests, you can use the javadoc:org.springframework.boot.micrometer.tracing.autoconfigure.ConditionalOnEnabledTracingExport[format=annotation] annotation to disable them. If you annotate xref:testing/spring-boot-applications.adoc#testing.spring-boot-applications.autoconfigured-tests[a sliced test] with javadoc:org.springframework.boot.test.autoconfigure.actuate.observability.AutoConfigureObservability[format=annotation], it auto-configures a no-op javadoc:io.micrometer.tracing.Tracer[]. Data exporting in sliced tests is not supported with the javadoc:org.springframework.boot.test.autoconfigure.actuate.observability.AutoConfigureObservability[format=annotation] annotation. diff --git a/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/BravePropagationConfigurations.java b/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/BravePropagationConfigurations.java index 9eceb878649c..78d3bcaa8ecf 100644 --- a/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/BravePropagationConfigurations.java +++ b/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/BravePropagationConfigurations.java @@ -58,7 +58,7 @@ static class PropagationWithoutBaggage { @Bean @ConditionalOnMissingBean(Factory.class) - @ConditionalOnEnabledTracing + @ConditionalOnEnabledTracingExport CompositePropagationFactory propagationFactory(TracingProperties properties) { return CompositePropagationFactory.create(properties.getPropagation()); } @@ -127,7 +127,7 @@ BaggagePropagationCustomizer remoteFieldsBaggagePropagationCustomizer() { @Bean @ConditionalOnMissingBean - @ConditionalOnEnabledTracing + @ConditionalOnEnabledTracingExport Factory propagationFactory(BaggagePropagation.FactoryBuilder factoryBuilder) { return factoryBuilder.build(); } diff --git a/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/ConditionalOnEnabledTracing.java b/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/ConditionalOnEnabledTracingExport.java similarity index 84% rename from module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/ConditionalOnEnabledTracing.java rename to module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/ConditionalOnEnabledTracingExport.java index 0c6f53b9d95b..587242a504e3 100644 --- a/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/ConditionalOnEnabledTracing.java +++ b/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/ConditionalOnEnabledTracingExport.java @@ -26,8 +26,8 @@ /** * {@link Conditional @Conditional} that checks whether tracing is enabled. It matches if - * the value of the {@code management.tracing.enabled} property is {@code true} or if it - * is not configured. If the {@link #value() tracing exporter name} is set, the + * the value of the {@code management.tracing.export.enabled} property is {@code true} or + * if it is not configured. If the {@link #value() tracing exporter name} is set, the * {@code management..tracing.export.enabled} property can be used to control the * behavior for the specific tracing exporter. In that case, the exporter specific * property takes precedence over the global property. @@ -38,8 +38,8 @@ @Retention(RetentionPolicy.RUNTIME) @Target({ ElementType.TYPE, ElementType.METHOD }) @Documented -@Conditional(OnEnabledTracingCondition.class) -public @interface ConditionalOnEnabledTracing { +@Conditional(OnEnabledTracingExportCondition.class) +public @interface ConditionalOnEnabledTracingExport { /** * Name of the tracing exporter. diff --git a/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/LogCorrelationEnvironmentPostProcessor.java b/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/LogCorrelationEnvironmentPostProcessor.java index 891a474dab90..992982d1cb7a 100644 --- a/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/LogCorrelationEnvironmentPostProcessor.java +++ b/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/LogCorrelationEnvironmentPostProcessor.java @@ -31,7 +31,7 @@ * {@link EnvironmentPostProcessor} to add a {@link PropertySource} to support log * correlation IDs when Micrometer Tracing is present. Adds support for the * {@value LoggingSystem#EXPECT_CORRELATION_ID_PROPERTY} property by delegating to - * {@code management.tracing.enabled}. + * {@code management.tracing.export.enabled}. * * @author Jonatan Ivanov * @author Phillip Webb @@ -67,7 +67,7 @@ public String[] getPropertyNames() { @Override public @Nullable Object getProperty(String name) { if (name.equals(LoggingSystem.EXPECT_CORRELATION_ID_PROPERTY)) { - return this.environment.getProperty("management.tracing.enabled", Boolean.class, Boolean.TRUE); + return this.environment.getProperty("management.tracing.export.enabled", Boolean.class, Boolean.TRUE); } return null; } diff --git a/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/OnEnabledTracingCondition.java b/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/OnEnabledTracingExportCondition.java similarity index 86% rename from module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/OnEnabledTracingCondition.java rename to module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/OnEnabledTracingExportCondition.java index e22141ecfad7..9d9112d54af1 100644 --- a/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/OnEnabledTracingCondition.java +++ b/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/OnEnabledTracingExportCondition.java @@ -31,11 +31,11 @@ * {@link SpringBootCondition} to check whether tracing is enabled. * * @author Moritz Halbritter - * @see ConditionalOnEnabledTracing + * @see ConditionalOnEnabledTracingExport */ -class OnEnabledTracingCondition extends SpringBootCondition { +class OnEnabledTracingExportCondition extends SpringBootCondition { - private static final String GLOBAL_PROPERTY = "management.tracing.enabled"; + private static final String GLOBAL_PROPERTY = "management.tracing.export.enabled"; private static final String EXPORTER_PROPERTY = "management.%s.tracing.export.enabled"; @@ -47,23 +47,23 @@ public ConditionOutcome getMatchOutcome(ConditionContext context, AnnotatedTypeM .getProperty(EXPORTER_PROPERTY.formatted(tracingExporter), Boolean.class); if (exporterTracingEnabled != null) { return new ConditionOutcome(exporterTracingEnabled, - ConditionMessage.forCondition(ConditionalOnEnabledTracing.class) + ConditionMessage.forCondition(ConditionalOnEnabledTracingExport.class) .because(EXPORTER_PROPERTY.formatted(tracingExporter) + " is " + exporterTracingEnabled)); } } Boolean globalTracingEnabled = context.getEnvironment().getProperty(GLOBAL_PROPERTY, Boolean.class); if (globalTracingEnabled != null) { return new ConditionOutcome(globalTracingEnabled, - ConditionMessage.forCondition(ConditionalOnEnabledTracing.class) + ConditionMessage.forCondition(ConditionalOnEnabledTracingExport.class) .because(GLOBAL_PROPERTY + " is " + globalTracingEnabled)); } - return ConditionOutcome.match(ConditionMessage.forCondition(ConditionalOnEnabledTracing.class) + return ConditionOutcome.match(ConditionMessage.forCondition(ConditionalOnEnabledTracingExport.class) .because("tracing is enabled by default")); } private static @Nullable String getExporterName(AnnotatedTypeMetadata metadata) { Map attributes = metadata - .getAnnotationAttributes(ConditionalOnEnabledTracing.class.getName()); + .getAnnotationAttributes(ConditionalOnEnabledTracingExport.class.getName()); if (attributes == null) { return null; } diff --git a/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/OpenTelemetryPropagationConfigurations.java b/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/OpenTelemetryPropagationConfigurations.java index 631a8e4b69cf..1a9f2a6db531 100644 --- a/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/OpenTelemetryPropagationConfigurations.java +++ b/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/OpenTelemetryPropagationConfigurations.java @@ -47,7 +47,7 @@ class OpenTelemetryPropagationConfigurations { static class PropagationWithoutBaggage { @Bean - @ConditionalOnEnabledTracing + @ConditionalOnEnabledTracingExport TextMapPropagator textMapPropagator(TracingProperties properties) { return CompositeTextMapPropagator.create(properties.getPropagation(), null); } @@ -69,7 +69,7 @@ static class PropagationWithBaggage { } @Bean - @ConditionalOnEnabledTracing + @ConditionalOnEnabledTracingExport TextMapPropagator textMapPropagatorWithBaggage(OtelCurrentTraceContext otelCurrentTraceContext) { List remoteFields = this.tracingProperties.getBaggage().getRemoteFields(); List tagFields = this.tracingProperties.getBaggage().getTagFields(); diff --git a/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/otlp/OtlpTracingConfigurations.java b/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/otlp/OtlpTracingConfigurations.java index f5667d670602..113c35303861 100644 --- a/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/otlp/OtlpTracingConfigurations.java +++ b/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/otlp/OtlpTracingConfigurations.java @@ -28,7 +28,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.micrometer.tracing.autoconfigure.ConditionalOnEnabledTracing; +import org.springframework.boot.micrometer.tracing.autoconfigure.ConditionalOnEnabledTracingExport; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.util.Assert; @@ -79,7 +79,7 @@ public String getUrl(Transport transport) { @Configuration(proxyBeanMethods = false) @ConditionalOnMissingBean({ OtlpGrpcSpanExporter.class, OtlpHttpSpanExporter.class }) @ConditionalOnBean(OtlpTracingConnectionDetails.class) - @ConditionalOnEnabledTracing("otlp") + @ConditionalOnEnabledTracingExport("otlp") static class Exporters { @Bean diff --git a/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/zipkin/ZipkinTracingAutoConfiguration.java b/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/zipkin/ZipkinTracingAutoConfiguration.java index 5d9d17124146..d31dfff61347 100644 --- a/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/zipkin/ZipkinTracingAutoConfiguration.java +++ b/module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/zipkin/ZipkinTracingAutoConfiguration.java @@ -34,7 +34,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.micrometer.tracing.autoconfigure.ConditionalOnEnabledTracing; +import org.springframework.boot.micrometer.tracing.autoconfigure.ConditionalOnEnabledTracingExport; import org.springframework.boot.micrometer.tracing.autoconfigure.zipkin.ZipkinTracingAutoConfiguration.BraveConfiguration; import org.springframework.boot.micrometer.tracing.autoconfigure.zipkin.ZipkinTracingAutoConfiguration.OpenTelemetryConfiguration; import org.springframework.context.annotation.Bean; @@ -71,7 +71,7 @@ BytesEncoder mutableSpanBytesEncoder(Encoding encoding, @Bean @ConditionalOnMissingBean @ConditionalOnBean(BytesMessageSender.class) - @ConditionalOnEnabledTracing("zipkin") + @ConditionalOnEnabledTracingExport("zipkin") AsyncZipkinSpanHandler asyncZipkinSpanHandler(BytesMessageSender sender, BytesEncoder mutableSpanBytesEncoder) { return AsyncZipkinSpanHandler.newBuilder(sender).build(mutableSpanBytesEncoder); @@ -93,7 +93,7 @@ BytesEncoder spanBytesEncoder(Encoding encoding) { @Bean @ConditionalOnMissingBean @ConditionalOnBean(BytesMessageSender.class) - @ConditionalOnEnabledTracing("zipkin") + @ConditionalOnEnabledTracingExport("zipkin") ZipkinSpanExporter zipkinSpanExporter(BytesMessageSender sender, BytesEncoder spanBytesEncoder) { return ZipkinSpanExporter.builder().setSender(sender).setEncoder(spanBytesEncoder).build(); } diff --git a/module/spring-boot-micrometer-tracing/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/module/spring-boot-micrometer-tracing/src/main/resources/META-INF/additional-spring-configuration-metadata.json index 331ac5c777a8..15290a3d63ae 100644 --- a/module/spring-boot-micrometer-tracing/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/module/spring-boot-micrometer-tracing/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -7,7 +7,7 @@ "description": "Whether auto-configuration of tracing is enabled to export OTLP traces." }, { - "name": "management.tracing.enabled", + "name": "management.tracing.export.enabled", "type": "java.lang.Boolean", "description": "Whether auto-configuration of tracing is enabled to export and propagate traces.", "defaultValue": true diff --git a/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/BraveAutoConfigurationTests.java b/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/BraveAutoConfigurationTests.java index 0bf85c15ba49..ef981dbc8b20 100644 --- a/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/BraveAutoConfigurationTests.java +++ b/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/BraveAutoConfigurationTests.java @@ -350,7 +350,7 @@ void compositeSpanHandlerUsesFilterPredicateAndReportersInOrder() { @Test void shouldDisablePropagationIfTracingIsDisabled() { - this.contextRunner.withPropertyValues("management.tracing.enabled=false").run((context) -> { + this.contextRunner.withPropertyValues("management.tracing.export.enabled=false").run((context) -> { assertThat(context).hasSingleBean(Factory.class); Factory factory = context.getBean(Factory.class); Propagation propagation = factory.get(); diff --git a/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/LogCorrelationEnvironmentPostProcessorTests.java b/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/LogCorrelationEnvironmentPostProcessorTests.java index bd6e27e7961e..668f6714f68c 100644 --- a/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/LogCorrelationEnvironmentPostProcessorTests.java +++ b/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/LogCorrelationEnvironmentPostProcessorTests.java @@ -60,7 +60,7 @@ void getExpectCorrelationIdPropertyWhenMicrometerTracingMissingReturnsFalse() { @Test void getExpectCorrelationIdPropertyWhenTracingDisabledReturnsFalse() { - TestPropertyValues.of("management.tracing.enabled=false").applyTo(this.environment); + TestPropertyValues.of("management.tracing.export.enabled=false").applyTo(this.environment); this.postProcessor.postProcessEnvironment(this.environment, this.application); assertThat(this.environment.getProperty(LoggingSystem.EXPECT_CORRELATION_ID_PROPERTY, Boolean.class, false)) .isFalse(); diff --git a/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/OnEnabledTracingConditionTests.java b/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/OnEnabledTracingExportConditionTests.java similarity index 63% rename from module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/OnEnabledTracingConditionTests.java rename to module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/OnEnabledTracingExportConditionTests.java index 08da890eaf43..b24198842753 100644 --- a/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/OnEnabledTracingConditionTests.java +++ b/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/OnEnabledTracingExportConditionTests.java @@ -31,80 +31,82 @@ import static org.mockito.Mockito.mock; /** - * Tests for {@link OnEnabledTracingCondition}. + * Tests for {@link OnEnabledTracingExportCondition}. * * @author Moritz Halbritter */ -class OnEnabledTracingConditionTests { +class OnEnabledTracingExportConditionTests { @Test void shouldMatchIfNoPropertyIsSet() { - OnEnabledTracingCondition condition = new OnEnabledTracingCondition(); + OnEnabledTracingExportCondition condition = new OnEnabledTracingExportCondition(); ConditionOutcome outcome = condition.getMatchOutcome(mockConditionContext(), mockMetadata("")); assertThat(outcome.isMatch()).isTrue(); - assertThat(outcome.getMessage()).isEqualTo("@ConditionalOnEnabledTracing tracing is enabled by default"); + assertThat(outcome.getMessage()).isEqualTo("@ConditionalOnEnabledTracingExport tracing is enabled by default"); } @Test void shouldNotMatchIfGlobalPropertyIsFalse() { - OnEnabledTracingCondition condition = new OnEnabledTracingCondition(); - ConditionOutcome outcome = condition - .getMatchOutcome(mockConditionContext(Map.of("management.tracing.enabled", "false")), mockMetadata("")); + OnEnabledTracingExportCondition condition = new OnEnabledTracingExportCondition(); + ConditionOutcome outcome = condition.getMatchOutcome( + mockConditionContext(Map.of("management.tracing.export.enabled", "false")), mockMetadata("")); assertThat(outcome.isMatch()).isFalse(); - assertThat(outcome.getMessage()).isEqualTo("@ConditionalOnEnabledTracing management.tracing.enabled is false"); + assertThat(outcome.getMessage()) + .isEqualTo("@ConditionalOnEnabledTracingExport management.tracing.export.enabled is false"); } @Test void shouldMatchIfGlobalPropertyIsTrue() { - OnEnabledTracingCondition condition = new OnEnabledTracingCondition(); - ConditionOutcome outcome = condition - .getMatchOutcome(mockConditionContext(Map.of("management.tracing.enabled", "true")), mockMetadata("")); + OnEnabledTracingExportCondition condition = new OnEnabledTracingExportCondition(); + ConditionOutcome outcome = condition.getMatchOutcome( + mockConditionContext(Map.of("management.tracing.export.enabled", "true")), mockMetadata("")); assertThat(outcome.isMatch()).isTrue(); - assertThat(outcome.getMessage()).isEqualTo("@ConditionalOnEnabledTracing management.tracing.enabled is true"); + assertThat(outcome.getMessage()) + .isEqualTo("@ConditionalOnEnabledTracingExport management.tracing.export.enabled is true"); } @Test void shouldNotMatchIfExporterPropertyIsFalse() { - OnEnabledTracingCondition condition = new OnEnabledTracingCondition(); + OnEnabledTracingExportCondition condition = new OnEnabledTracingExportCondition(); ConditionOutcome outcome = condition.getMatchOutcome( mockConditionContext(Map.of("management.zipkin.tracing.export.enabled", "false")), mockMetadata("zipkin")); assertThat(outcome.isMatch()).isFalse(); assertThat(outcome.getMessage()) - .isEqualTo("@ConditionalOnEnabledTracing management.zipkin.tracing.export.enabled is false"); + .isEqualTo("@ConditionalOnEnabledTracingExport management.zipkin.tracing.export.enabled is false"); } @Test void shouldMatchIfExporterPropertyIsTrue() { - OnEnabledTracingCondition condition = new OnEnabledTracingCondition(); + OnEnabledTracingExportCondition condition = new OnEnabledTracingExportCondition(); ConditionOutcome outcome = condition.getMatchOutcome( mockConditionContext(Map.of("management.zipkin.tracing.export.enabled", "true")), mockMetadata("zipkin")); assertThat(outcome.isMatch()).isTrue(); assertThat(outcome.getMessage()) - .isEqualTo("@ConditionalOnEnabledTracing management.zipkin.tracing.export.enabled is true"); + .isEqualTo("@ConditionalOnEnabledTracingExport management.zipkin.tracing.export.enabled is true"); } @Test void exporterPropertyShouldOverrideGlobalPropertyIfTrue() { - OnEnabledTracingCondition condition = new OnEnabledTracingCondition(); - ConditionOutcome outcome = condition.getMatchOutcome(mockConditionContext( - Map.of("management.tracing.enabled", "false", "management.zipkin.tracing.export.enabled", "true")), + OnEnabledTracingExportCondition condition = new OnEnabledTracingExportCondition(); + ConditionOutcome outcome = condition.getMatchOutcome(mockConditionContext(Map + .of("management.tracing.export.enabled", "false", "management.zipkin.tracing.export.enabled", "true")), mockMetadata("zipkin")); assertThat(outcome.isMatch()).isTrue(); assertThat(outcome.getMessage()) - .isEqualTo("@ConditionalOnEnabledTracing management.zipkin.tracing.export.enabled is true"); + .isEqualTo("@ConditionalOnEnabledTracingExport management.zipkin.tracing.export.enabled is true"); } @Test void exporterPropertyShouldOverrideGlobalPropertyIfFalse() { - OnEnabledTracingCondition condition = new OnEnabledTracingCondition(); - ConditionOutcome outcome = condition.getMatchOutcome(mockConditionContext( - Map.of("management.tracing.enabled", "true", "management.zipkin.tracing.export.enabled", "false")), + OnEnabledTracingExportCondition condition = new OnEnabledTracingExportCondition(); + ConditionOutcome outcome = condition.getMatchOutcome(mockConditionContext(Map + .of("management.tracing.export.enabled", "true", "management.zipkin.tracing.export.enabled", "false")), mockMetadata("zipkin")); assertThat(outcome.isMatch()).isFalse(); assertThat(outcome.getMessage()) - .isEqualTo("@ConditionalOnEnabledTracing management.zipkin.tracing.export.enabled is false"); + .isEqualTo("@ConditionalOnEnabledTracingExport management.zipkin.tracing.export.enabled is false"); } private ConditionContext mockConditionContext() { @@ -121,7 +123,7 @@ private ConditionContext mockConditionContext(Map properties) { private AnnotatedTypeMetadata mockMetadata(String exporter) { AnnotatedTypeMetadata metadata = mock(AnnotatedTypeMetadata.class); - given(metadata.getAnnotationAttributes(ConditionalOnEnabledTracing.class.getName())) + given(metadata.getAnnotationAttributes(ConditionalOnEnabledTracingExport.class.getName())) .willReturn(Map.of("value", exporter)); return metadata; } diff --git a/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/OpenTelemetryTracingAutoConfigurationTests.java b/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/OpenTelemetryTracingAutoConfigurationTests.java index 179df177e562..33eb529ab5e1 100644 --- a/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/OpenTelemetryTracingAutoConfigurationTests.java +++ b/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/OpenTelemetryTracingAutoConfigurationTests.java @@ -317,7 +317,7 @@ void defaultSpanProcessorShouldUseMeterProviderIfAvailable() { @Test void shouldDisablePropagationIfTracingIsDisabled() { - this.contextRunner.withPropertyValues("management.tracing.enabled=false").run((context) -> { + this.contextRunner.withPropertyValues("management.tracing.export.enabled=false").run((context) -> { assertThat(context).hasSingleBean(TextMapPropagator.class); TextMapPropagator propagator = context.getBean(TextMapPropagator.class); assertThat(propagator.fields()).isEmpty(); diff --git a/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/otlp/OtlpTracingAutoConfigurationTests.java b/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/otlp/OtlpTracingAutoConfigurationTests.java index 63e643a226b3..dbd956e2547e 100644 --- a/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/otlp/OtlpTracingAutoConfigurationTests.java +++ b/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/otlp/OtlpTracingAutoConfigurationTests.java @@ -51,7 +51,7 @@ class OtlpTracingAutoConfigurationTests { .withConfiguration(AutoConfigurations.of(OtlpTracingAutoConfiguration.class)); private final ApplicationContextRunner tracingDisabledContextRunner = this.contextRunner - .withPropertyValues("management.tracing.enabled=false"); + .withPropertyValues("management.tracing.export.enabled=false"); @Test void shouldNotSupplyBeansIfPropertyIsNotSet() { @@ -125,7 +125,7 @@ void shouldCustomizeGrpcTransportWithProperties() { @Test void shouldNotSupplyBeansIfGlobalTracingIsDisabled() { - this.contextRunner.withPropertyValues("management.tracing.enabled=false") + this.contextRunner.withPropertyValues("management.tracing.export.enabled=false") .run((context) -> assertThat(context).doesNotHaveBean(SpanExporter.class)); } diff --git a/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/zipkin/ZipkinConfigurationsBraveConfigurationTests.java b/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/zipkin/ZipkinConfigurationsBraveConfigurationTests.java index 02cee37416dc..2a5429a436bf 100644 --- a/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/zipkin/ZipkinConfigurationsBraveConfigurationTests.java +++ b/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/zipkin/ZipkinConfigurationsBraveConfigurationTests.java @@ -89,7 +89,7 @@ void shouldSupplyAsyncZipkinSpanHandlerWithCustomSpanHandler() { @Test void shouldNotSupplyAsyncZipkinSpanHandlerIfGlobalTracingIsDisabled() { - this.contextRunner.withPropertyValues("management.tracing.enabled=false") + this.contextRunner.withPropertyValues("management.tracing.export.enabled=false") .withUserConfiguration(SenderConfiguration.class) .run((context) -> assertThat(context).doesNotHaveBean(AsyncZipkinSpanHandler.class)); } diff --git a/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/zipkin/ZipkinConfigurationsOpenTelemetryConfigurationTests.java b/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/zipkin/ZipkinConfigurationsOpenTelemetryConfigurationTests.java index dfc26a65980b..8b099da437e4 100644 --- a/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/zipkin/ZipkinConfigurationsOpenTelemetryConfigurationTests.java +++ b/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/zipkin/ZipkinConfigurationsOpenTelemetryConfigurationTests.java @@ -99,7 +99,7 @@ void shouldBackOffOnCustomBeans() { @Test void shouldNotSupplyZipkinSpanExporterIfGlobalTracingIsDisabled() { - this.contextRunner.withPropertyValues("management.tracing.enabled=false") + this.contextRunner.withPropertyValues("management.tracing.export.enabled=false") .withUserConfiguration(SenderConfiguration.class) .run((context) -> assertThat(context).doesNotHaveBean(ZipkinSpanExporter.class)); } diff --git a/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/zipkin/ZipkinTracingAutoConfigurationTests.java b/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/zipkin/ZipkinTracingAutoConfigurationTests.java index 8f6f7a6aee09..e122588ed8f7 100644 --- a/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/zipkin/ZipkinTracingAutoConfigurationTests.java +++ b/module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/zipkin/ZipkinTracingAutoConfigurationTests.java @@ -54,7 +54,7 @@ void shouldSupplyBeansIfInfrastructureIsAvailable() { @Test void shouldNotSupplyBeansIfTracingIsDisabled() { - this.contextRunner.withPropertyValues("management.tracing.enabled=false") + this.contextRunner.withPropertyValues("management.tracing.export.enabled=false") .withConfiguration(AutoConfigurations.of(ZipkinAutoConfiguration.class)) .run((context) -> { assertThat(context).doesNotHaveBean(SpanExporter.class); diff --git a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/actuate/observability/ObservabilityContextCustomizerFactory.java b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/actuate/observability/ObservabilityContextCustomizerFactory.java index 9336eeee936d..f9cff06fde5a 100644 --- a/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/actuate/observability/ObservabilityContextCustomizerFactory.java +++ b/module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/actuate/observability/ObservabilityContextCustomizerFactory.java @@ -68,7 +68,7 @@ public void customizeContext(ConfigurableApplicationContext context, .applyTo(context); } if (isTracingDisabled(context.getEnvironment())) { - TestPropertyValues.of("management.tracing.enabled=false").applyTo(context); + TestPropertyValues.of("management.tracing.export.enabled=false").applyTo(context); } } diff --git a/module/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/actuate/observability/AutoConfigureObservabilityMissingIntegrationTests.java b/module/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/actuate/observability/AutoConfigureObservabilityMissingIntegrationTests.java index dbb6230e4074..b4431062c530 100644 --- a/module/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/actuate/observability/AutoConfigureObservabilityMissingIntegrationTests.java +++ b/module/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/actuate/observability/AutoConfigureObservabilityMissingIntegrationTests.java @@ -50,7 +50,7 @@ void customizerRunsAndOnlyEnablesSimpleMeterRegistryWhenNoAnnotationPresent( void customizerRunsAndSetsExclusionPropertiesWhenNoAnnotationPresent(@Autowired Environment environment) { assertThat(environment.getProperty("management.defaults.metrics.export.enabled")).isEqualTo("false"); assertThat(environment.getProperty("management.simple.metrics.export.enabled")).isEqualTo("true"); - assertThat(environment.getProperty("management.tracing.enabled")).isEqualTo("false"); + assertThat(environment.getProperty("management.tracing.export.enabled")).isEqualTo("false"); } } diff --git a/module/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/actuate/observability/AutoConfigureObservabilityPresentIntegrationTests.java b/module/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/actuate/observability/AutoConfigureObservabilityPresentIntegrationTests.java index 8fdb23792cb6..14d992f0d607 100644 --- a/module/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/actuate/observability/AutoConfigureObservabilityPresentIntegrationTests.java +++ b/module/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/actuate/observability/AutoConfigureObservabilityPresentIntegrationTests.java @@ -48,7 +48,7 @@ void customizerDoesNotDisableAvailableMeterRegistriesWhenAnnotationPresent( void customizerDoesNotSetExclusionPropertiesWhenAnnotationPresent(@Autowired Environment environment) { assertThat(environment.containsProperty("management.defaults.metrics.export.enabled")).isFalse(); assertThat(environment.containsProperty("management.simple.metrics.export.enabled")).isFalse(); - assertThat(environment.containsProperty("management.tracing.enabled")).isFalse(); + assertThat(environment.containsProperty("management.tracing.export.enabled")).isFalse(); } } diff --git a/module/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/actuate/observability/ObservabilityContextCustomizerFactoryTests.java b/module/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/actuate/observability/ObservabilityContextCustomizerFactoryTests.java index 8567b3f5ef70..7bb58b18c9b1 100644 --- a/module/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/actuate/observability/ObservabilityContextCustomizerFactoryTests.java +++ b/module/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/actuate/observability/ObservabilityContextCustomizerFactoryTests.java @@ -148,7 +148,7 @@ private ContextCustomizer createContextCustomizer(Class testClass) { } private void assertThatTracingIsDisabled(ConfigurableApplicationContext context) { - assertThat(context.getEnvironment().getProperty("management.tracing.enabled")).isEqualTo("false"); + assertThat(context.getEnvironment().getProperty("management.tracing.export.enabled")).isEqualTo("false"); } private void assertThatMetricsAreDisabled(ConfigurableApplicationContext context) { @@ -158,7 +158,7 @@ private void assertThatMetricsAreDisabled(ConfigurableApplicationContext context } private void assertThatTracingIsEnabled(ConfigurableApplicationContext context) { - assertThat(context.getEnvironment().getProperty("management.tracing.enabled")).isNull(); + assertThat(context.getEnvironment().getProperty("management.tracing.export.enabled")).isNull(); } private void assertThatMetricsAreEnabled(ConfigurableApplicationContext context) {