Skip to content

Commit f89cb52

Browse files
committed
add declarative config for baggage
1 parent 5d702ed commit f89cb52

File tree

5 files changed

+86
-1
lines changed

5 files changed

+86
-1
lines changed

baggage-processor/build.gradle.kts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,29 @@ description = "OpenTelemetry Baggage Span Processor"
88
otelJava.moduleName.set("io.opentelemetry.contrib.baggage.processor")
99

1010
dependencies {
11+
annotationProcessor("com.google.auto.service:auto-service")
12+
compileOnly("com.google.auto.service:auto-service-annotations")
1113
api("io.opentelemetry:opentelemetry-api")
1214
api("io.opentelemetry:opentelemetry-sdk")
1315
implementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi")
16+
compileOnly("io.opentelemetry:opentelemetry-sdk-common")
17+
compileOnly("io.opentelemetry:opentelemetry-sdk-extension-incubator")
1418

19+
testAnnotationProcessor("com.google.auto.service:auto-service")
20+
testCompileOnly("com.google.auto.service:auto-service-annotations")
21+
testImplementation("io.opentelemetry:opentelemetry-sdk-common")
1522
testImplementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure")
23+
testImplementation("io.opentelemetry:opentelemetry-sdk-extension-incubator")
1624
testImplementation("io.opentelemetry:opentelemetry-sdk-testing")
1725
testImplementation("org.mockito:mockito-inline")
1826
testImplementation("com.google.guava:guava")
1927
testImplementation("org.awaitility:awaitility")
2028
}
29+
30+
configurations.all {
31+
// todo remove version number before merging, should be provided by the bom
32+
resolutionStrategy {
33+
force("io.opentelemetry:opentelemetry-sdk-common:1.52.0")
34+
force("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure:1.52.0")
35+
}
36+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.contrib.baggage.processor;
7+
8+
import com.google.auto.service.AutoService;
9+
import io.opentelemetry.api.incubator.config.DeclarativeConfigProperties;
10+
import io.opentelemetry.sdk.autoconfigure.spi.internal.ComponentProvider;
11+
import io.opentelemetry.sdk.internal.IncludeExcludePredicate;
12+
import io.opentelemetry.sdk.logs.LogRecordProcessor;
13+
14+
@SuppressWarnings("rawtypes")
15+
@AutoService(ComponentProvider.class)
16+
public class BaggageLogRecordComponentProvider implements ComponentProvider<LogRecordProcessor> {
17+
@Override
18+
public String getName() {
19+
return "baggage";
20+
}
21+
22+
@Override
23+
public LogRecordProcessor create(DeclarativeConfigProperties config) {
24+
return new BaggageLogRecordProcessor(
25+
IncludeExcludePredicate.createPatternMatching(
26+
config.getScalarList("included", String.class),
27+
config.getScalarList("excluded", String.class)));
28+
}
29+
30+
@Override
31+
public Class<LogRecordProcessor> getType() {
32+
return LogRecordProcessor.class;
33+
}
34+
}

baggage-processor/src/main/java/io/opentelemetry/contrib/baggage/processor/BaggageProcessorCustomizer.java

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

66
package io.opentelemetry.contrib.baggage.processor;
77

8+
import com.google.auto.service.AutoService;
89
import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer;
910
import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizerProvider;
1011
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
1112
import io.opentelemetry.sdk.logs.SdkLoggerProviderBuilder;
1213
import io.opentelemetry.sdk.trace.SdkTracerProviderBuilder;
1314
import java.util.List;
1415

16+
@AutoService(AutoConfigurationCustomizerProvider.class)
1517
public class BaggageProcessorCustomizer implements AutoConfigurationCustomizerProvider {
1618
@Override
1719
public void customize(AutoConfigurationCustomizer autoConfigurationCustomizer) {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.contrib.baggage.processor;
7+
8+
import com.google.auto.service.AutoService;
9+
import io.opentelemetry.api.incubator.config.DeclarativeConfigProperties;
10+
import io.opentelemetry.sdk.autoconfigure.spi.internal.ComponentProvider;
11+
import io.opentelemetry.sdk.internal.IncludeExcludePredicate;
12+
import io.opentelemetry.sdk.trace.SpanProcessor;
13+
14+
@SuppressWarnings("rawtypes")
15+
@AutoService(ComponentProvider.class)
16+
public class BaggageSpanComponentProvider implements ComponentProvider<SpanProcessor> {
17+
@Override
18+
public String getName() {
19+
return "baggage";
20+
}
21+
22+
@Override
23+
public SpanProcessor create(DeclarativeConfigProperties config) {
24+
return new BaggageSpanProcessor(
25+
IncludeExcludePredicate.createPatternMatching(
26+
config.getScalarList("included", String.class),
27+
config.getScalarList("excluded", String.class)));
28+
}
29+
30+
@Override
31+
public Class<SpanProcessor> getType() {
32+
return SpanProcessor.class;
33+
}
34+
}

baggage-processor/src/main/resources/META-INF/services/io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizerProvider

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)