Skip to content

Commit 39b2cbd

Browse files
authored
Enable Code Origin by default for JDK25+ (#10234)
Add tests for ensuring enablement by JDK version
1 parent 7442d01 commit 39b2cbd

File tree

2 files changed

+52
-2
lines changed

2 files changed

+52
-2
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package com.datadog.debugger.origin;
2+
3+
import static org.junit.jupiter.api.Assertions.assertFalse;
4+
import static org.junit.jupiter.api.Assertions.assertTrue;
5+
6+
import datadog.trace.api.Config;
7+
import org.junit.jupiter.api.Test;
8+
import org.junit.jupiter.api.condition.EnabledForJreRange;
9+
import org.junit.jupiter.api.condition.EnabledOnJre;
10+
import org.junit.jupiter.api.condition.JRE;
11+
12+
public class CodeOriginConfigTest {
13+
14+
@EnabledForJreRange(min = JRE.JAVA_25)
15+
@Test
16+
public void defaultConfigJDK25() {
17+
assertTrue(Config.get().isDebuggerCodeOriginEnabled());
18+
}
19+
20+
@EnabledOnJre(JRE.JAVA_21)
21+
@Test
22+
public void defaultConfigJDK21() {
23+
assertFalse(Config.get().isDebuggerCodeOriginEnabled());
24+
}
25+
26+
@EnabledOnJre(JRE.JAVA_17)
27+
@Test
28+
public void defaultConfigJDK17() {
29+
assertFalse(Config.get().isDebuggerCodeOriginEnabled());
30+
}
31+
32+
@EnabledOnJre(JRE.JAVA_11)
33+
@Test
34+
public void defaultConfigJDK11() {
35+
assertFalse(Config.get().isDebuggerCodeOriginEnabled());
36+
}
37+
38+
@EnabledOnJre(JRE.JAVA_8)
39+
@Test
40+
public void defaultConfigJDK8() {
41+
assertFalse(Config.get().isDebuggerCodeOriginEnabled());
42+
}
43+
}

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

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
import static datadog.trace.api.ConfigDefaults.DEFAULT_CIVISIBILITY_SOURCE_DATA_ENABLED;
4141
import static datadog.trace.api.ConfigDefaults.DEFAULT_CLIENT_IP_ENABLED;
4242
import static datadog.trace.api.ConfigDefaults.DEFAULT_CLOCK_SYNC_PERIOD;
43-
import static datadog.trace.api.ConfigDefaults.DEFAULT_CODE_ORIGIN_FOR_SPANS_ENABLED;
4443
import static datadog.trace.api.ConfigDefaults.DEFAULT_CODE_ORIGIN_MAX_USER_FRAMES;
4544
import static datadog.trace.api.ConfigDefaults.DEFAULT_COUCHBASE_INTERNAL_SPANS_ENABLED;
4645
import static datadog.trace.api.ConfigDefaults.DEFAULT_CWS_ENABLED;
@@ -2597,7 +2596,7 @@ PROFILING_DATADOG_PROFILER_ENABLED, isDatadogProfilerSafeInCurrentEnvironment())
25972596
EXCEPTION_REPLAY_ENABLED);
25982597
debuggerCodeOriginEnabled =
25992598
configProvider.getBoolean(
2600-
CODE_ORIGIN_FOR_SPANS_ENABLED, DEFAULT_CODE_ORIGIN_FOR_SPANS_ENABLED);
2599+
CODE_ORIGIN_FOR_SPANS_ENABLED, getDefaultCodeOriginForSpanEnabled());
26012600
debuggerCodeOriginMaxUserFrames =
26022601
configProvider.getInteger(CODE_ORIGIN_MAX_USER_FRAMES, DEFAULT_CODE_ORIGIN_MAX_USER_FRAMES);
26032602
debuggerMaxExceptionPerSecond =
@@ -2978,6 +2977,14 @@ PROFILING_DATADOG_PROFILER_ENABLED, isDatadogProfilerSafeInCurrentEnvironment())
29782977
log.debug("New instance: {}", this);
29792978
}
29802979

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+
29812988
private static boolean isValidUrl(String url) {
29822989
if (url == null || url.isEmpty()) {
29832990
return false;

0 commit comments

Comments
 (0)