Skip to content

fix shimmer slow shim by removing support for unwrap#5557

Merged
rochdev merged 4 commits intomasterfrom
fix-shimmer-slow-shim
Apr 10, 2025
Merged

fix shimmer slow shim by removing support for unwrap#5557
rochdev merged 4 commits intomasterfrom
fix-shimmer-slow-shim

Conversation

@rochdev
Copy link
Copy Markdown
Member

@rochdev rochdev commented Apr 10, 2025

What does this PR do?

Fix shimmer slow shim by removing support for unwrap.

Motivation

Last summer we changed all integrations to use shimmer instead of simple assignments in #4585 and #4634. This made everything slower by adding an additional wrapper to every instrumented function, resulting in a regression. The reason for the additional wrapper that is added by shimmer is to be able to unwrap later by replacing the inner wrapper with the original function. In reality, this was only used in 1 place, so I moved that logic there and removed it from shimmer, making wrapped functions faster.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 10, 2025

Overall package size

Self size: 9.27 MB
Deduped: 101.67 MB
No deduping: 102.19 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.5.0 | 29.83 MB | 29.83 MB | | @datadog/native-appsec | 8.5.1 | 19.26 MB | 19.27 MB | | @datadog/native-iast-taint-tracking | 3.3.0 | 13.77 MB | 13.78 MB | | @datadog/pprof | 5.7.0 | 9.89 MB | 10.26 MB | | @opentelemetry/core | 1.30.1 | 908.66 kB | 7.16 MB | | protobufjs | 7.4.0 | 2.77 MB | 5.42 MB | | @datadog/wasm-js-rewriter | 3.1.0 | 2.37 MB | 2.52 MB | | @datadog/native-metrics | 3.1.0 | 1.06 MB | 1.46 MB | | @opentelemetry/api | 1.8.0 | 1.21 MB | 1.21 MB | | import-in-the-middle | 1.13.1 | 117.64 kB | 839.26 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.0 | 29.34 kB | 29.34 kB | | rfdc | 1.4.1 | 27.15 kB | 27.15 kB | | @isaacs/ttlcache | 1.4.1 | 25.2 kB | 25.2 kB | | tlhunter-sorted-set | 0.1.0 | 24.94 kB | 24.94 kB | | dc-polyfill | 0.1.6 | 24.56 kB | 24.56 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 | | 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.3 | 4.47 kB | 4.47 kB |

🤖 This report was automatically generated by heaviest-objects-in-the-universe

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 10, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 79.27%. Comparing base (5ab3df2) to head (da04693).
Report is 4 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #5557      +/-   ##
==========================================
- Coverage   79.35%   79.27%   -0.08%     
==========================================
  Files         513      512       -1     
  Lines       23290    23207      -83     
==========================================
- Hits        18481    18397      -84     
- Misses       4809     4810       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@pr-commenter
Copy link
Copy Markdown

pr-commenter Bot commented Apr 10, 2025

Benchmarks

Benchmark execution time: 2025-04-10 04:09:28

Comparing candidate commit da04693 in PR branch fix-shimmer-slow-shim with baseline commit 5ab3df2 in branch master.

Found 2 performance improvements and 0 performance regressions! Performance is the same for 942 metrics, 19 unstable metrics.

scenario:startup-with-tracer-22

  • 🟩 cpu_user_time [-19.776ms; -12.505ms] or [-10.674%; -6.750%]
  • 🟩 execution_time [-19.485ms; -17.782ms] or [-7.850%; -7.164%]

@datadog-datadog-prod-us1
Copy link
Copy Markdown

datadog-datadog-prod-us1 Bot commented Apr 10, 2025

Datadog Report

Branch report: fix-shimmer-slow-shim
Commit report: 45da19e
Test service: dd-trace-js-integration-tests

✅ 0 Failed, 931 Passed, 0 Skipped, 15m 40.91s Total Time

@rochdev rochdev marked this pull request as ready for review April 10, 2025 04:02
@rochdev rochdev requested review from a team as code owners April 10, 2025 04:02
@rochdev rochdev merged commit a64340b into master Apr 10, 2025
427 checks passed
@rochdev rochdev deleted the fix-shimmer-slow-shim branch April 10, 2025 14:22
This was referenced Apr 10, 2025
@github-actions github-actions Bot mentioned this pull request Apr 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants