Skip to content

Commit eaae9d6

Browse files
committed
copy changes from #13463
1 parent 8bf8d7f commit eaae9d6

File tree

4 files changed

+34
-23
lines changed

4 files changed

+34
-23
lines changed

instrumentation/resources/library/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ plugins {
55
val mrJarVersions = listOf(9, 11)
66

77
dependencies {
8-
implementation("io.opentelemetry:opentelemetry-api-incubator")
8+
compileOnly("io.opentelemetry:opentelemetry-api-incubator")
99
implementation("io.opentelemetry:opentelemetry-sdk-common")
1010
implementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi")
1111
implementation("io.opentelemetry.semconv:opentelemetry-semconv")

javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/AgentListener.java

+4-5
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,14 @@ static ConfigProperties resolveConfigProperties(
4141
ConfigProvider configProvider =
4242
AutoConfigureUtil.getConfigProvider(autoConfiguredOpenTelemetrySdk);
4343
if (configProvider != null) {
44-
DeclarativeConfigProperties structuredConfigProperties =
45-
configProvider.getInstrumentationConfig();
44+
DeclarativeConfigProperties instrumentationConfig = configProvider.getInstrumentationConfig();
4645

47-
if (structuredConfigProperties != null) {
48-
return new StructuredConfigPropertiesBridge(structuredConfigProperties);
46+
if (instrumentationConfig != null) {
47+
return new DeclarativeConfigPropertiesBridge(instrumentationConfig);
4948
}
5049
}
5150
// Should never happen
5251
throw new IllegalStateException(
53-
"AutoConfiguredOpenTelemetrySdk does not have ConfigProperties or StructuredConfigProperties. This is likely a programming error in opentelemetry-java");
52+
"AutoConfiguredOpenTelemetrySdk does not have ConfigProperties or DeclarativeConfigProperties. This is likely a programming error in opentelemetry-java");
5453
}
5554
}

javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/StructuredConfigPropertiesBridge.java javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/DeclarativeConfigPropertiesBridge.java

+3-6
Original file line numberDiff line numberDiff line change
@@ -46,18 +46,15 @@
4646
* string_key: value
4747
* </pre>
4848
*/
49-
final class StructuredConfigPropertiesBridge implements ConfigProperties {
49+
final class DeclarativeConfigPropertiesBridge implements ConfigProperties {
5050

5151
private static final String OTEL_INSTRUMENTATION_PREFIX = "otel.instrumentation.";
5252

5353
// The node at .instrumentation.java
5454
private final DeclarativeConfigProperties instrumentationJavaNode;
5555

56-
StructuredConfigPropertiesBridge(DeclarativeConfigProperties rootStructuredConfigProperties) {
57-
instrumentationJavaNode =
58-
rootStructuredConfigProperties
59-
.getStructured("instrumentation", empty())
60-
.getStructured("java", empty());
56+
DeclarativeConfigPropertiesBridge(DeclarativeConfigProperties rootStructuredConfigProperties) {
57+
instrumentationJavaNode = rootStructuredConfigProperties.getStructured("java", empty());
6158
}
6259

6360
@Nullable

javaagent-extension-api/src/test/java/io/opentelemetry/javaagent/extension/StructuredConfigPropertiesBridgeTest.java javaagent-extension-api/src/test/java/io/opentelemetry/javaagent/extension/DeclarativeConfigPropertiesBridgeTest.java

+26-11
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,22 @@
77

88
import static org.assertj.core.api.Assertions.assertThat;
99

10-
import io.opentelemetry.api.incubator.config.DeclarativeConfigProperties;
1110
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
1211
import io.opentelemetry.sdk.extension.incubator.fileconfig.DeclarativeConfiguration;
12+
import io.opentelemetry.sdk.extension.incubator.fileconfig.SdkConfigProvider;
13+
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.InstrumentationModel;
14+
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.OpenTelemetryConfigurationModel;
1315
import java.io.ByteArrayInputStream;
1416
import java.nio.charset.StandardCharsets;
1517
import java.time.Duration;
1618
import java.util.Arrays;
1719
import java.util.HashMap;
1820
import java.util.Map;
21+
import java.util.Objects;
22+
import org.junit.jupiter.api.BeforeEach;
1923
import org.junit.jupiter.api.Test;
2024

21-
class StructuredConfigPropertiesBridgeTest {
25+
class DeclarativeConfigPropertiesBridgeTest {
2226

2327
private static final String YAML =
2428
"file_format: 0.3\n"
@@ -42,15 +46,26 @@ class StructuredConfigPropertiesBridgeTest {
4246
+ " string_key2: value2\n"
4347
+ " bool_key: true\n";
4448

45-
private final DeclarativeConfigProperties structuredConfigProperties =
46-
DeclarativeConfiguration.toConfigProperties(
47-
new ByteArrayInputStream(YAML.getBytes(StandardCharsets.UTF_8)));
48-
private final ConfigProperties bridge =
49-
new StructuredConfigPropertiesBridge(structuredConfigProperties);
50-
private final ConfigProperties emptyBridge =
51-
new StructuredConfigPropertiesBridge(
52-
DeclarativeConfiguration.toConfigProperties(
53-
new ByteArrayInputStream("file_format: 0.3\n".getBytes(StandardCharsets.UTF_8))));
49+
private ConfigProperties bridge;
50+
private ConfigProperties emptyBridge;
51+
52+
@BeforeEach
53+
void setup() {
54+
OpenTelemetryConfigurationModel model =
55+
DeclarativeConfiguration.parse(
56+
new ByteArrayInputStream(YAML.getBytes(StandardCharsets.UTF_8)));
57+
SdkConfigProvider configProvider = SdkConfigProvider.create(model);
58+
bridge =
59+
new DeclarativeConfigPropertiesBridge(
60+
Objects.requireNonNull(configProvider.getInstrumentationConfig()));
61+
62+
OpenTelemetryConfigurationModel emptyModel =
63+
new OpenTelemetryConfigurationModel().withInstrumentation(new InstrumentationModel());
64+
SdkConfigProvider emptyConfigProvider = SdkConfigProvider.create(emptyModel);
65+
emptyBridge =
66+
new DeclarativeConfigPropertiesBridge(
67+
Objects.requireNonNull(emptyConfigProvider.getInstrumentationConfig()));
68+
}
5469

5570
@Test
5671
void getProperties() {

0 commit comments

Comments
 (0)