File tree Expand file tree Collapse file tree 4 files changed +60
-0
lines changed
main/java/io/opentelemetry/contrib/awsxray
test/java/io/opentelemetry/contrib/awsxray Expand file tree Collapse file tree 4 files changed +60
-0
lines changed Original file line number Diff line number Diff line change @@ -15,17 +15,23 @@ dependencies {
1515 api(" io.opentelemetry:opentelemetry-api" )
1616 api(" io.opentelemetry:opentelemetry-sdk-trace" )
1717
18+ compileOnly(" io.opentelemetry:opentelemetry-sdk-extension-autoconfigure" )
19+
1820 implementation(" io.opentelemetry:opentelemetry-semconv" )
1921
2022 compileOnly(" org.checkerframework:checker-qual" )
2123
24+ annotationProcessor(" com.google.auto.service:auto-service" )
25+ compileOnly(" com.google.auto.service:auto-service-annotations" )
26+
2227 annotationProcessor(" com.google.auto.value:auto-value" )
2328 compileOnly(" com.google.auto.value:auto-value-annotations" )
2429
2530 implementation(" com.fasterxml.jackson.core:jackson-core" )
2631 implementation(" com.fasterxml.jackson.core:jackson-databind" )
2732
2833 testImplementation(" com.linecorp.armeria:armeria-junit5" )
34+ testImplementation(" io.opentelemetry:opentelemetry-sdk-extension-autoconfigure" )
2935 testImplementation(" io.opentelemetry:opentelemetry-sdk-testing" )
3036 testImplementation(" com.google.guava:guava" )
3137 testImplementation(" org.slf4j:slf4j-simple" )
Original file line number Diff line number Diff line change 1+ /*
2+ * Copyright The OpenTelemetry Authors
3+ * SPDX-License-Identifier: Apache-2.0
4+ */
5+ package io .opentelemetry .contrib .awsxray ;
6+
7+ import com .google .auto .service .AutoService ;
8+ import io .opentelemetry .sdk .autoconfigure .ConfigProperties ;
9+ import io .opentelemetry .sdk .autoconfigure .OpenTelemetrySdkAutoConfiguration ;
10+ import io .opentelemetry .sdk .autoconfigure .spi .ConfigurableSamplerProvider ;
11+ import io .opentelemetry .sdk .trace .samplers .Sampler ;
12+
13+ @ AutoService (ConfigurableSamplerProvider .class )
14+ public class AwsXrayRemoteSamplerProvider implements ConfigurableSamplerProvider {
15+
16+ @ Override
17+ public Sampler createSampler (ConfigProperties config ) {
18+ return AwsXrayRemoteSampler .newBuilder (OpenTelemetrySdkAutoConfiguration .getResource ()).build ();
19+ }
20+
21+ @ Override
22+ public String getName () {
23+ return "xray" ;
24+ }
25+ }
Original file line number Diff line number Diff line change 1+ /*
2+ * Copyright The OpenTelemetry Authors
3+ * SPDX-License-Identifier: Apache-2.0
4+ */
5+ package io .opentelemetry .contrib .awsxray ;
6+
7+ import static org .assertj .core .api .Assertions .assertThat ;
8+ import static org .assertj .core .api .InstanceOfAssertFactories .type ;
9+
10+ import io .opentelemetry .sdk .autoconfigure .spi .ConfigurableSamplerProvider ;
11+ import java .util .ServiceLoader ;
12+ import org .junit .jupiter .api .Test ;
13+
14+ class AwsXrayRemoteSamplerProviderTest {
15+
16+ @ Test
17+ void serviceProvider () {
18+ ServiceLoader <ConfigurableSamplerProvider > samplerProviders =
19+ ServiceLoader .load (ConfigurableSamplerProvider .class );
20+ assertThat (samplerProviders )
21+ .singleElement (type (AwsXrayRemoteSamplerProvider .class ))
22+ .satisfies (provider -> assertThat (provider .getName ()).isEqualTo ("xray" ));
23+ }
24+ }
Original file line number Diff line number Diff line change @@ -23,6 +23,11 @@ val DEPENDENCY_BOMS = listOf(
2323)
2424
2525val DEPENDENCY_SETS = listOf (
26+ DependencySet (
27+ " com.google.auto.service" ,
28+ " 1.0" ,
29+ listOf (" auto-service" , " auto-service-annotations" )
30+ ),
2631 DependencySet (
2732 " com.google.auto.value" ,
2833 " 1.8.1" ,
You can’t perform that action at this time.
0 commit comments