Commit 015654a
authored
feat(debugger): implement capture expressions (#7431)
Add support for capturing specific expressions in log probes as an
alternative to full snapshot capture. This allows users to precisely
define which data they want to collect, addressing the 1MB Event
Platform payload limit issue.
When capture expressions are defined, only those expressions are
evaluated and serialized instead of capturing the entire object
graph of local variables, arguments, and fields. Each expression can
optionally override the default capture limits (depth, collection
size, field count, and string length).
The implementation distinguishes between transient evaluation errors
(like undefined variables) and fatal errors (like protocol failures),
allowing some expressions to succeed even when others fail. Fatal
errors disable capture expressions for the probe until it's
re-applied, preventing repeated failures.
Time budget enforcement is respected across all expressions. If the
timeout is reached while evaluating expressions, any remaining
unevaluated expressions are still included in the snapshot with a
notCapturedReason indicating the timeout was exceeded.1 parent 0312991 commit 015654a
File tree
19 files changed
+1304
-107
lines changed- integration-tests/debugger
- target-app
- packages/dd-trace
- src
- ci-visibility/dynamic-instrumentation/worker
- debugger/devtools_client
- snapshot
- test/debugger/devtools_client
- snapshot
19 files changed
+1304
-107
lines changedLines changed: 84 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
0 commit comments