Skip to content

Commit 01c3488

Browse files
committed
cloud foundry component provider
1 parent 641bffe commit 01c3488

File tree

4 files changed

+52
-0
lines changed

4 files changed

+52
-0
lines changed

cloudfoundry-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.cloudfoundry.resources")
99

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

@@ -19,6 +20,7 @@ dependencies {
1920
testImplementation("io.opentelemetry.semconv:opentelemetry-semconv-incubating")
2021

2122
testImplementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure")
23+
testImplementation("io.opentelemetry:opentelemetry-api-incubator")
2224
testImplementation("io.opentelemetry:opentelemetry-sdk-testing")
2325
testImplementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi")
2426
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.contrib.cloudfoundry.resources;
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+
12+
public class CloudFoundryResourceDetector implements ComponentProvider<Resource> {
13+
14+
@Override
15+
public Class<Resource> getType() {
16+
return Resource.class;
17+
}
18+
19+
@Override
20+
public String getName() {
21+
return "cloud_foundry";
22+
}
23+
24+
@Override
25+
public Resource create(DeclarativeConfigProperties config) {
26+
return CloudFoundryResource.get();
27+
}
28+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
io.opentelemetry.contrib.cloudfoundry.resources.CloudFoundryResourceDetector
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package io.opentelemetry.contrib.cloudfoundry.resources;
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("cloud_foundry");
20+
}
21+
}

0 commit comments

Comments
 (0)