diff --git a/cf-java-logging-support-opentelemetry-agent-extension/src/main/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/CloudFoundryResourceProvider.java b/cf-java-logging-support-opentelemetry-agent-extension/src/main/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/CloudFoundryResourceProvider.java index e8306bbe..a71e063d 100644 --- a/cf-java-logging-support-opentelemetry-agent-extension/src/main/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/CloudFoundryResourceProvider.java +++ b/cf-java-logging-support-opentelemetry-agent-extension/src/main/java/com/sap/hcf/cf/logging/opentelemetry/agent/ext/CloudFoundryResourceProvider.java @@ -1,37 +1,19 @@ package com.sap.hcf.cf.logging.opentelemetry.agent.ext; import com.sap.hcf.cf.logging.opentelemetry.agent.ext.attributes.CloudFoundryResourceCustomizer; +import io.opentelemetry.contrib.cloudfoundry.resources.CloudFoundryResource; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider; import io.opentelemetry.sdk.resources.Resource; -import java.util.ServiceLoader; - public class CloudFoundryResourceProvider implements ResourceProvider { private final CloudFoundryResourceCustomizer customizer = new CloudFoundryResourceCustomizer(); @Override public Resource createResource(ConfigProperties configProperties) { - ResourceProvider delegate = getDelegate(); - return delegate == null - ? Resource.empty() - : customizer.apply(delegate.createResource(configProperties), configProperties); - } - - private ResourceProvider getDelegate() { - return DelegateHolder.INSTANCE; + Resource original = CloudFoundryResource.get(); + return customizer.apply(original, configProperties); } - private static class DelegateHolder { - static final ResourceProvider INSTANCE = loadCloudFoundryResourceProvider(); - - private static ResourceProvider loadCloudFoundryResourceProvider() { - ServiceLoader loader = ServiceLoader.load(ResourceProvider.class); - return loader.stream().map(ServiceLoader.Provider::get) - .filter(p -> p instanceof io.opentelemetry.contrib.cloudfoundry.resources.CloudFoundryResourceProvider) - .findAny().orElse(null); - } - - } }