Skip to content

Commit 9c0c7a1

Browse files
committed
AddThreadDetailsSpanProcessor isn't needed any more
1 parent a6d568f commit 9c0c7a1

File tree

10 files changed

+19
-163
lines changed

10 files changed

+19
-163
lines changed

declarative-config-bridge/src/main/java/io/opentelemetry/instrumentation/config/bridge/ConfigPropertiesBackedDeclarativeConfigProperties.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ public final class ConfigPropertiesBackedDeclarativeConfigProperties
9595
SPECIAL_MAPPINGS.put("java.jmx.enabled", "otel.jmx.enabled");
9696
SPECIAL_MAPPINGS.put("java.jmx.config", "otel.jmx.config");
9797
SPECIAL_MAPPINGS.put("java.jmx.target.system", "otel.jmx.target.system");
98+
SPECIAL_MAPPINGS.put("java.common.thread_details.enabled", "otel.javaagent.add-thread-details");
9899
}
99100

100101
private final ConfigProperties configProperties;

declarative-config-bridge/src/test/java/io/opentelemetry/instrumentation/config/bridge/ConfigPropertiesBackedDeclarativeConfigPropertiesTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,15 @@ void testAgentPrefix() {
8484
.isTrue();
8585
}
8686

87+
@Test
88+
void testThreadDetails() {
89+
DeclarativeConfigProperties config = createConfig("otel.javaagent.add-thread-details", "true");
90+
91+
assertThat(config.get("java").get("common").get("thread_details").getBoolean("enabled"))
92+
.isNotNull()
93+
.isTrue();
94+
}
95+
8796
@Test
8897
void testJmxPrefix() {
8998
DeclarativeConfigProperties config = createConfig("otel.jmx.enabled", "true");

instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/instrumenter/ThreadDetailsInstrumenterCustomizerProvider.java

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,11 @@
77

88
import static io.opentelemetry.api.common.AttributeKey.longKey;
99
import static io.opentelemetry.api.common.AttributeKey.stringKey;
10-
import static io.opentelemetry.api.incubator.config.DeclarativeConfigProperties.empty;
1110

1211
import io.opentelemetry.api.OpenTelemetry;
1312
import io.opentelemetry.api.common.AttributeKey;
1413
import io.opentelemetry.api.common.AttributesBuilder;
1514
import io.opentelemetry.api.incubator.ExtendedOpenTelemetry;
16-
import io.opentelemetry.api.incubator.config.DeclarativeConfigProperties;
1715
import io.opentelemetry.context.Context;
1816
import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor;
1917
import javax.annotation.Nullable;
@@ -23,19 +21,10 @@ public class ThreadDetailsInstrumenterCustomizerProvider implements Instrumenter
2321
public void customize(InstrumenterCustomizer customizer) {
2422
OpenTelemetry openTelemetry = customizer.getOpenTelemetry();
2523
if (openTelemetry instanceof ExtendedOpenTelemetry) {
26-
// Declarative config is used.
27-
// Otherwise, thread details are configured in
28-
// io.opentelemetry.javaagent.tooling.AgentTracerProviderConfigurer.
29-
30-
DeclarativeConfigProperties instrumentationConfig =
31-
((ExtendedOpenTelemetry) openTelemetry).getConfigProvider().getInstrumentationConfig();
32-
33-
if (instrumentationConfig != null
34-
&& instrumentationConfig
35-
.getStructured("java", empty())
36-
.getStructured("common", empty())
37-
.getStructured("thread_details", empty())
38-
.getBoolean("enabled", false)) {
24+
if (((ExtendedOpenTelemetry) openTelemetry)
25+
.getInstrumentationConfig("common")
26+
.get("thread_details")
27+
.getBoolean("enabled", false)) {
3928
customizer.addAttributesExtractor(new ThreadDetailsAttributesExtractor<>());
4029
}
4130
}

instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/instrumentation/thread/ThreadDetailsAutoConfiguration.java

Lines changed: 0 additions & 31 deletions
This file was deleted.

instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@ io.opentelemetry.instrumentation.spring.autoconfigure.internal.instrumentation.w
1616
io.opentelemetry.instrumentation.spring.autoconfigure.internal.instrumentation.scheduling.SpringSchedulingInstrumentationAutoConfiguration,\
1717
io.opentelemetry.instrumentation.spring.autoconfigure.internal.instrumentation.runtimemetrics.RuntimeMetricsAutoConfiguration,\
1818
io.opentelemetry.instrumentation.spring.autoconfigure.internal.instrumentation.runtimemetrics.Java8RuntimeMetricsProvider,\
19-
io.opentelemetry.instrumentation.spring.autoconfigure.internal.instrumentation.runtimemetrics.Java17RuntimeMetricsProvider,\
20-
io.opentelemetry.instrumentation.spring.autoconfigure.internal.instrumentation.thread.ThreadDetailsAutoConfiguration
19+
io.opentelemetry.instrumentation.spring.autoconfigure.internal.instrumentation.runtimemetrics.Java17RuntimeMetricsProvider
2120

2221
org.springframework.context.ApplicationListener=\
2322
io.opentelemetry.instrumentation.spring.autoconfigure.internal.instrumentation.logging.LogbackAppenderApplicationListener

instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,3 @@ io.opentelemetry.instrumentation.spring.autoconfigure.internal.instrumentation.s
2121
io.opentelemetry.instrumentation.spring.autoconfigure.internal.instrumentation.runtimemetrics.RuntimeMetricsAutoConfiguration
2222
io.opentelemetry.instrumentation.spring.autoconfigure.internal.instrumentation.runtimemetrics.Java8RuntimeMetricsProvider
2323
io.opentelemetry.instrumentation.spring.autoconfigure.internal.instrumentation.runtimemetrics.Java17RuntimeMetricsProvider
24-
io.opentelemetry.instrumentation.spring.autoconfigure.internal.instrumentation.thread.ThreadDetailsAutoConfiguration

javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/AgentTracerProviderConfigurer.java

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import com.google.auto.service.AutoService;
1111
import com.google.errorprone.annotations.CanIgnoreReturnValue;
1212
import io.opentelemetry.exporter.logging.LoggingSpanExporter;
13-
import io.opentelemetry.instrumentation.thread.internal.AddThreadDetailsSpanProcessor;
1413
import io.opentelemetry.javaagent.tooling.config.EarlyInitAgentConfig;
1514
import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer;
1615
import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizerProvider;
@@ -20,8 +19,6 @@
2019

2120
@AutoService(AutoConfigurationCustomizerProvider.class)
2221
public class AgentTracerProviderConfigurer implements AutoConfigurationCustomizerProvider {
23-
private static final String ADD_THREAD_DETAILS = "otel.javaagent.add-thread-details";
24-
2522
@Override
2623
public void customize(AutoConfigurationCustomizer autoConfigurationCustomizer) {
2724
autoConfigurationCustomizer.addTracerProviderCustomizer(
@@ -32,24 +29,15 @@ public void customize(AutoConfigurationCustomizer autoConfigurationCustomizer) {
3229
private static SdkTracerProviderBuilder configure(
3330
SdkTracerProviderBuilder sdkTracerProviderBuilder, ConfigProperties config) {
3431

35-
// Register additional thread details logging span processor
36-
if (config.getBoolean(ADD_THREAD_DETAILS, true)) {
37-
sdkTracerProviderBuilder.addSpanProcessor(new AddThreadDetailsSpanProcessor());
38-
}
39-
40-
maybeEnableLoggingExporter(sdkTracerProviderBuilder, config);
41-
42-
return sdkTracerProviderBuilder;
43-
}
44-
45-
private static void maybeEnableLoggingExporter(
46-
SdkTracerProviderBuilder builder, ConfigProperties config) {
4732
if (EarlyInitAgentConfig.get().isDebug()) {
4833
// don't install another instance if the user has already explicitly requested it.
4934
if (loggingExporterIsNotAlreadyConfigured(config)) {
50-
builder.addSpanProcessor(SimpleSpanProcessor.create(LoggingSpanExporter.create()));
35+
sdkTracerProviderBuilder.addSpanProcessor(
36+
SimpleSpanProcessor.create(LoggingSpanExporter.create()));
5137
}
5238
}
39+
40+
return sdkTracerProviderBuilder;
5341
}
5442

5543
private static boolean loggingExporterIsNotAlreadyConfigured(ConfigProperties config) {

sdk-autoconfigure-support/src/main/java/io/opentelemetry/instrumentation/thread/internal/AddThreadDetailsSpanProcessor.java

Lines changed: 0 additions & 57 deletions
This file was deleted.

sdk-autoconfigure-support/src/test/java/io/opentelemetry/instrumentation/thread/internal/AddThreadDetailsSpanProcessorTest.java

Lines changed: 0 additions & 39 deletions
This file was deleted.

smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractJvmKafkaSpringStarterSmokeTest.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import io.opentelemetry.api.OpenTelemetry;
99
import io.opentelemetry.instrumentation.spring.autoconfigure.OpenTelemetryAutoConfiguration;
1010
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.instrumentation.kafka.KafkaInstrumentationAutoConfiguration;
11-
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.instrumentation.thread.ThreadDetailsAutoConfiguration;
1211
import java.time.Duration;
1312
import org.junit.jupiter.api.AfterAll;
1413
import org.junit.jupiter.api.BeforeAll;
@@ -55,7 +54,6 @@ void setUpContext() {
5554
.withConfiguration(
5655
AutoConfigurations.of(
5756
OpenTelemetryAutoConfiguration.class,
58-
ThreadDetailsAutoConfiguration.class,
5957
SpringSmokeOtelConfiguration.class,
6058
kafkaAutoConfigurationClass(),
6159
KafkaInstrumentationAutoConfiguration.class,

0 commit comments

Comments
 (0)