Skip to content

Commit 8817a59

Browse files
committed
pr review
1 parent aab7c9d commit 8817a59

File tree

9 files changed

+36
-28
lines changed

9 files changed

+36
-28
lines changed

instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/config/internal/LibraryConfigUtil.java renamed to instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/config/internal/LegacyLibraryConfigUtil.java

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,17 @@
1212
import io.opentelemetry.api.incubator.config.DeclarativeConfigProperties;
1313

1414
/**
15-
* This class is internal and is hence not for public use. Its APIs are unstable and can change at
16-
* any time.
15+
* Configuration utility methods for library instrumentations that support both declarative
16+
* configuration and system properties / environment variables.
17+
*
18+
* <p>This class is only intended to be used for existing library instrumentations to not break
19+
* backwards compatibility. New library instrumentations should directly use declarative
20+
* configuration APIs via {@link DeclarativeConfigUtil}.
21+
*
22+
* <p>This class is internal and is hence not for public use. Its APIs are unstable and can change
23+
* at any time.
1724
*/
18-
public final class LibraryConfigUtil {
25+
public final class LegacyLibraryConfigUtil {
1926

2027
/**
2128
* Retrieves structured configuration for the given instrumentation name. If no configuration is
@@ -26,8 +33,9 @@ public final class LibraryConfigUtil {
2633
* provider. Otherwise, the configuration is obtained from system properties or environment
2734
* variables.
2835
*
29-
* <p>This method is only intended to be used for library instrumentation. For agent
30-
* instrumentation, use {}
36+
* <p>This method is only intended to be used for existing library instrumentations to not break
37+
* backwards compatibility. New library instrumentations should directly use declarative
38+
* configuration APIs via {@link DeclarativeConfigUtil}.
3139
*
3240
* @param openTelemetry the OpenTelemetry instance
3341
* @param name the name of the instrumentation
@@ -46,5 +54,5 @@ public static ExtendedDeclarativeConfigProperties getJavaInstrumentationConfig(
4654
return new ExtendedDeclarativeConfigProperties(instrumentationConfig).get("java").get(name);
4755
}
4856

49-
private LibraryConfigUtil() {}
57+
private LegacyLibraryConfigUtil() {}
5058
}

instrumentation/aws-sdk/aws-sdk-1.11/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/autoconfigure/TracingRequestHandler.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import io.opentelemetry.api.GlobalOpenTelemetry;
1515
import io.opentelemetry.api.OpenTelemetry;
1616
import io.opentelemetry.instrumentation.api.incubator.config.internal.ExtendedDeclarativeConfigProperties;
17-
import io.opentelemetry.instrumentation.api.incubator.config.internal.LibraryConfigUtil;
17+
import io.opentelemetry.instrumentation.api.incubator.config.internal.LegacyLibraryConfigUtil;
1818
import io.opentelemetry.instrumentation.awssdk.v1_11.AwsSdkTelemetry;
1919
import java.util.Optional;
2020

@@ -27,10 +27,10 @@ public class TracingRequestHandler extends RequestHandler2 {
2727

2828
private static RequestHandler2 buildDelegate(OpenTelemetry openTelemetry) {
2929
ExtendedDeclarativeConfigProperties messaging =
30-
LibraryConfigUtil.getJavaInstrumentationConfig(openTelemetry, "messaging");
30+
LegacyLibraryConfigUtil.getJavaInstrumentationConfig(openTelemetry, "messaging");
3131
return AwsSdkTelemetry.builder(openTelemetry)
3232
.setCaptureExperimentalSpanAttributes(
33-
LibraryConfigUtil.getJavaInstrumentationConfig(openTelemetry, "aws_sdk")
33+
LegacyLibraryConfigUtil.getJavaInstrumentationConfig(openTelemetry, "aws_sdk")
3434
.getBoolean("span_attributes/development", false))
3535
.setMessagingReceiveTelemetryEnabled(
3636
messaging.get("receive_telemetry/development").getBoolean("enabled", false))

instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/internal/AwsSdkTelemetryFactory.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import io.opentelemetry.api.GlobalOpenTelemetry;
1111
import io.opentelemetry.api.OpenTelemetry;
1212
import io.opentelemetry.instrumentation.api.incubator.config.internal.ExtendedDeclarativeConfigProperties;
13-
import io.opentelemetry.instrumentation.api.incubator.config.internal.LibraryConfigUtil;
13+
import io.opentelemetry.instrumentation.api.incubator.config.internal.LegacyLibraryConfigUtil;
1414
import io.opentelemetry.instrumentation.awssdk.v2_2.AwsSdkTelemetry;
1515

1616
/**
@@ -22,9 +22,9 @@ public final class AwsSdkTelemetryFactory {
2222
public static AwsSdkTelemetry telemetry() {
2323
OpenTelemetry openTelemetry = GlobalOpenTelemetry.get();
2424
ExtendedDeclarativeConfigProperties awsSdk =
25-
LibraryConfigUtil.getJavaInstrumentationConfig(openTelemetry, "aws_sdk");
25+
LegacyLibraryConfigUtil.getJavaInstrumentationConfig(openTelemetry, "aws_sdk");
2626
ExtendedDeclarativeConfigProperties messaging =
27-
LibraryConfigUtil.getJavaInstrumentationConfig(openTelemetry, "messaging");
27+
LegacyLibraryConfigUtil.getJavaInstrumentationConfig(openTelemetry, "messaging");
2828

2929
return AwsSdkTelemetry.builder(openTelemetry)
3030
.setCapturedHeaders(
@@ -38,7 +38,7 @@ public static AwsSdkTelemetry telemetry() {
3838
.setRecordIndividualHttpError(
3939
awsSdk.getBoolean("record_individual_http_error/development", false))
4040
.setGenaiCaptureMessageContent(
41-
LibraryConfigUtil.getJavaInstrumentationConfig(openTelemetry, "genai")
41+
LegacyLibraryConfigUtil.getJavaInstrumentationConfig(openTelemetry, "genai")
4242
.getBoolean("capture_message_content", false))
4343
.build();
4444
}

instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/OpenTelemetryDriver.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import static io.opentelemetry.instrumentation.jdbc.internal.JdbcInstrumenterFactory.INSTRUMENTATION_NAME;
2424

2525
import io.opentelemetry.api.OpenTelemetry;
26-
import io.opentelemetry.instrumentation.api.incubator.config.internal.LibraryConfigUtil;
26+
import io.opentelemetry.instrumentation.api.incubator.config.internal.LegacyLibraryConfigUtil;
2727
import io.opentelemetry.instrumentation.api.incubator.semconv.db.internal.SqlCommenter;
2828
import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
2929
import io.opentelemetry.instrumentation.api.internal.EmbeddedInstrumentationProperties;
@@ -65,13 +65,13 @@ public final class OpenTelemetryDriver implements Driver {
6565

6666
private static SqlCommenter getSqlCommenter(OpenTelemetry openTelemetry) {
6767
boolean defaultValue =
68-
LibraryConfigUtil.getJavaInstrumentationConfig(openTelemetry, "common")
68+
LegacyLibraryConfigUtil.getJavaInstrumentationConfig(openTelemetry, "common")
6969
.get("db_sqlcommenter/development")
7070
.getBoolean("enabled", false);
7171

7272
return SqlCommenter.builder()
7373
.setEnabled(
74-
LibraryConfigUtil.getJavaInstrumentationConfig(openTelemetry, "jdbc")
74+
LegacyLibraryConfigUtil.getJavaInstrumentationConfig(openTelemetry, "jdbc")
7575
.get("sqlcommenter/development")
7676
.getBoolean("enabled", defaultValue))
7777
.build();

instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/JdbcInstrumenterFactory.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import static java.util.Collections.emptyList;
99

1010
import io.opentelemetry.api.OpenTelemetry;
11-
import io.opentelemetry.instrumentation.api.incubator.config.internal.LibraryConfigUtil;
11+
import io.opentelemetry.instrumentation.api.incubator.config.internal.LegacyLibraryConfigUtil;
1212
import io.opentelemetry.instrumentation.api.incubator.semconv.code.CodeAttributesExtractor;
1313
import io.opentelemetry.instrumentation.api.incubator.semconv.code.CodeSpanNameExtractor;
1414
import io.opentelemetry.instrumentation.api.incubator.semconv.db.DbClientMetrics;
@@ -29,7 +29,7 @@ public final class JdbcInstrumenterFactory {
2929
public static final String INSTRUMENTATION_NAME = "io.opentelemetry.jdbc";
3030

3131
public static boolean captureQueryParameters(OpenTelemetry openTelemetry) {
32-
return LibraryConfigUtil.getJavaInstrumentationConfig(openTelemetry, "jdbc")
32+
return LegacyLibraryConfigUtil.getJavaInstrumentationConfig(openTelemetry, "jdbc")
3333
.getBoolean("capture_query_parameters/development", false);
3434
}
3535

@@ -41,7 +41,7 @@ public static Instrumenter<DbRequest, Void> createStatementInstrumenter(
4141
static Instrumenter<DbRequest, Void> createStatementInstrumenter(
4242
OpenTelemetry openTelemetry, boolean captureQueryParameters) {
4343
boolean statementSanitizationEnabled =
44-
LibraryConfigUtil.getJavaInstrumentationConfig(openTelemetry, "common")
44+
LegacyLibraryConfigUtil.getJavaInstrumentationConfig(openTelemetry, "common")
4545
.get("db_statement_sanitizer")
4646
.getBoolean("enabled", true);
4747
return createStatementInstrumenter(
@@ -92,7 +92,7 @@ public static Instrumenter<DataSource, DbInfo> createDataSourceInstrumenter(
9292
public static Instrumenter<DbRequest, Void> createTransactionInstrumenter(
9393
OpenTelemetry openTelemetry) {
9494
boolean enabled =
95-
LibraryConfigUtil.getJavaInstrumentationConfig(openTelemetry, "jdbc")
95+
LegacyLibraryConfigUtil.getJavaInstrumentationConfig(openTelemetry, "jdbc")
9696
.getBoolean("transaction/development", false);
9797
return createTransactionInstrumenter(openTelemetry, enabled);
9898
}

instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/main/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/TracingConsumerInterceptor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
import io.opentelemetry.api.OpenTelemetry;
1313
import io.opentelemetry.context.Context;
1414
import io.opentelemetry.instrumentation.api.incubator.config.internal.ExtendedDeclarativeConfigProperties;
15-
import io.opentelemetry.instrumentation.api.incubator.config.internal.LibraryConfigUtil;
15+
import io.opentelemetry.instrumentation.api.incubator.config.internal.LegacyLibraryConfigUtil;
1616
import io.opentelemetry.instrumentation.api.internal.Timer;
1717
import io.opentelemetry.instrumentation.kafkaclients.common.v0_11.internal.KafkaConsumerContext;
1818
import io.opentelemetry.instrumentation.kafkaclients.common.v0_11.internal.KafkaConsumerContextUtil;
@@ -40,7 +40,7 @@ public class TracingConsumerInterceptor<K, V> implements ConsumerInterceptor<K,
4040
static {
4141
OpenTelemetry openTelemetry = GlobalOpenTelemetry.get();
4242
ExtendedDeclarativeConfigProperties messaging =
43-
LibraryConfigUtil.getJavaInstrumentationConfig(openTelemetry, "messaging");
43+
LegacyLibraryConfigUtil.getJavaInstrumentationConfig(openTelemetry, "messaging");
4444

4545
telemetry =
4646
KafkaTelemetry.builder(openTelemetry)

instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/main/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/TracingProducerInterceptor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import com.google.errorprone.annotations.CanIgnoreReturnValue;
1111
import io.opentelemetry.api.GlobalOpenTelemetry;
1212
import io.opentelemetry.api.OpenTelemetry;
13-
import io.opentelemetry.instrumentation.api.incubator.config.internal.LibraryConfigUtil;
13+
import io.opentelemetry.instrumentation.api.incubator.config.internal.LegacyLibraryConfigUtil;
1414
import java.util.Map;
1515
import java.util.Objects;
1616
import javax.annotation.Nullable;
@@ -37,7 +37,7 @@ public class TracingProducerInterceptor<K, V> implements ProducerInterceptor<K,
3737
telemetry =
3838
KafkaTelemetry.builder(openTelemetry)
3939
.setCapturedHeaders(
40-
LibraryConfigUtil.getJavaInstrumentationConfig(openTelemetry, "messaging")
40+
LegacyLibraryConfigUtil.getJavaInstrumentationConfig(openTelemetry, "messaging")
4141
.getScalarList("capture_headers/development", String.class, emptyList()))
4242
.build();
4343
}

instrumentation/log4j/log4j-context-data/log4j-context-data-2.17/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/log4j/contextdata/v2_17/OpenTelemetryContextDataProvider.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import io.opentelemetry.api.trace.Span;
1212
import io.opentelemetry.api.trace.SpanContext;
1313
import io.opentelemetry.context.Context;
14-
import io.opentelemetry.instrumentation.api.incubator.config.internal.LibraryConfigUtil;
14+
import io.opentelemetry.instrumentation.api.incubator.config.internal.LegacyLibraryConfigUtil;
1515
import io.opentelemetry.instrumentation.log4j.contextdata.v2_17.internal.ContextDataKeys;
1616
import io.opentelemetry.javaagent.bootstrap.internal.ConfiguredResourceAttributesHolder;
1717
import java.util.Collections;
@@ -26,7 +26,7 @@
2626
*/
2727
public class OpenTelemetryContextDataProvider implements ContextDataProvider {
2828
private static final boolean BAGGAGE_ENABLED =
29-
LibraryConfigUtil.getJavaInstrumentationConfig(
29+
LegacyLibraryConfigUtil.getJavaInstrumentationConfig(
3030
GlobalOpenTelemetry.get(), "log4j_context_data")
3131
.getBoolean("add_baggage", false);
3232

instrumentation/log4j/log4j-context-data/log4j-context-data-2.17/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/log4j/contextdata/v2_17/internal/ContextDataKeys.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
import io.opentelemetry.api.GlobalOpenTelemetry;
99
import io.opentelemetry.api.incubator.config.DeclarativeConfigProperties;
10-
import io.opentelemetry.instrumentation.api.incubator.config.internal.LibraryConfigUtil;
10+
import io.opentelemetry.instrumentation.api.incubator.config.internal.LegacyLibraryConfigUtil;
1111
import io.opentelemetry.instrumentation.api.incubator.log.LoggingContextConstants;
1212

1313
/**
@@ -25,7 +25,7 @@ public final class ContextDataKeys {
2525
getLogging().getString("trace_flags", LoggingContextConstants.TRACE_FLAGS);
2626

2727
private static DeclarativeConfigProperties getLogging() {
28-
return LibraryConfigUtil.getJavaInstrumentationConfig(GlobalOpenTelemetry.get(), "common")
28+
return LegacyLibraryConfigUtil.getJavaInstrumentationConfig(GlobalOpenTelemetry.get(), "common")
2929
.get("logging");
3030
}
3131

0 commit comments

Comments
 (0)