Skip to content

Commit 913e6a4

Browse files
committed
gcp component provider
1 parent 93e8e70 commit 913e6a4

File tree

5 files changed

+56
-1
lines changed

5 files changed

+56
-1
lines changed

aws-resources/src/test/java/io/opentelemetry/contrib/aws/resource/ComponentProviderTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
public class ComponentProviderTest {
1111

1212
@Test
13+
@SuppressWarnings("rawtypes")
1314
void providerIsLoaded() {
14-
@SuppressWarnings("rawtypes")
1515
List<ComponentProvider> providers = SpiHelper.create(
1616
ComponentProviderTest.class.getClassLoader())
1717
.load(ComponentProvider.class);

gcp-resources/build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ otelJava.moduleName.set("io.opentelemetry.contrib.gcp.resource")
99

1010
dependencies {
1111
api("io.opentelemetry:opentelemetry-api")
12+
compileOnly("io.opentelemetry:opentelemetry-api-incubator")
1213
api("io.opentelemetry:opentelemetry-sdk")
1314

1415
// Provides GCP resource detection support
@@ -21,6 +22,7 @@ dependencies {
2122
implementation("com.fasterxml.jackson.core:jackson-core")
2223

2324
testImplementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure")
25+
testImplementation("io.opentelemetry:opentelemetry-api-incubator")
2426
testImplementation("io.opentelemetry:opentelemetry-sdk-testing")
2527

2628
testImplementation("org.mockito:mockito-core")
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.contrib.gcp.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 GcpResourceDetector 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 "gcp";
23+
}
24+
25+
@Override
26+
public Resource create(DeclarativeConfigProperties config) {
27+
ResourceBuilder builder = Resource.builder();
28+
builder.putAll(new GCPResourceProvider().getAttributes());
29+
return builder.build();
30+
}
31+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
io.opentelemetry.contrib.gcp.resource.GcpResourceDetector
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package io.opentelemetry.contrib.gcp.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 java.util.List;
8+
import org.junit.jupiter.api.Test;
9+
10+
public class ComponentProviderTest {
11+
12+
@Test
13+
@SuppressWarnings("rawtypes")
14+
void providerIsLoaded() {
15+
List<ComponentProvider> providers = SpiHelper.create(
16+
ComponentProviderTest.class.getClassLoader())
17+
.load(ComponentProvider.class);
18+
assertThat(providers).extracting(ComponentProvider::getName)
19+
.containsExactly("gcp");
20+
}
21+
}

0 commit comments

Comments
 (0)