Skip to content

v5.50.0 proposal #5633

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 16 commits into from
May 1, 2025
Merged

v5.50.0 proposal #5633

merged 16 commits into from
May 1, 2025

Conversation

dd-trace-js[bot]
Copy link

@dd-trace-js dd-trace-js bot commented Apr 30, 2025

  • [8ee2b306a2] - (SEMVER-PATCH) Link to ESM support documentation (Thomas Watson) #5626
  • [54c7c5187f] - (SEMVER-PATCH) Improve performance of dogstatsd client and ignore non-string name/tags (Roch Devost) #5630
  • [c1d53e2764] - (SEMVER-PATCH) Turn async ID gathering off by default (Attila Szegedi) #5621
  • [6b0de6cb1d] - (SEMVER-MINOR) Address cookie vulnerability cardinality (Ugaitz Urien) #5614
  • [a68aee7db0] - (SEMVER-PATCH) Simplify AppSec config (Thomas Watson) #5634
  • [ccf588e04f] - (SEMVER-PATCH) Fix issues detected by TS type checks (Ruben Bridgewater) #5310
  • [e0d929b552] - (SEMVER-PATCH) handle existing PRs remove inputs and add schedule (Roch Devost) #5618
  • [3eff48b87a] - (SEMVER-PATCH) Improve shimmer instrumentation performance (Ruben Bridgewater) #5593
  • [d8a536ff89] - (SEMVER-MINOR) chore(llmobs): add telemetry metrics for public llmobs SDK methods (Yun Kim) #5470
  • [837bef32e0] - (SEMVER-PATCH) Test: Pin tested package version until tests can be fixed (Thomas Watson) #5627

watson and others added 5 commits April 30, 2025 05:06
Currently the Bedrock tests will fail if we test against the newest
version of `@aws-sdk/client-bedrock-runtime` (v3.798.0). To not block
CI, we're pinning the tested version to not include that version and
above for now.

Once the fault have been identified and fixed, this commit should be
reverted!
…5470)

* Add raw span size metric

* Add processed span event size metrics

* Refactor

* Add llmobs.annotate telemetry

* Add telemetry for flush, exportSpan, submitEval

* fmt

* minor fixes

* Revert tagging err propagation, just add in handleFailure

* lint

* Fix try/catch/finally, typo in user_flush

* Revert "Fix try/catch/finally, typo in user_flush"

This reverts commit ddd647f.

* Revert "Revert "Fix try/catch/finally, typo in user_flush""

This reverts commit eb3cc92.
* Improve shimmer instrumentation performance

The following improvements are implemented:

1. The prototype has to only be looked up in case the constructor
   is not identical. That is a rare case, so it'll be
   faster in average.
2. Copying the property descriptors is now done by skipping
  entries that may not be set. There is also no try / catch needed
  anymore.
4. The assertions are now faster by preventing duplicated lookups
   in the positive case.
5. Reusing the existing descriptor instead of creating a new object.

* Minor benchmark improvements

* Remove outdated benchmarks

* Fix basic benchmarks

These are now possible to run again and the benchmark script is
also fixed.

* Fast path for enumerable, writable, configurable properties

* Improve shimmer.wrap performance and add TODO entry

The wrap performance now has an additional fast path and the
noAssert argument is removed due to always being false.

Non configurable but writable properties are now instrumented
properly.
* handle existing PRs and remove workflow inputs

* only force new commits for manual runs

* add schedule workflow trigger

* fix previous minor pr overridden by patch

* remove spinner in ci

* add newline before notice

* remove unnecessary newline in ci

* add missing newline

* use default node version

* make job run faster by downloading less things

* move branch-diff installation to composite action

* improve notice

* fix missing shell

* fix missing token

* fix missing description

* handle no changes and always restore branch on success
Copy link

github-actions bot commented Apr 30, 2025

Overall package size

Self size: 9.3 MB
Deduped: 102.55 MB
No deduping: 103.07 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.5.1 | 29.73 MB | 29.73 MB | | @datadog/native-appsec | 8.5.2 | 19.33 MB | 19.34 MB | | @datadog/native-iast-taint-tracking | 3.3.1 | 13.99 MB | 13.99 MB | | @datadog/pprof | 5.7.1 | 9.51 MB | 9.88 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 | 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.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 | | dc-polyfill | 0.1.8 | 25.08 kB | 25.08 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.3 | 4.47 kB | 4.47 kB |

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

Copy link

codecov bot commented Apr 30, 2025

Codecov Report

Attention: Patch coverage is 49.28910% with 107 lines in your changes missing coverage. Please review.

Please upload report for BASE (v5.x@0439e23). Learn more about missing BASE report.

Files with missing lines Patch % Lines
packages/dd-trace/src/llmobs/sdk.js 20.40% 78 Missing ⚠️
packages/dd-trace/src/llmobs/telemetry.js 30.00% 14 Missing ⚠️
packages/dd-trace/src/llmobs/tagger.js 0.00% 11 Missing ⚠️
packages/dd-trace/src/llmobs/index.js 25.00% 3 Missing ⚠️
packages/datadog-shimmer/src/shimmer.js 97.50% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             v5.x    #5633   +/-   ##
=======================================
  Coverage        ?   79.10%           
=======================================
  Files           ?      514           
  Lines           ?    23475           
  Branches        ?        0           
=======================================
  Hits            ?    18570           
  Misses          ?     4905           
  Partials        ?        0           

☔ 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.

@datadog-datadog-prod-us1
Copy link

datadog-datadog-prod-us1 bot commented Apr 30, 2025

Datadog Report

Branch report: v5.50.0-proposal
Commit report: 8b9a595
Test service: dd-trace-js-integration-tests

✅ 0 Failed, 927 Passed, 0 Skipped, 13m 52.48s Total Time

@pr-commenter
Copy link

pr-commenter bot commented Apr 30, 2025

Benchmarks

Benchmark execution time: 2025-05-01 16:23:31

Comparing candidate commit 4267655 in PR branch v5.50.0-proposal with baseline commit 0439e23 in branch v5.x.

Found 72 performance improvements and 0 performance regressions! Performance is the same for 1199 metrics, 52 unstable metrics.

scenario:shimmer-startup-arrow-wrap-18

  • 🟩 cpu_user_time [-3.099s; -3.081s] or [-86.399%; -85.891%]
  • 🟩 execution_time [-3.110s; -3.094s] or [-84.763%; -84.319%]
  • 🟩 instructions [-17.1G instructions; -17.1G instructions] or [-89.008%; -88.763%]

scenario:shimmer-startup-arrow-wrap-20

  • 🟩 cpu_user_time [-2.836s; -2.813s] or [-87.293%; -86.596%]
  • 🟩 execution_time [-2.849s; -2.827s] or [-85.579%; -84.932%]
  • 🟩 instructions [-15.0G instructions; -14.9G instructions] or [-87.712%; -87.424%]

scenario:shimmer-startup-arrow-wrap-22

  • 🟩 cpu_user_time [-2.625s; -2.597s] or [-86.549%; -85.644%]
  • 🟩 execution_time [-2.639s; -2.612s] or [-84.731%; -83.866%]
  • 🟩 instructions [-14.5G instructions; -14.5G instructions] or [-87.903%; -87.585%]

scenario:shimmer-startup-arrow-wrapfn-18

  • 🟩 cpu_user_time [-158.269ms; -154.398ms] or [-43.523%; -42.459%]
  • 🟩 execution_time [-158.711ms; -155.910ms] or [-41.562%; -40.829%]
  • 🟩 instructions [-882.4M instructions; -877.6M instructions] or [-45.405%; -45.157%]

scenario:shimmer-startup-arrow-wrapfn-20

  • 🟩 cpu_user_time [-154.863ms; -150.421ms] or [-46.342%; -45.013%]
  • 🟩 execution_time [-153.992ms; -150.455ms] or [-44.279%; -43.262%]
  • 🟩 instructions [-912.7M instructions; -907.0M instructions] or [-48.271%; -47.972%]

scenario:shimmer-startup-arrow-wrapfn-22

  • 🟩 cpu_user_time [-147.622ms; -141.168ms] or [-47.134%; -45.073%]
  • 🟩 execution_time [-146.646ms; -141.478ms] or [-44.682%; -43.107%]
  • 🟩 instructions [-852.5M instructions; -845.7M instructions] or [-47.833%; -47.451%]

scenario:shimmer-startup-asyncarrow-wrap-18

  • 🟩 cpu_user_time [-3.097s; -3.077s] or [-85.653%; -85.102%]
  • 🟩 execution_time [-3.112s; -3.095s] or [-84.106%; -83.644%]
  • 🟩 instructions [-17.1G instructions; -17.1G instructions] or [-88.478%; -88.205%]

scenario:shimmer-startup-asyncarrow-wrap-20

  • 🟩 cpu_user_time [-2.850s; -2.822s] or [-86.879%; -86.041%]
  • 🟩 execution_time [-2.862s; -2.834s] or [-85.152%; -84.322%]
  • 🟩 instructions [-14.9G instructions; -14.9G instructions] or [-87.039%; -86.743%]

scenario:shimmer-startup-asyncarrow-wrap-22

  • 🟩 cpu_user_time [-2.583s; -2.567s] or [-85.784%; -85.230%]
  • 🟩 execution_time [-2.597s; -2.581s] or [-83.954%; -83.442%]
  • 🟩 instructions [-14.4G instructions; -14.3G instructions] or [-87.336%; -86.999%]

scenario:shimmer-startup-asyncarrow-wrapfn-18

  • 🟩 cpu_user_time [-163.678ms; -158.438ms] or [-42.166%; -40.816%]
  • 🟩 execution_time [-163.668ms; -159.927ms] or [-40.360%; -39.438%]
  • 🟩 instructions [-882.7M instructions; -876.8M instructions] or [-43.327%; -43.041%]

scenario:shimmer-startup-asyncarrow-wrapfn-20

  • 🟩 cpu_user_time [-153.223ms; -148.401ms] or [-43.907%; -42.525%]
  • 🟩 execution_time [-153.352ms; -149.054ms] or [-42.296%; -41.110%]
  • 🟩 instructions [-911.0M instructions; -905.6M instructions] or [-45.924%; -45.654%]

scenario:shimmer-startup-asyncarrow-wrapfn-22

  • 🟩 cpu_user_time [-147.052ms; -141.685ms] or [-44.728%; -43.095%]
  • 🟩 execution_time [-145.737ms; -141.083ms] or [-42.363%; -41.011%]
  • 🟩 instructions [-845.7M instructions; -841.7M instructions] or [-45.207%; -44.993%]

scenario:shimmer-startup-asyncdeclared-wrap-18

  • 🟩 cpu_user_time [-3.126s; -3.096s] or [-85.971%; -85.151%]
  • 🟩 execution_time [-3.138s; -3.107s] or [-84.381%; -83.548%]
  • 🟩 instructions [-17.2G instructions; -17.1G instructions] or [-88.716%; -88.301%]

scenario:shimmer-startup-asyncdeclared-wrap-20

  • 🟩 cpu_user_time [-2.841s; -2.818s] or [-86.773%; -86.058%]
  • 🟩 execution_time [-2.856s; -2.833s] or [-85.073%; -84.392%]
  • 🟩 instructions [-15.0G instructions; -14.9G instructions] or [-87.100%; -86.741%]

scenario:shimmer-startup-asyncdeclared-wrap-22

  • 🟩 cpu_user_time [-2.573s; -2.556s] or [-85.763%; -85.188%]
  • 🟩 execution_time [-2.587s; -2.572s] or [-83.878%; -83.379%]
  • 🟩 instructions [-14.3G instructions; -14.3G instructions] or [-87.247%; -86.980%]

scenario:shimmer-startup-asyncdeclared-wrapfn-18

  • 🟩 cpu_user_time [-163.592ms; -158.219ms] or [-42.190%; -40.805%]
  • 🟩 execution_time [-163.915ms; -159.681ms] or [-40.448%; -39.404%]
  • 🟩 instructions [-882.5M instructions; -876.3M instructions] or [-43.321%; -43.016%]

scenario:shimmer-startup-asyncdeclared-wrapfn-20

  • 🟩 cpu_user_time [-152.196ms; -148.574ms] or [-43.598%; -42.560%]
  • 🟩 execution_time [-151.622ms; -148.867ms] or [-41.937%; -41.175%]
  • 🟩 instructions [-908.1M instructions; -904.1M instructions] or [-45.823%; -45.621%]

scenario:shimmer-startup-asyncdeclared-wrapfn-22

  • 🟩 cpu_user_time [-146.840ms; -139.693ms] or [-44.705%; -42.529%]
  • 🟩 execution_time [-145.947ms; -140.455ms] or [-42.479%; -40.881%]
  • 🟩 instructions [-847.7M instructions; -840.6M instructions] or [-45.287%; -44.909%]

scenario:shimmer-startup-declared-wrap-18

  • 🟩 cpu_user_time [-3.100s; -3.073s] or [-86.422%; -85.674%]
  • 🟩 execution_time [-3.111s; -3.087s] or [-84.791%; -84.127%]
  • 🟩 instructions [-17.1G instructions; -17.1G instructions] or [-89.030%; -88.808%]

scenario:shimmer-startup-declared-wrap-20

  • 🟩 cpu_user_time [-2.829s; -2.803s] or [-87.173%; -86.383%]
  • 🟩 execution_time [-2.846s; -2.822s] or [-85.497%; -84.793%]
  • 🟩 instructions [-15.0G instructions; -15.0G instructions] or [-87.685%; -87.349%]

scenario:shimmer-startup-declared-wrap-22

  • 🟩 cpu_user_time [-2.620s; -2.598s] or [-86.695%; -85.990%]
  • 🟩 execution_time [-2.633s; -2.612s] or [-84.766%; -84.088%]
  • 🟩 instructions [-14.5G instructions; -14.5G instructions] or [-87.984%; -87.635%]

scenario:shimmer-startup-declared-wrapfn-18

  • 🟩 cpu_user_time [-2.443s; -2.424s] or [-86.561%; -85.892%]
  • 🟩 execution_time [-2.445s; -2.427s] or [-85.871%; -85.220%]
  • 🟩 instructions [-13.4G instructions; -13.4G instructions] or [-87.204%; -87.064%]

scenario:shimmer-startup-declared-wrapfn-20

  • 🟩 cpu_user_time [-2.303s; -2.269s] or [-88.243%; -86.940%]
  • 🟩 execution_time [-2.302s; -2.268s] or [-87.565%; -86.291%]
  • 🟩 instructions [-12.0G instructions; -12.0G instructions] or [-87.169%; -87.023%]

scenario:shimmer-startup-declared-wrapfn-22

  • 🟩 cpu_user_time [-2.078s; -2.062s] or [-87.335%; -86.693%]
  • 🟩 execution_time [-2.076s; -2.062s] or [-86.508%; -85.907%]
  • 🟩 instructions [-11.7G instructions; -11.6G instructions] or [-87.484%; -87.345%]

@BridgeAR
Copy link
Collaborator

I think we should include a few more things into this one. Definitely the current code on the main branch.

watson and others added 5 commits May 1, 2025 05:06
Remove custom code for AppSec in the Config class that isn't needed if
we use optional chaining instead.
* Do not use custom hash algorithm in cookie vulnerabilities

* Fix tests

* Fix lint

* Remove comment

* Remove config related iast configs that are no longer needed

* Fix lint

* Change description for @deprecated property
* Revert "Constrain async ID collection to main thread only (#5559)"

This reverts commit 5fd6690.

* Revert "Start collecting async IDs in profiles (#5524)"

This reverts commit 9ec7ef9.

* Restore actually useful test code change
…gs (#5630)

* performance improvements

* safeguard against non-string keys

* add comment to explain the need for wrapping spies
Instead of keeping the ESM support documentation in the README.md file in sync with the official docs, simply link to them instead
@dd-trace-js dd-trace-js bot force-pushed the v5.50.0-proposal branch from 95b2457 to a8d4e12 Compare May 1, 2025 05:06
@szegedi szegedi marked this pull request as ready for review May 1, 2025 15:54
@szegedi szegedi requested review from a team as code owners May 1, 2025 15:54
szegedi
szegedi previously approved these changes May 1, 2025
juan-fernandez and others added 6 commits May 1, 2025 12:13
We are removing apm-framework-integrations-reviewers-js
in favor of the newer apm-idm-js team.

We want to limit the notifications and narrow
the scope of code ownership for Datadog tracing
libraries and this is a part of that initiative.
@rochdev
Copy link
Member

rochdev commented May 1, 2025

Added old commits but didn't update the release notes because together they result in no changes.

@szegedi szegedi merged commit e7c986f into v5.x May 1, 2025
437 checks passed
@szegedi szegedi deleted the v5.50.0-proposal branch May 1, 2025 16:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants