Skip to content

Commit 322a3f7

Browse files
authored
Support all value for DD_TRACE_EXPERIMENTAL_FEATURES_ENABLED (#8598)
1 parent fe1d6d6 commit 322a3f7

File tree

3 files changed

+18
-3
lines changed

3 files changed

+18
-3
lines changed

Diff for: dd-trace-api/src/main/java/datadog/trace/api/ConfigDefaults.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,8 @@ public final class ConfigDefaults {
236236
static final boolean DEFAULT_TELEMETRY_LOG_COLLECTION_ENABLED = true;
237237
static final int DEFAULT_TELEMETRY_DEPENDENCY_RESOLUTION_QUEUE_SIZE = 100000;
238238

239-
static final Set<String> DEFAULT_TRACE_EXPERIMENTAL_FEATURES_ENABLED = new HashSet<>();
239+
static final Set<String> DEFAULT_TRACE_EXPERIMENTAL_FEATURES_ENABLED =
240+
new HashSet<>(asList("DD_TAGS", "DD_LOGS_INJECTION"));
240241

241242
static final boolean DEFAULT_TRACE_128_BIT_TRACEID_GENERATION_ENABLED = true;
242243
static final boolean DEFAULT_TRACE_128_BIT_TRACEID_LOGGING_ENABLED = true;

Diff for: internal-api/src/main/java/datadog/trace/api/Config.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -633,8 +633,9 @@ private Config(final ConfigProvider configProvider, final InstrumenterConfig ins
633633
SERVLET_ROOT_CONTEXT_SERVICE_NAME, DEFAULT_SERVLET_ROOT_CONTEXT_SERVICE_NAME);
634634

635635
experimentalFeaturesEnabled =
636-
configProvider.getSet(
637-
TRACE_EXPERIMENTAL_FEATURES_ENABLED, DEFAULT_TRACE_EXPERIMENTAL_FEATURES_ENABLED);
636+
configProvider.getString(TRACE_EXPERIMENTAL_FEATURES_ENABLED, "").equals("all")
637+
? DEFAULT_TRACE_EXPERIMENTAL_FEATURES_ENABLED
638+
: configProvider.getSet(TRACE_EXPERIMENTAL_FEATURES_ENABLED, new HashSet<>());
638639

639640
integrationSynapseLegacyOperationName =
640641
configProvider.getBoolean(INTEGRATION_SYNAPSE_LEGACY_OPERATION_NAME, false);

Diff for: internal-api/src/test/groovy/datadog/trace/api/ConfigTest.groovy

+13
Original file line numberDiff line numberDiff line change
@@ -637,6 +637,7 @@ class ConfigTest extends DDSpecification {
637637
System.setProperty(PREFIX + PROPAGATION_STYLE_INJECT, " ")
638638
System.setProperty(PREFIX + TRACE_LONG_RUNNING_ENABLED, "invalid")
639639
System.setProperty(PREFIX + TRACE_LONG_RUNNING_FLUSH_INTERVAL, "invalid")
640+
System.setProperty(PREFIX + TRACE_EXPERIMENTAL_FEATURES_ENABLED, " ")
640641

641642
when:
642643
def config = new Config()
@@ -666,6 +667,7 @@ class ConfigTest extends DDSpecification {
666667
config.tracePropagationStylesToExtract.toList() == [DATADOG, TRACECONTEXT, BAGGAGE]
667668
config.tracePropagationStylesToInject.toList() == [DATADOG, TRACECONTEXT, BAGGAGE]
668669
config.longRunningTraceEnabled == false
670+
config.experimentalFeaturesEnabled == [].toSet()
669671
}
670672

671673
def "sys props and env vars overrides for trace_agent_port and agent_port_legacy as expected"() {
@@ -1928,6 +1930,17 @@ class ConfigTest extends DDSpecification {
19281930
config.globalTags == [env:"test", aKey:"aVal", bKey:"bVal"]
19291931
}
19301932

1933+
def "verify behavior of DD_TRACE_EXPERIMENTAL_FEATURE_ENABLED when value is 'all'"() {
1934+
setup:
1935+
environmentVariables.set("DD_TRACE_EXPERIMENTAL_FEATURES_ENABLED", "all")
1936+
1937+
when:
1938+
def config = new Config()
1939+
1940+
then:
1941+
config.experimentalFeaturesEnabled == ["DD_TAGS", "DD_LOGS_INJECTION"].toSet()
1942+
}
1943+
19311944
def "detect if agent is configured using default values"() {
19321945
setup:
19331946
if (host != null) {

0 commit comments

Comments
 (0)