Skip to content

Commit 621a10f

Browse files
authored
fix URL pattern parser that always assumed that declarative config was used (#15659)
1 parent 9eb865a commit 621a10f

File tree

5 files changed

+7
-32
lines changed

5 files changed

+7
-32
lines changed

instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/config/internal/InstrumentationConfig.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -110,22 +110,16 @@ default List<String> getList(String name) {
110110
*/
111111
Map<String, String> getMap(String name, Map<String, String> defaultValue);
112112

113-
/** Returns {@code true} if declarative configuration is used in this configuration. */
114-
boolean isDeclarative();
115-
116113
/**
117114
* Returns a {@link DeclarativeConfigProperties} for the given node name, which is usually an
118115
* instrumentation name
119116
*
120-
* <p>Call {@link #isDeclarative()} first to check if declarative configuration is used.
121-
*
122117
* <p>Declarative configuration is used to configure instrumentation properties in a declarative
123118
* way, such as through YAML or JSON files.
124119
*
125120
* @param node the name of the instrumentation (e.g. "log4j"), the vendor name (e.g. "google"), or
126121
* "common" for common Java settings that don't apply to other languages.
127122
* @return the declarative configuration properties for the given node name
128-
* @throws IllegalStateException if {@link #isDeclarative()} returns {@code false}
129123
*/
130124
DeclarativeConfigProperties getDeclarativeConfig(String node);
131125

instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/ConfigPropertiesBridge.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -122,11 +122,6 @@ public Map<String, String> getMap(String name, Map<String, String> defaultValue)
122122
}
123123
}
124124

125-
@Override
126-
public boolean isDeclarative() {
127-
return configProvider != null;
128-
}
129-
130125
@Override
131126
public DeclarativeConfigProperties getDeclarativeConfig(String node) {
132127
DeclarativeConfigProperties config =

javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/bootstrap/internal/EmptyInstrumentationConfig.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,6 @@ public Map<String, String> getMap(String name, Map<String, String> defaultValue)
6161
return defaultValue;
6262
}
6363

64-
@Override
65-
public boolean isDeclarative() {
66-
return false;
67-
}
68-
6964
@Override
7065
public DeclarativeConfigProperties getDeclarativeConfig(String node) {
7166
throw new IllegalStateException(

javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/config/ConfigPropertiesBridge.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,6 @@ public Map<String, String> getMap(String name, Map<String, String> defaultValue)
112112
}
113113
}
114114

115-
@Override
116-
public boolean isDeclarative() {
117-
return configProvider != null;
118-
}
119-
120115
@Override
121116
public DeclarativeConfigProperties getDeclarativeConfig(String node) {
122117
DeclarativeConfigProperties config =

javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/http/RegexUrlTemplateCustomizerInitializer.java

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,13 @@
55

66
package io.opentelemetry.javaagent.tooling.instrumentation.http;
77

8-
import static io.opentelemetry.api.incubator.config.DeclarativeConfigProperties.empty;
98
import static java.util.Collections.emptyList;
109
import static java.util.logging.Level.WARNING;
1110

1211
import com.google.auto.service.AutoService;
13-
import io.opentelemetry.api.incubator.config.DeclarativeConfigProperties;
14-
import io.opentelemetry.instrumentation.api.incubator.config.internal.InstrumentationConfig;
15-
import io.opentelemetry.javaagent.bootstrap.internal.AgentInstrumentationConfig;
12+
import io.opentelemetry.api.GlobalOpenTelemetry;
13+
import io.opentelemetry.instrumentation.api.incubator.config.internal.DeclarativeConfigUtil;
14+
import io.opentelemetry.javaagent.bootstrap.internal.AgentCommonConfig;
1615
import io.opentelemetry.javaagent.tooling.BeforeAgentListener;
1716
import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdk;
1817
import java.util.logging.Logger;
@@ -26,16 +25,13 @@ public final class RegexUrlTemplateCustomizerInitializer implements BeforeAgentL
2625

2726
@Override
2827
public void beforeAgent(AutoConfiguredOpenTelemetrySdk autoConfiguredOpenTelemetrySdk) {
29-
InstrumentationConfig config = AgentInstrumentationConfig.get();
3028
// url template is emitted only when http client experimental telemetry is enabled
31-
boolean urlTemplateEnabled =
32-
config.getBoolean("otel.instrumentation.http.client.emit-experimental-telemetry", false);
33-
if (!urlTemplateEnabled || !config.isDeclarative()) {
29+
if (!AgentCommonConfig.get().shouldEmitExperimentalHttpClientTelemetry()) {
3430
return;
3531
}
36-
DeclarativeConfigProperties configuration =
37-
config.getDeclarativeConfig("http").getStructured("client", empty());
38-
configuration
32+
DeclarativeConfigUtil.get(GlobalOpenTelemetry.get())
33+
.get("http")
34+
.get("client")
3935
.getStructuredList("url_template_rules", emptyList())
4036
.forEach(
4137
rule -> {

0 commit comments

Comments
 (0)