Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Overall package sizeSelf size: 7.3 MB Dependency sizes| name | version | self size | total size | |------|---------|-----------|------------| | @datadog/native-appsec | 8.1.1 | 18.67 MB | 18.68 MB | | @datadog/native-iast-taint-tracking | 3.1.0 | 12.27 MB | 12.28 MB | | @datadog/pprof | 5.3.0 | 9.85 MB | 10.22 MB | | protobufjs | 7.2.5 | 2.77 MB | 5.16 MB | | @datadog/native-iast-rewriter | 2.4.1 | 2.14 MB | 2.23 MB | | @opentelemetry/core | 1.14.0 | 872.87 kB | 1.47 MB | | @datadog/native-metrics | 2.0.0 | 898.77 kB | 1.3 MB | | @opentelemetry/api | 1.8.0 | 1.21 MB | 1.21 MB | | jsonpath-plus | 9.0.0 | 580.4 kB | 1.03 MB | | import-in-the-middle | 1.11.2 | 112.74 kB | 826.22 kB | | msgpack-lite | 0.1.26 | 201.16 kB | 281.59 kB | | opentracing | 0.14.7 | 194.81 kB | 194.81 kB | | pprof-format | 2.1.0 | 111.69 kB | 111.69 kB | | @datadog/sketches-js | 2.1.0 | 109.9 kB | 109.9 kB | | semver | 7.6.3 | 95.82 kB | 95.82 kB | | lodash.sortby | 4.7.0 | 75.76 kB | 75.76 kB | | lru-cache | 7.14.0 | 74.95 kB | 74.95 kB | | ignore | 5.3.1 | 51.46 kB | 51.46 kB | | int64-buffer | 0.1.10 | 49.18 kB | 49.18 kB | | shell-quote | 1.8.1 | 44.96 kB | 44.96 kB | | istanbul-lib-coverage | 3.2.0 | 29.34 kB | 29.34 kB | | rfdc | 1.3.1 | 25.21 kB | 25.21 kB | | tlhunter-sorted-set | 0.1.0 | 24.94 kB | 24.94 kB | | limiter | 1.1.5 | 23.17 kB | 23.17 kB | | dc-polyfill | 0.1.4 | 23.1 kB | 23.1 kB | | retry | 0.13.1 | 18.85 kB | 18.85 kB | | jest-docblock | 29.7.0 | 8.99 kB | 12.76 kB | | crypto-randomuuid | 1.0.0 | 11.18 kB | 11.18 kB | | koalas | 1.0.2 | 6.47 kB | 6.47 kB | | path-to-regexp | 0.1.10 | 6.38 kB | 6.38 kB | | module-details-from-path | 1.0.3 | 4.47 kB | 4.47 kB |🤖 This report was automatically generated by heaviest-objects-in-the-universe |
BenchmarksBenchmark execution time: 2024-10-03 13:05:13 Comparing candidate commit c4dc156 in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 259 metrics, 7 unstable metrics. |
781e729 to
5cb52d8
Compare
8639412 to
60ed8b6
Compare
5cb52d8 to
4a218af
Compare
60ed8b6 to
8af7e4d
Compare
4a218af to
5322061
Compare
8af7e4d to
39fea38
Compare
5322061 to
721af8a
Compare
39fea38 to
30f6795
Compare
721af8a to
e98c0f8
Compare
30f6795 to
c214942
Compare
e98c0f8 to
8d71c7c
Compare
c214942 to
d4f1f8a
Compare
8d71c7c to
46af3b2
Compare
d4f1f8a to
b6e69cd
Compare
46af3b2 to
605f994
Compare
b6e69cd to
eb10ac7
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## watson/DEBUG-2532/di #4549 +/- ##
========================================================
- Coverage 88.44% 88.11% -0.33%
========================================================
Files 263 259 -4
Lines 11371 11303 -68
Branches 33 33
========================================================
- Hits 10057 9960 -97
- Misses 1314 1343 +29 ☔ View full report in Codecov by Sentry. |
605f994 to
12dde05
Compare
eb10ac7 to
ed941b7
Compare
12dde05 to
83be4f5
Compare
ed941b7 to
92c4a1e
Compare
83be4f5 to
cf6e059
Compare
92c4a1e to
cc2f756
Compare
cf6e059 to
1570261
Compare
7af2780 to
002e4ab
Compare
22f9718 to
b73fba8
Compare
002e4ab to
939de07
Compare
b73fba8 to
e4bd929
Compare
939de07 to
7dba831
Compare
e4bd929 to
c1839c7
Compare
7dba831 to
0a06ae4
Compare
c1839c7 to
835c9ef
Compare
0a06ae4 to
28eab61
Compare
835c9ef to
f91b2de
Compare
28eab61 to
9733dcf
Compare
a4a8834 to
ba9bc32
Compare
There was a problem hiding this comment.
I would love to sit down and see examples of each of those.
I think capture the BoundThis would be beneficial for debugging - as it would let the user know what the instance that was bounded.
What I'm not sure if those also expose as locals and args (specifically for BoundArgs) - if they are duplicated, not sure this worth the effort. but if they are not captured, I think those values would improve the debug experience.

Take a "snapshot" of the variables that are in scope when a probe is hit (except the global scope, which intentionally have been omitted since it's too noisy):
maxReferenceDepthdeep (default i 3 levels).maxLength(default is 255 characters).maxLengthlimit is also applied)Out of scope:
thisis not captured.Note to reviewers
The algorithm to collect the snapshot is located in:
The post-processing of the collected state to get it into the format expected by the DI endpoint is located in:
To make it easier to understand what data is being operated on in
processor.jswhen reviewing, here's some example data from two of the unit tests inpackages/dd-trace/test/debugger/devtools_client/snapshot.spec.js:Output of `collector.js` for primitive types (from the unit test "should return expected object for primitives")
Output of `collector.js` for complex types (from the unit test "should contain expected properties from local and closure scope")