Browse Source

Rename ConditionalOnEnabledTracing to ConditionalOnEnabledTracingExport

See gh-47029

Signed-off-by: Maziyar Bahramian <maziyar.bahramian@gmail.com>
pull/47072/head
Maziyar Bahramian 4 months ago committed by Moritz Halbritter
parent
commit
4a888ca1db
  1. 2
      documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/testing/spring-boot-applications.adoc
  2. 4
      module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/BravePropagationConfigurations.java
  3. 8
      module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/ConditionalOnEnabledTracingExport.java
  4. 4
      module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/LogCorrelationEnvironmentPostProcessor.java
  5. 14
      module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/OnEnabledTracingExportCondition.java
  6. 4
      module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/OpenTelemetryPropagationConfigurations.java
  7. 4
      module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/otlp/OtlpTracingConfigurations.java
  8. 6
      module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/zipkin/ZipkinTracingAutoConfiguration.java
  9. 2
      module/spring-boot-micrometer-tracing/src/main/resources/META-INF/additional-spring-configuration-metadata.json
  10. 2
      module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/BraveAutoConfigurationTests.java
  11. 2
      module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/LogCorrelationEnvironmentPostProcessorTests.java
  12. 52
      module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/OnEnabledTracingExportConditionTests.java
  13. 2
      module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/OpenTelemetryTracingAutoConfigurationTests.java
  14. 4
      module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/otlp/OtlpTracingAutoConfigurationTests.java
  15. 2
      module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/zipkin/ZipkinConfigurationsBraveConfigurationTests.java
  16. 2
      module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/zipkin/ZipkinConfigurationsOpenTelemetryConfigurationTests.java
  17. 2
      module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/zipkin/ZipkinTracingAutoConfigurationTests.java
  18. 2
      module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/actuate/observability/ObservabilityContextCustomizerFactory.java
  19. 2
      module/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/actuate/observability/AutoConfigureObservabilityMissingIntegrationTests.java
  20. 2
      module/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/actuate/observability/AutoConfigureObservabilityPresentIntegrationTests.java
  21. 4
      module/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/actuate/observability/ObservabilityContextCustomizerFactoryTests.java

2
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 @@ -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.

4
module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/BravePropagationConfigurations.java

@ -58,7 +58,7 @@ class BravePropagationConfigurations { @@ -58,7 +58,7 @@ class BravePropagationConfigurations {
@Bean
@ConditionalOnMissingBean(Factory.class)
@ConditionalOnEnabledTracing
@ConditionalOnEnabledTracingExport
CompositePropagationFactory propagationFactory(TracingProperties properties) {
return CompositePropagationFactory.create(properties.getPropagation());
}
@ -127,7 +127,7 @@ class BravePropagationConfigurations { @@ -127,7 +127,7 @@ class BravePropagationConfigurations {
@Bean
@ConditionalOnMissingBean
@ConditionalOnEnabledTracing
@ConditionalOnEnabledTracingExport
Factory propagationFactory(BaggagePropagation.FactoryBuilder factoryBuilder) {
return factoryBuilder.build();
}

8
module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/ConditionalOnEnabledTracing.java → module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/ConditionalOnEnabledTracingExport.java

@ -26,8 +26,8 @@ import org.springframework.context.annotation.Conditional; @@ -26,8 +26,8 @@ import org.springframework.context.annotation.Conditional;
/**
* {@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.<name>.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 @@ import org.springframework.context.annotation.Conditional; @@ -38,8 +38,8 @@ import org.springframework.context.annotation.Conditional;
@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.

4
module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/LogCorrelationEnvironmentPostProcessor.java

@ -31,7 +31,7 @@ import org.springframework.util.ClassUtils; @@ -31,7 +31,7 @@ import org.springframework.util.ClassUtils;
* {@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 @@ class LogCorrelationEnvironmentPostProcessor implements EnvironmentPostProcessor @@ -67,7 +67,7 @@ class LogCorrelationEnvironmentPostProcessor implements EnvironmentPostProcessor
@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;
}

14
module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/OnEnabledTracingCondition.java → module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/OnEnabledTracingExportCondition.java

@ -31,11 +31,11 @@ import org.springframework.util.StringUtils; @@ -31,11 +31,11 @@ import org.springframework.util.StringUtils;
* {@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 @@ class OnEnabledTracingCondition extends SpringBootCondition { @@ -47,23 +47,23 @@ class OnEnabledTracingCondition extends SpringBootCondition {
.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<String, @Nullable Object> attributes = metadata
.getAnnotationAttributes(ConditionalOnEnabledTracing.class.getName());
.getAnnotationAttributes(ConditionalOnEnabledTracingExport.class.getName());
if (attributes == null) {
return null;
}

4
module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/OpenTelemetryPropagationConfigurations.java

@ -47,7 +47,7 @@ class OpenTelemetryPropagationConfigurations { @@ -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 @@ class OpenTelemetryPropagationConfigurations { @@ -69,7 +69,7 @@ class OpenTelemetryPropagationConfigurations {
}
@Bean
@ConditionalOnEnabledTracing
@ConditionalOnEnabledTracingExport
TextMapPropagator textMapPropagatorWithBaggage(OtelCurrentTraceContext otelCurrentTraceContext) {
List<String> remoteFields = this.tracingProperties.getBaggage().getRemoteFields();
List<String> tagFields = this.tracingProperties.getBaggage().getTagFields();

4
module/spring-boot-micrometer-tracing/src/main/java/org/springframework/boot/micrometer/tracing/autoconfigure/otlp/OtlpTracingConfigurations.java

@ -28,7 +28,7 @@ import org.springframework.beans.factory.ObjectProvider; @@ -28,7 +28,7 @@ import org.springframework.beans.factory.ObjectProvider;
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 @@ final class OtlpTracingConfigurations { @@ -79,7 +79,7 @@ final class OtlpTracingConfigurations {
@Configuration(proxyBeanMethods = false)
@ConditionalOnMissingBean({ OtlpGrpcSpanExporter.class, OtlpHttpSpanExporter.class })
@ConditionalOnBean(OtlpTracingConnectionDetails.class)
@ConditionalOnEnabledTracing("otlp")
@ConditionalOnEnabledTracingExport("otlp")
static class Exporters {
@Bean

6
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.EnableAutoConfiguration; @@ -34,7 +34,7 @@ import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
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 @@ public final class ZipkinTracingAutoConfiguration { @@ -71,7 +71,7 @@ public final class ZipkinTracingAutoConfiguration {
@Bean
@ConditionalOnMissingBean
@ConditionalOnBean(BytesMessageSender.class)
@ConditionalOnEnabledTracing("zipkin")
@ConditionalOnEnabledTracingExport("zipkin")
AsyncZipkinSpanHandler asyncZipkinSpanHandler(BytesMessageSender sender,
BytesEncoder<MutableSpan> mutableSpanBytesEncoder) {
return AsyncZipkinSpanHandler.newBuilder(sender).build(mutableSpanBytesEncoder);
@ -93,7 +93,7 @@ public final class ZipkinTracingAutoConfiguration { @@ -93,7 +93,7 @@ public final class ZipkinTracingAutoConfiguration {
@Bean
@ConditionalOnMissingBean
@ConditionalOnBean(BytesMessageSender.class)
@ConditionalOnEnabledTracing("zipkin")
@ConditionalOnEnabledTracingExport("zipkin")
ZipkinSpanExporter zipkinSpanExporter(BytesMessageSender sender, BytesEncoder<Span> spanBytesEncoder) {
return ZipkinSpanExporter.builder().setSender(sender).setEncoder(spanBytesEncoder).build();
}

2
module/spring-boot-micrometer-tracing/src/main/resources/META-INF/additional-spring-configuration-metadata.json

@ -7,7 +7,7 @@ @@ -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

2
module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/BraveAutoConfigurationTests.java

@ -350,7 +350,7 @@ class BraveAutoConfigurationTests { @@ -350,7 +350,7 @@ class BraveAutoConfigurationTests {
@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<String> propagation = factory.get();

2
module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/LogCorrelationEnvironmentPostProcessorTests.java

@ -60,7 +60,7 @@ class LogCorrelationEnvironmentPostProcessorTests { @@ -60,7 +60,7 @@ class LogCorrelationEnvironmentPostProcessorTests {
@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();

52
module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/OnEnabledTracingConditionTests.java → module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/OnEnabledTracingExportConditionTests.java

@ -31,80 +31,82 @@ import static org.mockito.BDDMockito.given; @@ -31,80 +31,82 @@ import static org.mockito.BDDMockito.given;
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 @@ class OnEnabledTracingConditionTests { @@ -121,7 +123,7 @@ class OnEnabledTracingConditionTests {
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;
}

2
module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/OpenTelemetryTracingAutoConfigurationTests.java

@ -317,7 +317,7 @@ class OpenTelemetryTracingAutoConfigurationTests { @@ -317,7 +317,7 @@ class OpenTelemetryTracingAutoConfigurationTests {
@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();

4
module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/otlp/OtlpTracingAutoConfigurationTests.java

@ -51,7 +51,7 @@ class OtlpTracingAutoConfigurationTests { @@ -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 @@ class OtlpTracingAutoConfigurationTests { @@ -125,7 +125,7 @@ class OtlpTracingAutoConfigurationTests {
@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));
}

2
module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/zipkin/ZipkinConfigurationsBraveConfigurationTests.java

@ -89,7 +89,7 @@ class ZipkinConfigurationsBraveConfigurationTests { @@ -89,7 +89,7 @@ class ZipkinConfigurationsBraveConfigurationTests {
@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));
}

2
module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/zipkin/ZipkinConfigurationsOpenTelemetryConfigurationTests.java

@ -99,7 +99,7 @@ class ZipkinConfigurationsOpenTelemetryConfigurationTests { @@ -99,7 +99,7 @@ class ZipkinConfigurationsOpenTelemetryConfigurationTests {
@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));
}

2
module/spring-boot-micrometer-tracing/src/test/java/org/springframework/boot/micrometer/tracing/autoconfigure/zipkin/ZipkinTracingAutoConfigurationTests.java

@ -54,7 +54,7 @@ class ZipkinTracingAutoConfigurationTests { @@ -54,7 +54,7 @@ class ZipkinTracingAutoConfigurationTests {
@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);

2
module/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/actuate/observability/ObservabilityContextCustomizerFactory.java

@ -68,7 +68,7 @@ class ObservabilityContextCustomizerFactory implements ContextCustomizerFactory @@ -68,7 +68,7 @@ class ObservabilityContextCustomizerFactory implements ContextCustomizerFactory
.applyTo(context);
}
if (isTracingDisabled(context.getEnvironment())) {
TestPropertyValues.of("management.tracing.enabled=false").applyTo(context);
TestPropertyValues.of("management.tracing.export.enabled=false").applyTo(context);
}
}

2
module/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/actuate/observability/AutoConfigureObservabilityMissingIntegrationTests.java

@ -50,7 +50,7 @@ class AutoConfigureObservabilityMissingIntegrationTests { @@ -50,7 +50,7 @@ class AutoConfigureObservabilityMissingIntegrationTests {
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");
}
}

2
module/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/actuate/observability/AutoConfigureObservabilityPresentIntegrationTests.java

@ -48,7 +48,7 @@ class AutoConfigureObservabilityPresentIntegrationTests { @@ -48,7 +48,7 @@ class AutoConfigureObservabilityPresentIntegrationTests {
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();
}
}

4
module/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/actuate/observability/ObservabilityContextCustomizerFactoryTests.java

@ -148,7 +148,7 @@ class ObservabilityContextCustomizerFactoryTests { @@ -148,7 +148,7 @@ class ObservabilityContextCustomizerFactoryTests {
}
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 @@ class ObservabilityContextCustomizerFactoryTests { @@ -158,7 +158,7 @@ class ObservabilityContextCustomizerFactoryTests {
}
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) {

Loading…
Cancel
Save