Skip to content

Commit 6e73e1e

Browse files
committed
Fix InstrumenterConfig for Code Origin default
Missed that Code Origin is also defined in InstrumenterConfig so need to share the default based on JDK version between InstrumenterConfig and Config
1 parent b9fde86 commit 6e73e1e

File tree

3 files changed

+17
-11
lines changed

3 files changed

+17
-11
lines changed

dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/origin/CodeOriginConfigTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import static org.junit.jupiter.api.Assertions.assertTrue;
55

66
import datadog.trace.api.Config;
7+
import datadog.trace.api.InstrumenterConfig;
78
import org.junit.jupiter.api.Test;
89
import org.junit.jupiter.api.condition.EnabledForJreRange;
910
import org.junit.jupiter.api.condition.EnabledOnJre;
@@ -15,29 +16,34 @@ public class CodeOriginConfigTest {
1516
@Test
1617
public void defaultConfigJDK25() {
1718
assertTrue(Config.get().isDebuggerCodeOriginEnabled());
19+
assertTrue(InstrumenterConfig.get().isCodeOriginEnabled());
1820
}
1921

2022
@EnabledOnJre(JRE.JAVA_21)
2123
@Test
2224
public void defaultConfigJDK21() {
2325
assertFalse(Config.get().isDebuggerCodeOriginEnabled());
26+
assertFalse(InstrumenterConfig.get().isCodeOriginEnabled());
2427
}
2528

2629
@EnabledOnJre(JRE.JAVA_17)
2730
@Test
2831
public void defaultConfigJDK17() {
2932
assertFalse(Config.get().isDebuggerCodeOriginEnabled());
33+
assertFalse(InstrumenterConfig.get().isCodeOriginEnabled());
3034
}
3135

3236
@EnabledOnJre(JRE.JAVA_11)
3337
@Test
3438
public void defaultConfigJDK11() {
3539
assertFalse(Config.get().isDebuggerCodeOriginEnabled());
40+
assertFalse(InstrumenterConfig.get().isCodeOriginEnabled());
3641
}
3742

3843
@EnabledOnJre(JRE.JAVA_8)
3944
@Test
4045
public void defaultConfigJDK8() {
4146
assertFalse(Config.get().isDebuggerCodeOriginEnabled());
47+
assertFalse(InstrumenterConfig.get().isCodeOriginEnabled());
4248
}
4349
}

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

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2596,7 +2596,7 @@ PROFILING_DATADOG_PROFILER_ENABLED, isDatadogProfilerSafeInCurrentEnvironment())
25962596
EXCEPTION_REPLAY_ENABLED);
25972597
debuggerCodeOriginEnabled =
25982598
configProvider.getBoolean(
2599-
CODE_ORIGIN_FOR_SPANS_ENABLED, getDefaultCodeOriginForSpanEnabled());
2599+
CODE_ORIGIN_FOR_SPANS_ENABLED, InstrumenterConfig.getDefaultCodeOriginForSpanEnabled());
26002600
debuggerCodeOriginMaxUserFrames =
26012601
configProvider.getInteger(CODE_ORIGIN_MAX_USER_FRAMES, DEFAULT_CODE_ORIGIN_MAX_USER_FRAMES);
26022602
debuggerMaxExceptionPerSecond =
@@ -2977,14 +2977,6 @@ PROFILING_DATADOG_PROFILER_ENABLED, isDatadogProfilerSafeInCurrentEnvironment())
29772977
log.debug("New instance: {}", this);
29782978
}
29792979

2980-
private boolean getDefaultCodeOriginForSpanEnabled() {
2981-
if (JavaVirtualMachine.isJavaVersionAtLeast(25)) {
2982-
// activate by default Code Origin only for JDK25+
2983-
return true;
2984-
}
2985-
return false;
2986-
}
2987-
29882980
private static boolean isValidUrl(String url) {
29892981
if (url == null || url.isEmpty()) {
29902982
return false;

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

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import static datadog.trace.api.ConfigDefaults.DEFAULT_API_SECURITY_ENDPOINT_COLLECTION_ENABLED;
44
import static datadog.trace.api.ConfigDefaults.DEFAULT_APPSEC_ENABLED;
55
import static datadog.trace.api.ConfigDefaults.DEFAULT_CIVISIBILITY_ENABLED;
6-
import static datadog.trace.api.ConfigDefaults.DEFAULT_CODE_ORIGIN_FOR_SPANS_ENABLED;
76
import static datadog.trace.api.ConfigDefaults.DEFAULT_DATA_JOBS_ENABLED;
87
import static datadog.trace.api.ConfigDefaults.DEFAULT_IAST_ENABLED;
98
import static datadog.trace.api.ConfigDefaults.DEFAULT_INTEGRATIONS_ENABLED;
@@ -86,6 +85,7 @@
8685
import static datadog.trace.util.CollectionUtils.tryMakeImmutableList;
8786
import static datadog.trace.util.CollectionUtils.tryMakeImmutableSet;
8887

88+
import datadog.environment.JavaVirtualMachine;
8989
import datadog.trace.api.profiling.ProfilingEnablement;
9090
import datadog.trace.api.telemetry.ConfigInversionMetricCollectorImpl;
9191
import datadog.trace.api.telemetry.ConfigInversionMetricCollectorProvider;
@@ -231,7 +231,7 @@ private InstrumenterConfig() {
231231

232232
codeOriginEnabled =
233233
configProvider.getBoolean(
234-
CODE_ORIGIN_FOR_SPANS_ENABLED, DEFAULT_CODE_ORIGIN_FOR_SPANS_ENABLED);
234+
CODE_ORIGIN_FOR_SPANS_ENABLED, getDefaultCodeOriginForSpanEnabled());
235235
traceEnabled = configProvider.getBoolean(TRACE_ENABLED, DEFAULT_TRACE_ENABLED);
236236
traceOtelEnabled = configProvider.getBoolean(TRACE_OTEL_ENABLED, DEFAULT_TRACE_OTEL_ENABLED);
237237
metricsOtelEnabled =
@@ -665,6 +665,14 @@ public boolean isApiSecurityEndpointCollectionEnabled() {
665665
? ConfigProvider.withoutCollector()
666666
: ConfigProvider.getInstance());
667667

668+
static boolean getDefaultCodeOriginForSpanEnabled() {
669+
if (JavaVirtualMachine.isJavaVersionAtLeast(25)) {
670+
// activate by default Code Origin only for JDK25+
671+
return true;
672+
}
673+
return false;
674+
}
675+
668676
public static InstrumenterConfig get() {
669677
return INSTANCE;
670678
}

0 commit comments

Comments
 (0)