Skip to content

Commit f183c87

Browse files
jack-bergtrask
andauthored
Fix compilation errors due to declarative config breaking changes (#1784)
Co-authored-by: Trask Stalnaker <[email protected]>
1 parent e42b000 commit f183c87

File tree

11 files changed

+43
-38
lines changed

11 files changed

+43
-38
lines changed

aws-xray-propagator/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ otelJava.moduleName.set("io.opentelemetry.contrib.awsxray.propagator")
1010
dependencies {
1111
api("io.opentelemetry:opentelemetry-api")
1212
compileOnly("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi")
13+
compileOnly("io.opentelemetry:opentelemetry-api-incubator")
1314
testImplementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure")
1415
testImplementation("io.opentelemetry:opentelemetry-sdk-trace")
1516
testImplementation("io.opentelemetry:opentelemetry-sdk-testing")

aws-xray-propagator/src/main/java/io/opentelemetry/contrib/awsxray/propagator/internal/AwsXrayComponentProvider.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55

66
package io.opentelemetry.contrib.awsxray.propagator.internal;
77

8+
import io.opentelemetry.api.incubator.config.DeclarativeConfigProperties;
89
import io.opentelemetry.context.propagation.TextMapPropagator;
910
import io.opentelemetry.contrib.awsxray.propagator.AwsXrayPropagator;
1011
import io.opentelemetry.sdk.autoconfigure.spi.internal.ComponentProvider;
11-
import io.opentelemetry.sdk.autoconfigure.spi.internal.StructuredConfigProperties;
1212

1313
public class AwsXrayComponentProvider implements ComponentProvider<TextMapPropagator> {
1414
@Override
@@ -22,7 +22,7 @@ public String getName() {
2222
}
2323

2424
@Override
25-
public TextMapPropagator create(StructuredConfigProperties config) {
25+
public TextMapPropagator create(DeclarativeConfigProperties config) {
2626
return AwsXrayPropagator.getInstance();
2727
}
2828
}

aws-xray-propagator/src/main/java/io/opentelemetry/contrib/awsxray/propagator/internal/AwsXrayLambdaComponentProvider.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55

66
package io.opentelemetry.contrib.awsxray.propagator.internal;
77

8+
import io.opentelemetry.api.incubator.config.DeclarativeConfigProperties;
89
import io.opentelemetry.context.propagation.TextMapPropagator;
910
import io.opentelemetry.contrib.awsxray.propagator.AwsXrayLambdaPropagator;
1011
import io.opentelemetry.sdk.autoconfigure.spi.internal.ComponentProvider;
11-
import io.opentelemetry.sdk.autoconfigure.spi.internal.StructuredConfigProperties;
1212

1313
public class AwsXrayLambdaComponentProvider implements ComponentProvider<TextMapPropagator> {
1414
@Override
@@ -22,7 +22,7 @@ public String getName() {
2222
}
2323

2424
@Override
25-
public TextMapPropagator create(StructuredConfigProperties config) {
25+
public TextMapPropagator create(DeclarativeConfigProperties config) {
2626
return AwsXrayLambdaPropagator.getInstance();
2727
}
2828
}

aws-xray-propagator/src/test/java/io/opentelemetry/contrib/awsxray/propagator/internal/AwsComponentProviderTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import io.opentelemetry.contrib.awsxray.propagator.AwsXrayLambdaPropagator;
1212
import io.opentelemetry.contrib.awsxray.propagator.AwsXrayPropagator;
1313
import io.opentelemetry.sdk.OpenTelemetrySdk;
14-
import io.opentelemetry.sdk.extension.incubator.fileconfig.FileConfiguration;
14+
import io.opentelemetry.sdk.extension.incubator.fileconfig.DeclarativeConfiguration;
1515
import java.io.ByteArrayInputStream;
1616
import java.nio.charset.StandardCharsets;
1717
import org.junit.jupiter.api.Test;
@@ -23,7 +23,7 @@ void endToEnd() {
2323
String yaml = "file_format: 0.3\n" + "propagator:\n" + " composite: [xray, xray-lambda]\n";
2424

2525
OpenTelemetrySdk openTelemetrySdk =
26-
FileConfiguration.parseAndCreate(
26+
DeclarativeConfiguration.parseAndCreate(
2727
new ByteArrayInputStream(yaml.getBytes(StandardCharsets.UTF_8)));
2828
TextMapPropagator expectedPropagator =
2929
TextMapPropagator.composite(

dependencyManagement/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ plugins {
22
`java-platform`
33
}
44

5-
val otelInstrumentationVersion = "2.13.3-alpha"
5+
val otelInstrumentationVersion = "2.14.0-alpha"
66
val semconvVersion = "1.30.0"
77

88
javaPlatform {

processors/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ java {
1414
dependencies {
1515
api("io.opentelemetry:opentelemetry-sdk")
1616
compileOnly("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi")
17+
compileOnly("io.opentelemetry:opentelemetry-api-incubator")
1718

1819
// For EventToSpanEventBridge
1920
implementation("io.opentelemetry:opentelemetry-exporter-otlp-common")

processors/src/main/java/io/opentelemetry/contrib/eventbridge/internal/EventToSpanEventBridgeComponentProvider.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55

66
package io.opentelemetry.contrib.eventbridge.internal;
77

8+
import io.opentelemetry.api.incubator.config.DeclarativeConfigProperties;
89
import io.opentelemetry.contrib.eventbridge.EventToSpanEventBridge;
910
import io.opentelemetry.sdk.autoconfigure.spi.internal.ComponentProvider;
10-
import io.opentelemetry.sdk.autoconfigure.spi.internal.StructuredConfigProperties;
1111
import io.opentelemetry.sdk.logs.LogRecordProcessor;
1212

1313
/**
@@ -30,7 +30,7 @@ public String getName() {
3030
}
3131

3232
@Override
33-
public LogRecordProcessor create(StructuredConfigProperties config) {
33+
public LogRecordProcessor create(DeclarativeConfigProperties config) {
3434
return EventToSpanEventBridge.create();
3535
}
3636
}

processors/src/test/java/io/opentelemetry/contrib/eventbridge/internal/EventToSpanBridgeComponentProviderTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import static org.assertj.core.api.Assertions.assertThat;
99

1010
import io.opentelemetry.sdk.OpenTelemetrySdk;
11-
import io.opentelemetry.sdk.extension.incubator.fileconfig.FileConfiguration;
11+
import io.opentelemetry.sdk.extension.incubator.fileconfig.DeclarativeConfiguration;
1212
import java.io.ByteArrayInputStream;
1313
import java.nio.charset.StandardCharsets;
1414
import org.junit.jupiter.api.Test;
@@ -21,10 +21,10 @@ void endToEnd() {
2121
"file_format: 0.3\n"
2222
+ "logger_provider:\n"
2323
+ " processors:\n"
24-
+ " - event_to_span_event_bridge:";
24+
+ " - event_to_span_event_bridge:\n";
2525

2626
OpenTelemetrySdk openTelemetrySdk =
27-
FileConfiguration.parseAndCreate(
27+
DeclarativeConfiguration.parseAndCreate(
2828
new ByteArrayInputStream(yaml.getBytes(StandardCharsets.UTF_8)));
2929

3030
assertThat(openTelemetrySdk.getSdkLoggerProvider().toString())

samplers/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ dependencies {
1010
api("io.opentelemetry:opentelemetry-sdk")
1111

1212
compileOnly("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi")
13+
compileOnly("io.opentelemetry:opentelemetry-api-incubator")
1314
compileOnly("io.opentelemetry:opentelemetry-sdk-extension-incubator")
1415

1516
testImplementation("io.opentelemetry.semconv:opentelemetry-semconv-incubating")

samplers/src/main/java/io/opentelemetry/contrib/sampler/internal/RuleBasedRoutingSamplerComponentProvider.java

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
package io.opentelemetry.contrib.sampler.internal;
77

88
import io.opentelemetry.api.common.AttributeKey;
9+
import io.opentelemetry.api.incubator.config.DeclarativeConfigException;
10+
import io.opentelemetry.api.incubator.config.DeclarativeConfigProperties;
911
import io.opentelemetry.api.trace.SpanKind;
1012
import io.opentelemetry.contrib.sampler.RuleBasedRoutingSampler;
1113
import io.opentelemetry.contrib.sampler.RuleBasedRoutingSamplerBuilder;
12-
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
1314
import io.opentelemetry.sdk.autoconfigure.spi.internal.ComponentProvider;
14-
import io.opentelemetry.sdk.autoconfigure.spi.internal.StructuredConfigProperties;
15-
import io.opentelemetry.sdk.extension.incubator.fileconfig.FileConfiguration;
15+
import io.opentelemetry.sdk.extension.incubator.fileconfig.DeclarativeConfiguration;
1616
import io.opentelemetry.sdk.trace.samplers.Sampler;
1717
import java.util.List;
1818

@@ -38,17 +38,17 @@ public String getName() {
3838
}
3939

4040
@Override
41-
public Sampler create(StructuredConfigProperties config) {
42-
StructuredConfigProperties fallbackModel = config.getStructured("fallback_sampler");
41+
public Sampler create(DeclarativeConfigProperties config) {
42+
DeclarativeConfigProperties fallbackModel = config.getStructured("fallback_sampler");
4343
if (fallbackModel == null) {
44-
throw new ConfigurationException(
44+
throw new DeclarativeConfigException(
4545
"rule_based_routing sampler .fallback is required but is null");
4646
}
4747
Sampler fallbackSampler;
4848
try {
49-
fallbackSampler = FileConfiguration.createSampler(fallbackModel);
50-
} catch (ConfigurationException e) {
51-
throw new ConfigurationException(
49+
fallbackSampler = DeclarativeConfiguration.createSampler(fallbackModel);
50+
} catch (DeclarativeConfigException e) {
51+
throw new DeclarativeConfigException(
5252
"rule_Based_routing sampler failed to create .fallback sampler", e);
5353
}
5454

@@ -57,39 +57,41 @@ public Sampler create(StructuredConfigProperties config) {
5757
try {
5858
spanKind = SpanKind.valueOf(spanKindString);
5959
} catch (IllegalArgumentException e) {
60-
throw new ConfigurationException(
60+
throw new DeclarativeConfigException(
6161
"rule_based_routing sampler .span_kind is invalid: " + spanKindString, e);
6262
}
6363

6464
RuleBasedRoutingSamplerBuilder builder =
6565
RuleBasedRoutingSampler.builder(spanKind, fallbackSampler);
6666

67-
List<StructuredConfigProperties> rules = config.getStructuredList("rules");
67+
List<DeclarativeConfigProperties> rules = config.getStructuredList("rules");
6868
if (rules == null || rules.isEmpty()) {
69-
throw new ConfigurationException("rule_based_routing sampler .rules is required");
69+
throw new DeclarativeConfigException("rule_based_routing sampler .rules is required");
7070
}
7171

72-
for (StructuredConfigProperties rule : rules) {
72+
for (DeclarativeConfigProperties rule : rules) {
7373
String attribute = rule.getString("attribute");
7474
if (attribute == null) {
75-
throw new ConfigurationException(
75+
throw new DeclarativeConfigException(
7676
"rule_based_routing sampler .rules[].attribute is required");
7777
}
7878
AttributeKey<String> attributeKey = AttributeKey.stringKey(attribute);
7979
String pattern = rule.getString("pattern");
8080
if (pattern == null) {
81-
throw new ConfigurationException("rule_based_routing sampler .rules[].pattern is required");
81+
throw new DeclarativeConfigException(
82+
"rule_based_routing sampler .rules[].pattern is required");
8283
}
8384
String action = rule.getString("action");
8485
if (action == null) {
85-
throw new ConfigurationException("rule_based_routing sampler .rules[].action is required");
86+
throw new DeclarativeConfigException(
87+
"rule_based_routing sampler .rules[].action is required");
8688
}
8789
if (action.equals(ACTION_RECORD_AND_SAMPLE)) {
8890
builder.recordAndSample(attributeKey, pattern);
8991
} else if (action.equals(ACTION_DROP)) {
9092
builder.drop(attributeKey, pattern);
9193
} else {
92-
throw new ConfigurationException(
94+
throw new DeclarativeConfigException(
9395
"rule_based_routing sampler .rules[].action is must be "
9496
+ ACTION_RECORD_AND_SAMPLE
9597
+ " or "

0 commit comments

Comments
 (0)