|
@@ -10,24 +10,26 @@ import static io.opentelemetry.javaagent.tooling.AgentInstaller.JAVAAGENT_ENABLE
|
|
|
import com.google.auto.service.AutoService;
|
|
|
import io.opentelemetry.exporter.logging.LoggingSpanExporter;
|
|
|
import io.opentelemetry.instrumentation.api.config.Config;
|
|
|
+import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer;
|
|
|
+import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizerProvider;
|
|
|
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
|
|
|
-import io.opentelemetry.sdk.autoconfigure.spi.traces.SdkTracerProviderConfigurer;
|
|
|
import io.opentelemetry.sdk.trace.SdkTracerProviderBuilder;
|
|
|
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
|
|
|
-import org.slf4j.Logger;
|
|
|
-import org.slf4j.LoggerFactory;
|
|
|
-
|
|
|
-@AutoService(SdkTracerProviderConfigurer.class)
|
|
|
-public class AgentTracerProviderConfigurer implements SdkTracerProviderConfigurer {
|
|
|
- private static final Logger logger = LoggerFactory.getLogger(AgentTracerProviderConfigurer.class);
|
|
|
|
|
|
+@AutoService(AutoConfigurationCustomizerProvider.class)
|
|
|
+public class AgentTracerProviderConfigurer implements AutoConfigurationCustomizerProvider {
|
|
|
private static final String ADD_THREAD_DETAILS = "otel.javaagent.add-thread-details";
|
|
|
|
|
|
@Override
|
|
|
- public void configure(
|
|
|
+ public void customize(AutoConfigurationCustomizer autoConfigurationCustomizer) {
|
|
|
+ autoConfigurationCustomizer.addTracerProviderCustomizer(
|
|
|
+ AgentTracerProviderConfigurer::configure);
|
|
|
+ }
|
|
|
+
|
|
|
+ private static SdkTracerProviderBuilder configure(
|
|
|
SdkTracerProviderBuilder sdkTracerProviderBuilder, ConfigProperties config) {
|
|
|
if (!Config.get().getBoolean(JAVAAGENT_ENABLED_CONFIG, true)) {
|
|
|
- return;
|
|
|
+ return sdkTracerProviderBuilder;
|
|
|
}
|
|
|
|
|
|
// Register additional thread details logging span processor
|
|
@@ -36,6 +38,8 @@ public class AgentTracerProviderConfigurer implements SdkTracerProviderConfigure
|
|
|
}
|
|
|
|
|
|
maybeEnableLoggingExporter(sdkTracerProviderBuilder);
|
|
|
+
|
|
|
+ return sdkTracerProviderBuilder;
|
|
|
}
|
|
|
|
|
|
private static void maybeEnableLoggingExporter(SdkTracerProviderBuilder builder) {
|