diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/config/internal/InstrumentationConfig.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/config/internal/InstrumentationConfig.java index ab1bb761aa22..30457725773e 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/config/internal/InstrumentationConfig.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/config/internal/InstrumentationConfig.java @@ -110,22 +110,16 @@ default List getList(String name) { */ Map getMap(String name, Map defaultValue); - /** Returns {@code true} if declarative configuration is used in this configuration. */ - boolean isDeclarative(); - /** * Returns a {@link DeclarativeConfigProperties} for the given node name, which is usually an * instrumentation name * - *

Call {@link #isDeclarative()} first to check if declarative configuration is used. - * *

Declarative configuration is used to configure instrumentation properties in a declarative * way, such as through YAML or JSON files. * * @param node the name of the instrumentation (e.g. "log4j"), the vendor name (e.g. "google"), or * "common" for common Java settings that don't apply to other languages. * @return the declarative configuration properties for the given node name - * @throws IllegalStateException if {@link #isDeclarative()} returns {@code false} */ DeclarativeConfigProperties getDeclarativeConfig(String node); diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/ConfigPropertiesBridge.java b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/ConfigPropertiesBridge.java index dbabca731486..9217da71ab48 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/ConfigPropertiesBridge.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/ConfigPropertiesBridge.java @@ -122,11 +122,6 @@ public Map getMap(String name, Map defaultValue) } } - @Override - public boolean isDeclarative() { - return configProvider != null; - } - @Override public DeclarativeConfigProperties getDeclarativeConfig(String node) { DeclarativeConfigProperties config = diff --git a/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/bootstrap/internal/EmptyInstrumentationConfig.java b/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/bootstrap/internal/EmptyInstrumentationConfig.java index 56cd43580c17..2e2157beed18 100644 --- a/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/bootstrap/internal/EmptyInstrumentationConfig.java +++ b/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/bootstrap/internal/EmptyInstrumentationConfig.java @@ -61,11 +61,6 @@ public Map getMap(String name, Map defaultValue) return defaultValue; } - @Override - public boolean isDeclarative() { - return false; - } - @Override public DeclarativeConfigProperties getDeclarativeConfig(String node) { throw new IllegalStateException( diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/config/ConfigPropertiesBridge.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/config/ConfigPropertiesBridge.java index 5c7fe70d9f1d..d85a011a4620 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/config/ConfigPropertiesBridge.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/config/ConfigPropertiesBridge.java @@ -112,11 +112,6 @@ public Map getMap(String name, Map defaultValue) } } - @Override - public boolean isDeclarative() { - return configProvider != null; - } - @Override public DeclarativeConfigProperties getDeclarativeConfig(String node) { DeclarativeConfigProperties config = diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/http/RegexUrlTemplateCustomizerInitializer.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/http/RegexUrlTemplateCustomizerInitializer.java index 7b592c9d0b84..8734071ecce5 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/http/RegexUrlTemplateCustomizerInitializer.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/http/RegexUrlTemplateCustomizerInitializer.java @@ -5,14 +5,13 @@ package io.opentelemetry.javaagent.tooling.instrumentation.http; -import static io.opentelemetry.api.incubator.config.DeclarativeConfigProperties.empty; import static java.util.Collections.emptyList; import static java.util.logging.Level.WARNING; import com.google.auto.service.AutoService; -import io.opentelemetry.api.incubator.config.DeclarativeConfigProperties; -import io.opentelemetry.instrumentation.api.incubator.config.internal.InstrumentationConfig; -import io.opentelemetry.javaagent.bootstrap.internal.AgentInstrumentationConfig; +import io.opentelemetry.api.GlobalOpenTelemetry; +import io.opentelemetry.instrumentation.api.incubator.config.internal.DeclarativeConfigUtil; +import io.opentelemetry.javaagent.bootstrap.internal.AgentCommonConfig; import io.opentelemetry.javaagent.tooling.BeforeAgentListener; import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdk; import java.util.logging.Logger; @@ -26,16 +25,13 @@ public final class RegexUrlTemplateCustomizerInitializer implements BeforeAgentL @Override public void beforeAgent(AutoConfiguredOpenTelemetrySdk autoConfiguredOpenTelemetrySdk) { - InstrumentationConfig config = AgentInstrumentationConfig.get(); // url template is emitted only when http client experimental telemetry is enabled - boolean urlTemplateEnabled = - config.getBoolean("otel.instrumentation.http.client.emit-experimental-telemetry", false); - if (!urlTemplateEnabled || !config.isDeclarative()) { + if (!AgentCommonConfig.get().shouldEmitExperimentalHttpClientTelemetry()) { return; } - DeclarativeConfigProperties configuration = - config.getDeclarativeConfig("http").getStructured("client", empty()); - configuration + DeclarativeConfigUtil.get(GlobalOpenTelemetry.get()) + .get("http") + .get("client") .getStructuredList("url_template_rules", emptyList()) .forEach( rule -> {