diff --git a/dd-trace-api/src/main/java/datadog/trace/api/config/TracerConfig.java b/dd-trace-api/src/main/java/datadog/trace/api/config/TracerConfig.java index cb1e1c1baa1..309d2f51baa 100644 --- a/dd-trace-api/src/main/java/datadog/trace/api/config/TracerConfig.java +++ b/dd-trace-api/src/main/java/datadog/trace/api/config/TracerConfig.java @@ -67,6 +67,7 @@ public final class TracerConfig { "trace.http.client.path-resource-name-mapping"; public static final String HTTP_SERVER_ERROR_STATUSES = "http.server.error.statuses"; public static final String HTTP_CLIENT_ERROR_STATUSES = "http.client.error.statuses"; + public static final String TRACE_HTTP_CLIENT_ERROR_STATUSES = "trace.http.client.error.statuses"; public static final String SPLIT_BY_TAGS = "trace.split-by-tags"; diff --git a/internal-api/src/main/java/datadog/trace/api/Config.java b/internal-api/src/main/java/datadog/trace/api/Config.java index 544fd39dd87..06bbbec5994 100644 --- a/internal-api/src/main/java/datadog/trace/api/Config.java +++ b/internal-api/src/main/java/datadog/trace/api/Config.java @@ -783,7 +783,7 @@ private Config(final ConfigProvider configProvider, final InstrumenterConfig ins httpClientErrorStatuses = configProvider.getIntegerRange( - "trace." + HTTP_CLIENT_ERROR_STATUSES, DEFAULT_HTTP_CLIENT_ERROR_STATUSES, HTTP_CLIENT_ERROR_STATUSES); + TRACE_HTTP_CLIENT_ERROR_STATUSES, DEFAULT_HTTP_CLIENT_ERROR_STATUSES, HTTP_CLIENT_ERROR_STATUSES); httpServerTagQueryString = configProvider.getBoolean( diff --git a/internal-api/src/test/groovy/datadog/trace/api/ConfigTest.groovy b/internal-api/src/test/groovy/datadog/trace/api/ConfigTest.groovy index 984ef7cf13f..f97c0e5567a 100644 --- a/internal-api/src/test/groovy/datadog/trace/api/ConfigTest.groovy +++ b/internal-api/src/test/groovy/datadog/trace/api/ConfigTest.groovy @@ -118,6 +118,7 @@ import static datadog.trace.api.config.TracerConfig.SPAN_TAGS import static datadog.trace.api.config.TracerConfig.SPLIT_BY_TAGS import static datadog.trace.api.config.TracerConfig.TRACE_AGENT_PORT import static datadog.trace.api.config.TracerConfig.TRACE_AGENT_URL +import static datadog.trace.api.config.TracerConfig.TRACE_HTTP_CLIENT_ERROR_STATUSES import static datadog.trace.api.config.TracerConfig.TRACE_PROPAGATION_EXTRACT_FIRST import static datadog.trace.api.config.TracerConfig.TRACE_RATE_LIMIT import static datadog.trace.api.config.TracerConfig.TRACE_REPORT_HOSTNAME @@ -965,6 +966,19 @@ class ConfigTest extends DDSpecification { integrationNames = new TreeSet<>(names) } + def "verify precedence of aliases"() { + setup: + def prop = new Properties() + prop.setProperty(HTTP_CLIENT_ERROR_STATUSES, "111") + prop.setProperty(TRACE_HTTP_CLIENT_ERROR_STATUSES, "123") + + when: + Config config = Config.get(prop) + + then: + config.httpClientErrorStatuses == toBitSet((123..123)) + } + def "test getFloatSettingFromEnvironment(#name)"() { setup: environmentVariables.set("DD_ENV_ZERO_TEST", "0.0")