File tree Expand file tree Collapse file tree
java/io/opentelemetry/contrib/aws/resource
resources/META-INF/services
test/java/io/opentelemetry/contrib/aws/resource Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -9,6 +9,7 @@ otelJava.moduleName.set("io.opentelemetry.contrib.aws.resource")
99
1010dependencies {
1111 api(" io.opentelemetry:opentelemetry-api" )
12+ compileOnly(" io.opentelemetry:opentelemetry-api-incubator" )
1213 api(" io.opentelemetry:opentelemetry-sdk" )
1314
1415 implementation(" io.opentelemetry.semconv:opentelemetry-semconv" )
@@ -20,6 +21,7 @@ dependencies {
2021 implementation(" com.squareup.okhttp3:okhttp" )
2122
2223 testImplementation(" io.opentelemetry:opentelemetry-sdk-extension-autoconfigure" )
24+ testImplementation(" io.opentelemetry:opentelemetry-api-incubator" )
2325 testImplementation(" io.opentelemetry:opentelemetry-sdk-testing" )
2426
2527 testImplementation(" com.linecorp.armeria:armeria-junit5" )
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+
6+ package io .opentelemetry .contrib .aws .resource ;
7+
8+ import io .opentelemetry .api .incubator .config .DeclarativeConfigProperties ;
9+ import io .opentelemetry .sdk .autoconfigure .spi .internal .ComponentProvider ;
10+ import io .opentelemetry .sdk .resources .Resource ;
11+ import io .opentelemetry .sdk .resources .ResourceBuilder ;
12+
13+ public class AwsResourceDetector implements ComponentProvider <Resource > {
14+
15+ @ Override
16+ public Class <Resource > getType () {
17+ return Resource .class ;
18+ }
19+
20+ @ Override
21+ public String getName () {
22+ return "aws" ;
23+ }
24+
25+ @ Override
26+ public Resource create (DeclarativeConfigProperties config ) {
27+ ResourceBuilder builder = Resource .builder ();
28+ builder .putAll (BeanstalkResource .get ());
29+ builder .putAll (Ec2Resource .get ());
30+ builder .putAll (EcsResource .get ());
31+ builder .putAll (EksResource .get ());
32+ builder .putAll (LambdaResource .get ());
33+ return builder .build ();
34+ }
35+ }
Original file line number Diff line number Diff line change 1+ io.opentelemetry.contrib.aws.resource.AwsResourceDetector
Original file line number Diff line number Diff line change 1+ package io .opentelemetry .contrib .aws .resource ;
2+
3+ import static org .assertj .core .api .Assertions .assertThat ;
4+
5+ import io .opentelemetry .sdk .autoconfigure .internal .SpiHelper ;
6+ import io .opentelemetry .sdk .autoconfigure .spi .internal .ComponentProvider ;
7+ import org .junit .jupiter .api .Test ;
8+ import java .util .List ;
9+
10+ public class ComponentProviderTest {
11+
12+ @ Test
13+ void providerIsLoaded () {
14+ @ SuppressWarnings ("rawtypes" )
15+ List <ComponentProvider > providers = SpiHelper .create (
16+ ComponentProviderTest .class .getClassLoader ())
17+ .load (ComponentProvider .class );
18+ assertThat (providers ).extracting (ComponentProvider ::getName )
19+ .containsExactly ("aws" );
20+ }
21+ }
You can’t perform that action at this time.
0 commit comments