Skip to content

Commit 84d23b7

Browse files
committed
Enable Code Origin by default for JDK25+
Add tests for ensuring enablement by JDK version
1 parent a9499fa commit 84d23b7

File tree

2 files changed

+52
-1
lines changed

2 files changed

+52
-1
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 datadog.trace.api.Config;
4+
import org.junit.jupiter.api.Test;
5+
import org.junit.jupiter.api.condition.EnabledForJreRange;
6+
import org.junit.jupiter.api.condition.EnabledOnJre;
7+
import org.junit.jupiter.api.condition.JRE;
8+
9+
import static org.junit.jupiter.api.Assertions.assertFalse;
10+
import static org.junit.jupiter.api.Assertions.assertTrue;
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 & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2597,7 +2597,7 @@ PROFILING_DATADOG_PROFILER_ENABLED, isDatadogProfilerSafeInCurrentEnvironment())
25972597
EXCEPTION_REPLAY_ENABLED);
25982598
debuggerCodeOriginEnabled =
25992599
configProvider.getBoolean(
2600-
CODE_ORIGIN_FOR_SPANS_ENABLED, DEFAULT_CODE_ORIGIN_FOR_SPANS_ENABLED);
2600+
CODE_ORIGIN_FOR_SPANS_ENABLED, getDefaultCodeOriginForSpanEnabled());
26012601
debuggerCodeOriginMaxUserFrames =
26022602
configProvider.getInteger(CODE_ORIGIN_MAX_USER_FRAMES, DEFAULT_CODE_ORIGIN_MAX_USER_FRAMES);
26032603
debuggerMaxExceptionPerSecond =
@@ -2978,6 +2978,14 @@ PROFILING_DATADOG_PROFILER_ENABLED, isDatadogProfilerSafeInCurrentEnvironment())
29782978
log.debug("New instance: {}", this);
29792979
}
29802980

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

0 commit comments

Comments
 (0)