Deprecate SdkTracerProviderConfigurer (#4136)

* Deprecate SdkTracerProviderConfigurer

* Update sdk-extensions/autoconfigure/src/testFullConfig/java/io/opentelemetry/sdk/autoconfigure/TestTracerProviderConfigurer.java

Co-authored-by: John Watson <jkwatson@gmail.com>
This commit is contained in:
jack-berg 2022-02-02 23:19:28 -06:00 committed by GitHub
parent 9c6cc22fb6
commit bd29e1f2ef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 5 deletions

View File

@ -5,15 +5,20 @@
package io.opentelemetry.sdk.autoconfigure.spi.traces; package io.opentelemetry.sdk.autoconfigure.spi.traces;
import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.trace.SdkTracerProviderBuilder; import io.opentelemetry.sdk.trace.SdkTracerProviderBuilder;
import java.util.function.BiFunction;
/** /**
* A service provider interface (SPI) for performing additional programmatic configuration of a * A service provider interface (SPI) for performing additional programmatic configuration of a
* {@link SdkTracerProviderBuilder} during initialization. When using auto-configuration, you should * {@link SdkTracerProviderBuilder} during initialization. When using auto-configuration, you should
* prefer to use system properties or environment variables for configuration, but this may be * prefer to use system properties or environment variables for configuration, but this may be
* useful to register components that are not part of the SDK such as custom exporters. * useful to register components that are not part of the SDK such as custom exporters.
*
* @deprecated Use {@link AutoConfigurationCustomizer#addTracerProviderCustomizer(BiFunction)}.
*/ */
@Deprecated
public interface SdkTracerProviderConfigurer { public interface SdkTracerProviderConfigurer {
/** Configures the {@link SdkTracerProviderBuilder}. */ /** Configures the {@link SdkTracerProviderBuilder}. */
void configure(SdkTracerProviderBuilder tracerProviderBuilder, ConfigProperties config); void configure(SdkTracerProviderBuilder tracerProviderBuilder, ConfigProperties config);

View File

@ -15,7 +15,6 @@ import io.opentelemetry.sdk.OpenTelemetrySdkBuilder;
import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer; import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer;
import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizerProvider; import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizerProvider;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.traces.SdkTracerProviderConfigurer;
import io.opentelemetry.sdk.common.CompletableResultCode; import io.opentelemetry.sdk.common.CompletableResultCode;
import io.opentelemetry.sdk.logs.SdkLogEmitterProvider; import io.opentelemetry.sdk.logs.SdkLogEmitterProvider;
import io.opentelemetry.sdk.metrics.SdkMeterProvider; import io.opentelemetry.sdk.metrics.SdkMeterProvider;
@ -282,9 +281,12 @@ public final class AutoConfiguredOpenTelemetrySdkBuilder implements AutoConfigur
return AutoConfiguredOpenTelemetrySdk.create(openTelemetrySdk, resource, config); return AutoConfiguredOpenTelemetrySdk.create(openTelemetrySdk, resource, config);
} }
@SuppressWarnings("deprecation") // Support deprecated SdkTracerProviderConfigurer
private void mergeSdkTracerProviderConfigurer() { private void mergeSdkTracerProviderConfigurer() {
for (SdkTracerProviderConfigurer configurer : for (io.opentelemetry.sdk.autoconfigure.spi.traces.SdkTracerProviderConfigurer configurer :
ServiceLoader.load(SdkTracerProviderConfigurer.class, serviceClassLoader)) { ServiceLoader.load(
io.opentelemetry.sdk.autoconfigure.spi.traces.SdkTracerProviderConfigurer.class,
serviceClassLoader)) {
addTracerProviderCustomizer( addTracerProviderCustomizer(
(builder, config) -> { (builder, config) -> {
configurer.configure(builder, config); configurer.configure(builder, config);

View File

@ -7,13 +7,14 @@ package io.opentelemetry.sdk.autoconfigure;
import io.opentelemetry.context.Context; import io.opentelemetry.context.Context;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.traces.SdkTracerProviderConfigurer;
import io.opentelemetry.sdk.trace.ReadWriteSpan; import io.opentelemetry.sdk.trace.ReadWriteSpan;
import io.opentelemetry.sdk.trace.ReadableSpan; import io.opentelemetry.sdk.trace.ReadableSpan;
import io.opentelemetry.sdk.trace.SdkTracerProviderBuilder; import io.opentelemetry.sdk.trace.SdkTracerProviderBuilder;
import io.opentelemetry.sdk.trace.SpanProcessor; import io.opentelemetry.sdk.trace.SpanProcessor;
public class TestTracerProviderConfigurer implements SdkTracerProviderConfigurer { @SuppressWarnings("deprecation") // Support testing of SdkTracerProviderConfigurer
public class TestTracerProviderConfigurer
implements io.opentelemetry.sdk.autoconfigure.spi.traces.SdkTracerProviderConfigurer {
@Override @Override
public void configure(SdkTracerProviderBuilder tracerProvider, ConfigProperties config) { public void configure(SdkTracerProviderBuilder tracerProvider, ConfigProperties config) {
tracerProvider.addSpanProcessor( tracerProvider.addSpanProcessor(