From 6034c12650d096423b32c0da8d97c7317a1e8010 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Thu, 30 Jun 2022 07:40:34 -0700 Subject: [PATCH] Add javadoc about autoconfigure pitfall (#4558) * Add javadoc about autoconfigure pitfall * more --- .../spi/AutoConfigurationCustomizer.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sdk-extensions/autoconfigure-spi/src/main/java/io/opentelemetry/sdk/autoconfigure/spi/AutoConfigurationCustomizer.java b/sdk-extensions/autoconfigure-spi/src/main/java/io/opentelemetry/sdk/autoconfigure/spi/AutoConfigurationCustomizer.java index c45a391e10..da1ae088a3 100644 --- a/sdk-extensions/autoconfigure-spi/src/main/java/io/opentelemetry/sdk/autoconfigure/spi/AutoConfigurationCustomizer.java +++ b/sdk-extensions/autoconfigure-spi/src/main/java/io/opentelemetry/sdk/autoconfigure/spi/AutoConfigurationCustomizer.java @@ -77,6 +77,17 @@ public interface AutoConfigurationCustomizer { * customization. The return value of the {@link BiFunction} will replace the passed-in argument. * *

Multiple calls will execute the customizers in order. + * + *

Note: calling {@link SdkTracerProviderBuilder#setSampler(Sampler)} inside of your + * configuration function will cause any sampler customizers to be ignored that were configured + * via {@link #addSamplerCustomizer(BiFunction)}. If you want to replace the default sampler, + * check out {@link io.opentelemetry.sdk.autoconfigure.spi.traces.ConfigurableSamplerProvider} and + * use {@link #addPropertiesSupplier(Supplier)} to set `otel.traces.sampler` to your named + * sampler. + * + *

Similarly, calling {@link SdkTracerProviderBuilder#setResource(Resource)} inside of your + * configuration function will cause any resource customizers to be ignored that were configured + * via {@link #addResourceCustomizer(BiFunction)}. */ default AutoConfigurationCustomizer addTracerProviderCustomizer( BiFunction