Skip to content

Commit d686218

Browse files
Merge pull request #228 from SAP/dependabot/maven/release-4/io.opentelemetry.contrib-opentelemetry-cloudfoundry-resources-1.51.0-alpha
Bump io.opentelemetry.contrib:opentelemetry-cloudfoundry-resources from 1.46.0-alpha to 1.51.0-alpha
2 parents 95d087c + b5ec46f commit d686218

File tree

2 files changed

+25
-5
lines changed

2 files changed

+25
-5
lines changed

cf-java-logging-support-opentelemetry-agent-extension/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
<dependency>
5858
<groupId>io.opentelemetry.contrib</groupId>
5959
<artifactId>opentelemetry-cloudfoundry-resources</artifactId>
60-
<version>1.46.0-alpha</version>
60+
<version>1.51.0-alpha</version>
6161
</dependency>
6262
<dependency>
6363
<groupId>com.fasterxml.jackson.core</groupId>

cf-java-logging-support-opentelemetry-agent-extension/src/main/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/CloudFoundryResourceProvider.java

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,36 @@
22

33
import com.sap.hcf.cf.logging.opentelemetry.agent.ext.attributes.CloudFoundryResourceCustomizer;
44
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
5+
import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider;
56
import io.opentelemetry.sdk.resources.Resource;
67

7-
public class CloudFoundryResourceProvider
8-
extends io.opentelemetry.contrib.cloudfoundry.resources.CloudFoundryResourceProvider {
8+
import java.util.ServiceLoader;
9+
10+
public class CloudFoundryResourceProvider implements ResourceProvider {
911

1012
private final CloudFoundryResourceCustomizer customizer = new CloudFoundryResourceCustomizer();
1113

1214
@Override
1315
public Resource createResource(ConfigProperties configProperties) {
14-
Resource original = super.createResource(configProperties);
15-
return customizer.apply(original, configProperties);
16+
ResourceProvider delegate = getDelegate();
17+
return delegate == null
18+
? Resource.empty()
19+
: customizer.apply(delegate.createResource(configProperties), configProperties);
20+
}
21+
22+
private ResourceProvider getDelegate() {
23+
return DelegateHolder.INSTANCE;
24+
}
25+
26+
private static class DelegateHolder {
27+
static final ResourceProvider INSTANCE = loadCloudFoundryResourceProvider();
28+
29+
private static ResourceProvider loadCloudFoundryResourceProvider() {
30+
ServiceLoader<ResourceProvider> loader = ServiceLoader.load(ResourceProvider.class);
31+
return loader.stream().map(ServiceLoader.Provider::get)
32+
.filter(p -> p instanceof io.opentelemetry.contrib.cloudfoundry.resources.CloudFoundryResourceProvider)
33+
.findAny().orElse(null);
34+
}
35+
1636
}
1737
}

0 commit comments

Comments
 (0)