Skip to content

Commit 5079a7e

Browse files
committed
make agent tracer available for spring starter
1 parent e0b2279 commit 5079a7e

File tree

3 files changed

+36
-5
lines changed

3 files changed

+36
-5
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.instrumentation.spring.autoconfigure.internal.instrumentation.threaddetails;
7+
8+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation;
9+
import io.opentelemetry.instrumentation.tracer.AddThreadDetailsSpanProcessor;
10+
import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizerProvider;
11+
import org.springframework.context.annotation.Bean;
12+
import org.springframework.context.annotation.Configuration;
13+
14+
/**
15+
* This class is internal and is hence not for public use. Its APIs are unstable and can change at
16+
* any time.
17+
*/
18+
@ConditionalOnEnabledInstrumentation(module = "thread-details")
19+
@Configuration
20+
@SuppressWarnings("OtelPrivateConstructorForUtilityClass")
21+
public class AgentTracerProviderConfigurer {
22+
23+
@Bean
24+
public AutoConfigurationCustomizerProvider otelCustomizer() {
25+
return p ->
26+
p.addTracerProviderCustomizer(
27+
(builder, config) -> {
28+
builder.addSpanProcessor(new AddThreadDetailsSpanProcessor());
29+
return builder;
30+
});
31+
}
32+
}
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,23 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.tracer;
6+
package io.opentelemetry.javaagent.tooling;
77

88
import static io.opentelemetry.javaagent.tooling.AgentInstaller.JAVAAGENT_ENABLED_CONFIG;
99
import static java.util.Collections.emptyList;
1010

1111
import com.google.auto.service.AutoService;
1212
import com.google.errorprone.annotations.CanIgnoreReturnValue;
1313
import io.opentelemetry.exporter.logging.LoggingSpanExporter;
14+
import io.opentelemetry.instrumentation.tracer.AddThreadDetailsSpanProcessor;
1415
import io.opentelemetry.javaagent.tooling.config.AgentConfig;
1516
import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer;
1617
import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizerProvider;
1718
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
1819
import io.opentelemetry.sdk.trace.SdkTracerProviderBuilder;
1920
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
2021

22+
@AutoService(AutoConfigurationCustomizerProvider.class)
2123
public class AgentTracerProviderConfigurer implements AutoConfigurationCustomizerProvider {
2224
private static final String ADD_THREAD_DETAILS = "otel.javaagent.add-thread-details";
2325

@@ -30,9 +32,7 @@ public void customize(AutoConfigurationCustomizer autoConfigurationCustomizer) {
3032
@CanIgnoreReturnValue
3133
private static SdkTracerProviderBuilder configure(
3234
SdkTracerProviderBuilder sdkTracerProviderBuilder, ConfigProperties config) {
33-
// Spring starter uses "otel.sdk.disabled" to disable the SDK, but this check is enabled
34-
// by default - so it shouldn't impact the Spring starter.
35-
if (!config.getBoolean("otel.javaagent.enabled", true)) {
35+
if (!config.getBoolean(JAVAAGENT_ENABLED_CONFIG, true)) {
3636
return sdkTracerProviderBuilder;
3737
}
3838

Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
11
io.opentelemetry.instrumentation.resources.ResourceProviderPropertiesCustomizer
2-
io.opentelemetry.instrumentation.tracer.AgentTracerProviderConfigurer

0 commit comments

Comments
 (0)