dd-trace-js
dd-trace-js copied to clipboard
Upgrade tap from v16 to v19
- #5961

- #4744
👈 (View in Graphite) master
This stack of pull requests is managed by Graphite. Learn more about stacking.
Overall package size
Self size: 9.77 MB Deduped: 106.28 MB No deduping: 106.8 MB
Dependency sizes
| name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.7.0 | 35.02 MB | 35.02 MB | | @datadog/native-appsec | 8.5.2 | 19.33 MB | 19.34 MB | | @datadog/native-iast-taint-tracking | 4.0.0 | 11.72 MB | 11.73 MB | | @datadog/pprof | 5.8.2 | 9.56 MB | 9.93 MB | | @opentelemetry/core | 1.30.1 | 908.66 kB | 7.16 MB | | protobufjs | 7.5.3 | 2.95 MB | 5.6 MB | | @datadog/wasm-js-rewriter | 4.0.1 | 2.85 MB | 3.58 MB | | @datadog/native-metrics | 3.1.1 | 1.02 MB | 1.43 MB | | @opentelemetry/api | 1.8.0 | 1.21 MB | 1.21 MB | | import-in-the-middle | 1.14.0 | 120.58 kB | 841 kB | | source-map | 0.7.4 | 226 kB | 226 kB | | opentracing | 0.14.7 | 194.81 kB | 194.81 kB | | lru-cache | 7.18.3 | 133.92 kB | 133.92 kB | | pprof-format | 2.1.0 | 111.69 kB | 111.69 kB | | @datadog/sketches-js | 2.1.1 | 109.9 kB | 109.9 kB | | lodash.sortby | 4.7.0 | 75.76 kB | 75.76 kB | | ignore | 5.3.2 | 53.63 kB | 53.63 kB | | istanbul-lib-coverage | 3.2.2 | 34.37 kB | 34.37 kB | | rfdc | 1.4.1 | 27.15 kB | 27.15 kB | | @isaacs/ttlcache | 1.4.1 | 25.2 kB | 25.2 kB | | dc-polyfill | 0.1.9 | 25.11 kB | 25.11 kB | | tlhunter-sorted-set | 0.1.0 | 24.94 kB | 24.94 kB | | shell-quote | 1.8.2 | 23.54 kB | 23.54 kB | | limiter | 1.1.5 | 23.17 kB | 23.17 kB | | retry | 0.13.1 | 18.85 kB | 18.85 kB | | semifies | 1.0.0 | 15.84 kB | 15.84 kB | | jest-docblock | 29.7.0 | 8.99 kB | 12.76 kB | | crypto-randomuuid | 1.0.0 | 11.18 kB | 11.18 kB | | ttl-set | 1.0.0 | 4.61 kB | 9.69 kB | | mutexify | 1.4.0 | 5.71 kB | 8.74 kB | | path-to-regexp | 0.1.12 | 6.6 kB | 6.6 kB | | koalas | 1.0.2 | 6.47 kB | 6.47 kB | | module-details-from-path | 1.0.4 | 3.96 kB | 3.96 kB |🤖 This report was automatically generated by heaviest-objects-in-the-universe
Benchmarks
Benchmark execution time: 2025-06-25 21:09:34
Comparing candidate commit 16b6b34dbf1e23496032475c1dfae8497df8c6e5 in PR branch watson/10-01-upgrade_tap_from_v16_to_v19 with baseline commit 1ddb718a0151da622814071ab774c8adf538ae37 in branch master.
Found 0 performance improvements and 24 performance regressions! Performance is the same for 1245 metrics, 54 unstable metrics.
scenario:startup-control-everything-18
- 🟥
cpu_user_time[+272.510ms; +296.269ms] or [+16.412%; +17.843%] - 🟥
execution_time[+305.982ms; +332.796ms] or [+15.849%; +17.237%] - 🟥
instructions[+1.1G instructions; +1.1G instructions] or [+26.413%; +26.984%] - 🟥
max_rss_usage[+25.830MB; +26.843MB] or [+14.911%; +15.496%]
scenario:startup-control-everything-20
- 🟥
cpu_user_time[+236.472ms; +265.340ms] or [+11.837%; +13.282%] - 🟥
execution_time[+266.636ms; +299.885ms] or [+11.472%; +12.902%] - 🟥
instructions[+1.1G instructions; +1.1G instructions] or [+20.399%; +20.875%] - 🟥
max_rss_usage[+23.357MB; +27.608MB] or [+13.043%; +15.417%]
scenario:startup-control-everything-22
- 🟥
cpu_user_time[+246.889ms; +281.091ms] or [+12.013%; +13.677%] - 🟥
execution_time[+268.914ms; +306.890ms] or [+10.672%; +12.179%] - 🟥
instructions[+1.0G instructions; +1.1G instructions] or [+17.939%; +18.412%] - 🟥
max_rss_usage[+17.022MB; +20.031MB] or [+8.607%; +10.128%]
scenario:startup-with-tracer-everything-18
- 🟥
cpu_user_time[+249.610ms; +274.336ms] or [+11.527%; +12.669%] - 🟥
execution_time[+290.837ms; +316.859ms] or [+11.515%; +12.546%] - 🟥
instructions[+1.1G instructions; +1.1G instructions] or [+20.682%; +21.085%] - 🟥
max_rss_usage[+19.236MB; +21.646MB] or [+10.433%; +11.740%]
scenario:startup-with-tracer-everything-20
- 🟥
cpu_user_time[+254.634ms; +282.024ms] or [+10.576%; +11.714%] - 🟥
execution_time[+298.371ms; +329.693ms] or [+10.642%; +11.759%] - 🟥
instructions[+1.1G instructions; +1.1G instructions] or [+17.516%; +17.808%] - 🟥
max_rss_usage[+30.702MB; +34.727MB] or [+16.880%; +19.093%]
scenario:startup-with-tracer-everything-22
- 🟥
cpu_user_time[+238.739ms; +278.603ms] or [+9.454%; +11.032%] - 🟥
execution_time[+274.656ms; +313.319ms] or [+8.558%; +9.763%] - 🟥
instructions[+1.1G instructions; +1.1G instructions] or [+14.349%; +14.619%] - 🟥
max_rss_usage[+20.889MB; +24.619MB] or [+10.339%; +12.186%]
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 85.90%. Comparing base (
1ddb718) to head (16b6b34). Report is 16 commits behind head on master.
Additional details and impacted files
@@ Coverage Diff @@
## master #4744 +/- ##
==========================================
+ Coverage 78.75% 85.90% +7.15%
==========================================
Files 448 222 -226
Lines 19562 7373 -12189
==========================================
- Hits 15406 6334 -9072
+ Misses 4156 1039 -3117
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
It also had a lot of failing tests. I can't remember the issues at the moment, but I'll try to re-run them so we can see
Ah, yes... I start to remember some of the issues: The new version of tap changes how code coverage is generated, so the way we configure that needs to be refactored as well
Datadog Report
Branch report: watson/10-01-upgrade_tap_from_v16_to_v19
Commit report: 61ba175
Test service: dd-trace-js-integration-tests
:white_check_mark: 0 Failed, 1254 Passed, 0 Skipped, 20m 4.36s Total Time
@watson do you think you could find some time to look into it? Or should we maybe discuss how we could unify our tests suits generally in a proper way? I know there were a few attempts so far.
The way beforeEach and friends work in newer versions of tap is incompatible with our usage, so we can never upgrade without so much work that it becomes unfeasible. Therefore I'm closing this PR as the we will have to use something else than tap.