Skip to content

Commit

Permalink
Remove support for otel.experimental.sdk.enabled (#4973)
Browse files Browse the repository at this point in the history
  • Loading branch information
jack-berg committed Nov 26, 2022
1 parent c2947bf commit ee2d981
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 57 deletions.
6 changes: 3 additions & 3 deletions sdk-extensions/autoconfigure/README.md
Expand Up @@ -44,9 +44,9 @@ for more details.

The OpenTelemetry SDK can be disabled entirely. If disabled, `AutoConfiguredOpenTelemetrySdk#getOpenTelemetrySdk()` will return a minimally configured instance (i.e. `OpenTelemetrySdk.builder().build()`).

| System property | Environment variable | Purpose |
|-------------------|----------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| otel.sdk.disabled | OTEL_SDK_DISABLED | If `true`, disable the OpenTelemetry SDK. Defaults to `false`. The now legacy property `otel.experimental.sdk.enabled` will continue to work with default `true` during a transition period. |
| System property | Environment variable | Purpose |
|-------------------|----------------------|----------------------------------------------------------------|
| otel.sdk.disabled | OTEL_SDK_DISABLED | If `true`, disable the OpenTelemetry SDK. Defaults to `false`. |

## Exporters

Expand Down
Expand Up @@ -331,9 +331,7 @@ public AutoConfiguredOpenTelemetrySdk build() {
ResourceConfiguration.configureResource(config, serviceClassLoader, resourceCustomizer);

OpenTelemetrySdk openTelemetrySdk = OpenTelemetrySdk.builder().build();
boolean sdkEnabled =
!config.getBoolean(
"otel.sdk.disabled", !config.getBoolean("otel.experimental.sdk.enabled", true));
boolean sdkEnabled = !config.getBoolean("otel.sdk.disabled", false);

if (sdkEnabled) {
SdkMeterProviderBuilder meterProviderBuilder = SdkMeterProvider.builder();
Expand Down
Expand Up @@ -359,31 +359,6 @@ private static Supplier<Map<String, String>> disableExportPropertySupplier() {
return () -> props;
}

@Test
void disableSdkLegacyProperty() {
BiFunction<SdkTracerProviderBuilder, ConfigProperties, SdkTracerProviderBuilder>
traceCustomizer = getTracerProviderBuilderSpy();
BiFunction<SdkMeterProviderBuilder, ConfigProperties, SdkMeterProviderBuilder>
metricCustomizer = getMeterProviderBuilderSpy();
BiFunction<SdkLoggerProviderBuilder, ConfigProperties, SdkLoggerProviderBuilder> logCustomizer =
getLoggerProviderBuilderSpy();

AutoConfiguredOpenTelemetrySdk autoConfiguredSdk =
AutoConfiguredOpenTelemetrySdk.builder()
.addPropertiesSupplier(() -> singletonMap("otel.experimental.sdk.enabled", "false"))
.addTracerProviderCustomizer(traceCustomizer)
.addMeterProviderCustomizer(metricCustomizer)
.addLoggerProviderCustomizer(logCustomizer)
.build();

assertThat(autoConfiguredSdk.getOpenTelemetrySdk()).isInstanceOf(OpenTelemetrySdk.class);

// When the SDK is disabled, configuration is skipped and none of the customizers are called
verify(traceCustomizer, never()).apply(any(), any());
verify(metricCustomizer, never()).apply(any(), any());
verify(logCustomizer, never()).apply(any(), any());
}

@Test
void disableSdk() {
BiFunction<SdkTracerProviderBuilder, ConfigProperties, SdkTracerProviderBuilder>
Expand All @@ -409,32 +384,6 @@ void disableSdk() {
verify(logCustomizer, never()).apply(any(), any());
}

@Test
void disableSdkNewPropertyWins() {
BiFunction<SdkTracerProviderBuilder, ConfigProperties, SdkTracerProviderBuilder>
traceCustomizer = getTracerProviderBuilderSpy();
BiFunction<SdkMeterProviderBuilder, ConfigProperties, SdkMeterProviderBuilder>
metricCustomizer = getMeterProviderBuilderSpy();
BiFunction<SdkLoggerProviderBuilder, ConfigProperties, SdkLoggerProviderBuilder> logCustomizer =
getLoggerProviderBuilderSpy();

AutoConfiguredOpenTelemetrySdk autoConfiguredSdk =
AutoConfiguredOpenTelemetrySdk.builder()
.addPropertiesSupplier(() -> singletonMap("otel.sdk.disabled", "true"))
.addPropertiesSupplier(() -> singletonMap("otel.experimental.sdk.enabled", "true"))
.addTracerProviderCustomizer(traceCustomizer)
.addMeterProviderCustomizer(metricCustomizer)
.addLoggerProviderCustomizer(logCustomizer)
.build();

assertThat(autoConfiguredSdk.getOpenTelemetrySdk()).isInstanceOf(OpenTelemetrySdk.class);

// When the SDK is disabled, configuration is skipped and none of the customizers are called
verify(traceCustomizer, never()).apply(any(), any());
verify(metricCustomizer, never()).apply(any(), any());
verify(logCustomizer, never()).apply(any(), any());
}

@Test
void tracerProviderCustomizer() {
InMemorySpanExporter spanExporter = InMemorySpanExporter.create();
Expand Down

0 comments on commit ee2d981

Please sign in to comment.