Hoist local vars for exception probes#11964
Conversation
|
Hi! 👋 Thanks for your pull request! 🎉 To help us review it, please make sure to:
If you need help, please check our contributing guidelines. |
|
🎯 Code Coverage (details) 🔗 Commit SHA: e8a8fe1 | Docs | Datadog PR Page | Give us feedback! |
There was a problem hiding this comment.
More details
The hoisting-before-computeFrames ordering in ExceptionInstrumenter is safe: the inserted STORE instructions use node-identity equality in the frames IdentityHashMap so frames for original RETURN nodes are unaffected. The ConfigurationUpdater change is a correct refactoring — injected config and Config.get() are the same singleton in production, and the test mock's stubbed values match the real defaults for every method DebuggerTransformer calls.
🤖 Datadog Autotest · Commit 154692d · What is Autotest? · Any feedback? Reach out in #autotest
Debugger benchmarksParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 9 metrics, 6 unstable metrics. See unchanged results
Request duration reports for reportsgantt
title reports - request duration [CI 0.99] : candidate=None, baseline=None
dateFormat X
axisFormat %s
section baseline
noprobe (344.717 µs) : 294, 395
. : milestone, 345,
basic (298.792 µs) : 292, 306
. : milestone, 299,
loop (8.979 ms) : 8957, 9001
. : milestone, 8979,
section candidate
noprobe (335.821 µs) : 304, 368
. : milestone, 336,
basic (296.899 µs) : 290, 304
. : milestone, 297,
loop (8.968 ms) : 8963, 8973
. : milestone, 8968,
|
🟢 Java Benchmark SLOs — All performance SLOs passed
PR vs. master results
Commit: Load and DaCapo benchmarks can be triggered manually in the GitLab pipeline. Results will appear in the Benchmarking Platform UI after completion. |
Bits has a CI fix ready🟢 Investigated · 🟢 Fix prepared · ⚪ Validation skipped · 🟠 Ready
View in Datadog | Reviewed commit 154692d |
Exception probe instrumentation was not performing hoisting of local vars which is in fact required if we want to capture those locals because the wrapping with try/catch of the whole method body create sub scope preventing locals to be captured in the catch clause.
154692d to
e8a8fe1
Compare
What Does This Do
Exception probe instrumentation was not performing hoisting of local vars which is in fact required if we want to capture those locals because the wrapping with try/catch of the whole method body create sub scope preventing locals to be captured in the catch clause.
Motivation
Additional Notes
Contributor Checklist
type:and (comp:orinst:) labels in addition to any other useful labelsclose,fix, or any linking keywords when referencing an issueUse
solvesinstead, and assign the PR milestone to the issueJira ticket: DEBUG-5838