Skip to content

Commit ff12525

Browse files
committed
Test common standardized settings
Add the log.injection.enabled setting with the log.injection alias
1 parent 620e90c commit ff12525

File tree

3 files changed

+62
-3
lines changed

3 files changed

+62
-3
lines changed

dd-trace-api/src/main/java/datadog/trace/api/config/TraceInstrumentationConfig.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,9 @@ public final class TraceInstrumentationConfig {
6666
public static final String SERIALVERSIONUID_FIELD_INJECTION =
6767
"trace.serialversionuid.field.injection";
6868

69-
public static final String LOGS_INJECTION_ENABLED = "logs.injection";
69+
public static final String LOGS_INJECTION_ENABLED = "logs.injection.enabled";
70+
public static final String LOGS_INJECTION_ALIAS = "logs.injection";
71+
7072
public static final String TRACE_128_BIT_TRACEID_LOGGING_ENABLED =
7173
"trace.128.bit.traceid.logging.enabled";
7274

internal-api/src/main/java/datadog/trace/api/Config.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -362,6 +362,7 @@
362362
import static datadog.trace.api.config.TraceInstrumentationConfig.JMS_UNACKNOWLEDGED_MAX_AGE;
363363
import static datadog.trace.api.config.TraceInstrumentationConfig.KAFKA_CLIENT_BASE64_DECODING_ENABLED;
364364
import static datadog.trace.api.config.TraceInstrumentationConfig.KAFKA_CLIENT_PROPAGATION_DISABLED_TOPICS;
365+
import static datadog.trace.api.config.TraceInstrumentationConfig.LOGS_INJECTION_ALIAS;
365366
import static datadog.trace.api.config.TraceInstrumentationConfig.LOGS_INJECTION_ENABLED;
366367
import static datadog.trace.api.config.TraceInstrumentationConfig.MESSAGE_BROKER_SPLIT_BY_DESTINATION;
367368
import static datadog.trace.api.config.TraceInstrumentationConfig.OBFUSCATION_QUERY_STRING_REGEXP;
@@ -1328,7 +1329,8 @@ private Config(final ConfigProvider configProvider, final InstrumenterConfig ins
13281329
clockSyncPeriod = configProvider.getInteger(CLOCK_SYNC_PERIOD, DEFAULT_CLOCK_SYNC_PERIOD);
13291330

13301331
logsInjectionEnabled =
1331-
configProvider.getBoolean(LOGS_INJECTION_ENABLED, DEFAULT_LOGS_INJECTION_ENABLED);
1332+
configProvider.getBoolean(
1333+
LOGS_INJECTION_ENABLED, DEFAULT_LOGS_INJECTION_ENABLED, LOGS_INJECTION_ALIAS);
13321334

13331335
dogStatsDNamedPipe = configProvider.getString(DOGSTATSD_NAMED_PIPE);
13341336

internal-api/src/test/groovy/datadog/trace/api/ConfigCollectorTest.groovy

Lines changed: 56 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import datadog.trace.api.config.TraceInstrumentationConfig
99
import datadog.trace.api.config.TracerConfig
1010
import datadog.trace.api.iast.telemetry.Verbosity
1111
import datadog.trace.api.naming.SpanNaming
12-
import datadog.trace.bootstrap.config.provider.ConfigProvider
1312
import datadog.trace.test.util.DDSpecification
1413
import datadog.trace.util.Strings
1514

@@ -154,4 +153,60 @@ class ConfigCollectorTest extends DDSpecification {
154153
then:
155154
ConfigCollector.get().collect().get('DD_API_KEY').value == '<hidden>'
156155
}
156+
157+
def "collects common setting default values"() {
158+
when:
159+
def settings = ConfigCollector.get().collect()
160+
161+
then:
162+
def setting = settings.get(key)
163+
164+
setting.key == key
165+
setting.value == value
166+
setting.origin == ConfigOrigin.DEFAULT
167+
168+
where:
169+
key | value
170+
"trace.enabled" | true
171+
"profiling.enabled" | false
172+
"appsec.enabled" | "inactive" //TODO false
173+
"data.streams.enabled" | false
174+
"tags" | null // TODO trace.tags ""
175+
"trace.header.tags" | null // TODO ""
176+
"logs.injection.enabled" | true // TODO false
177+
"trace.sample.rate" | null // TODO 1.0
178+
}
179+
180+
def "collects common setting overridden values"() {
181+
setup:
182+
injectEnvConfig("DD_TRACE_ENABLED", "false")
183+
injectEnvConfig("DD_PROFILING_ENABLED", "true")
184+
injectEnvConfig("DD_APPSEC_ENABLED", "false")
185+
injectEnvConfig("DD_DATA_STREAMS_ENABLED", "true")
186+
injectEnvConfig("DD_TAGS", "team:apm,component:web")
187+
injectEnvConfig("DD_TRACE_HEADER_TAGS", "X-Header-Tag-1:header_tag_1,X-Header-Tag-2:header_tag_2")
188+
injectEnvConfig("DD_LOGS_INJECTION", "false")
189+
injectEnvConfig("DD_TRACE_SAMPLE_RATE", "0.3")
190+
191+
when:
192+
def settings = ConfigCollector.get().collect()
193+
194+
then:
195+
def setting = settings.get(key)
196+
197+
setting.key == key
198+
setting.value == value
199+
setting.origin == ConfigOrigin.ENV
200+
201+
where:
202+
key | value
203+
"trace.enabled" | "false"
204+
"profiling.enabled" | "true"
205+
"appsec.enabled" | "false"
206+
"data.streams.enabled" | "true"
207+
"tags" | "component:web,team:apm" // TODO should it preserve ordering? "team:apm,component:web"
208+
"trace.header.tags" | "X-Header-Tag-1:header_tag_1,X-Header-Tag-2:header_tag_2".toLowerCase() // TODO should it preserve case?
209+
"logs.injection.enabled" | "false"
210+
"trace.sample.rate" | "0.3"
211+
}
157212
}

0 commit comments

Comments
 (0)