diff --git a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/probe/LogProbe.java b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/probe/LogProbe.java index 95ba3426135..8342830403e 100644 --- a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/probe/LogProbe.java +++ b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/probe/LogProbe.java @@ -444,8 +444,8 @@ public Sampling getSampling() { @Override public InstrumentationResult.Status instrument( MethodInfo methodInfo, List diagnostics, List probeIds) { - // if evaluation is at exit and with condition, skip collecting data at entry - boolean captureEntry = !(getEvaluateAt() == MethodLocation.EXIT && hasCondition()); + // only capture entry values if explicitly not at Exit. By default, we are using evaluateAt=EXIT + boolean captureEntry = getEvaluateAt() != MethodLocation.EXIT; return new CapturedContextInstrumentor( this, methodInfo, diff --git a/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/CapturedSnapshotTest.java b/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/CapturedSnapshotTest.java index 228e847b8ce..e27b838cc20 100644 --- a/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/CapturedSnapshotTest.java +++ b/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/CapturedSnapshotTest.java @@ -155,7 +155,8 @@ public void methodProbeAtExit() throws IOException, URISyntaxException { int result = Reflect.onClass(testClass).call("main", "1").get(); assertEquals(3, result); Snapshot snapshot = assertOneSnapshot(listener); - assertCaptureArgs(snapshot.getCaptures().getEntry(), "arg", "java.lang.String", "1"); + // no entry values capture + assertEquals(CapturedContext.EMPTY_CAPTURING_CONTEXT, snapshot.getCaptures().getEntry()); assertCaptureArgs(snapshot.getCaptures().getReturn(), "arg", "java.lang.String", "1"); assertTrue(snapshot.getDuration() > 0); assertTrue(snapshot.getStack().size() > 0);