Skip to content

v5.55.0 proposal #5841

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 23 commits into from
Jun 6, 2025
Merged

v5.55.0 proposal #5841

merged 23 commits into from
Jun 6, 2025

Conversation

dd-trace-js[bot]
Copy link

@dd-trace-js dd-trace-js bot commented Jun 5, 2025

  • [9c58aefabc] - (SEMVER-PATCH) [test optimization] Fix test optimization tests in v5 release line (Juan Antonio Fernández de Alba) #5844
  • [b9375e96f4] - (SEMVER-MINOR) Remove Header Injection vulnerability detection (Carles Capell) #5836
  • [2fd2bcb301] - (SEMVER-PATCH) Initial central configuration inversion (Ruben Bridgewater) #5603
  • [e7bb334853] - (SEMVER-PATCH) Allow for reordering of files in the upload (Attila Szegedi) #5845
  • [8045409ef6] - (SEMVER-PATCH) Fix startuplog crashing by serializing bigint (Ruben Bridgewater) #5842
  • [d9f0d7e414] - (SEMVER-PATCH) split ci jobs by team workflows (Roch Devost) #5817
  • [f1f87830b3] - (SEMVER-PATCH) [Code Origin for Spans] Only send top user frame in entry spans (Thomas Watson) #5763
  • [b4b18e3f6f] - (SEMVER-PATCH) [test optimization] Remove async resource usage from playwright (Juan Antonio Fernández de Alba) #5835
  • [c43be9ce5b] - (SEMVER-PATCH) [test optimization] Remove async resource usage from vitest (Juan Antonio Fernández de Alba) #5834
  • [75c5a45758] - (SEMVER-PATCH) [test optimization] Remove async resource usage from cucumber (Juan Antonio Fernández de Alba) #5833
  • [d88c81e789] - (SEMVER-PATCH) [test optimization] Remove usage of async resource from jest (Juan Antonio Fernández de Alba) #5811
  • [429f0df6bc] - (SEMVER-PATCH) Update eslint rules and activate multiple more (Ruben Bridgewater) #5800
  • [c21e73b19a] - (SEMVER-MINOR) Add appsec.enabled origin gauge metric (Ugaitz Urien) #5794
  • [ccc1d32822] - (SEMVER-MINOR) feat(llmobs): propagate mlApp for LLM proxy or gateway services (Sam Brenner) #5553
  • [634aad27e5] - (SEMVER-PATCH) fix remaining mysql/mariadb async resource usage (Roch Devost) #5840
  • [1df163a69d] - (SEMVER-PATCH) [test optimization] Remove deprecated async resource from mocha (Juan Antonio Fernández de Alba) #5830
  • [aea6872e4d] - (SEMVER-PATCH) bump multer (Ilyas Shabi) #5828
  • [2531473c11] - (SEMVER-PATCH) fix store binding transform not executing with undefined current store (Roch Devost) #5825
  • [5d7a7f1899] - (SEMVER-PATCH) Fix overhead controller test flakyness (Ugaitz Urien) #5824
  • [f099f66fcb] - (SEMVER-PATCH) Don't use DD_ prefix on test-only env var (Attila Szegedi) #5742
  • [00efd03830] - (SEMVER-PATCH) test: speed up DI integration tests (Thomas Watson) #5823
  • [cc2b8a6306] - (SEMVER-PATCH) ci(openai): remove flaky configuration test (Sam Brenner) #5822

sabrenner and others added 9 commits June 5, 2025 20:18
No need to install dependencies in the sandbox that isn't required.
* Going with TESTING_NO_INTEGRATION_SANDBOX
#5825)

This check was added to allow running transforms for bindings when the current store has noop: true so that the previous store (without noop) would be restored. The current store being undefined was not considered at that point.
)

* ml app propagation

* add custom ml-proxy tag

* add tests

* fix test

* fix implementation

* remove ml-proxy tagging logic

* swap ml app checking order

* add unit test for tagger for new order behavior

* switch order

* add more tests
@dd-trace-js dd-trace-js bot mentioned this pull request Jun 5, 2025
Copy link

github-actions bot commented Jun 5, 2025

Overall package size

Self size: 9.61 MB
Deduped: 104.55 MB
No deduping: 105.07 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.6.0 | 30.47 MB | 30.47 MB | | @datadog/native-appsec | 8.5.2 | 19.33 MB | 19.34 MB | | @datadog/pprof | 5.8.0 | 12.55 MB | 12.92 MB | | @datadog/native-iast-taint-tracking | 4.0.0 | 11.72 MB | 11.73 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.68 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

Copy link

codecov bot commented Jun 5, 2025

Codecov Report

Attention: Patch coverage is 86.75497% with 60 lines in your changes missing coverage. Please review.

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

Files with missing lines Patch % Lines
packages/dd-trace/src/llmobs/noop.js 0.00% 10 Missing ⚠️
packages/datadog-instrumentations/src/router.js 0.00% 8 Missing ⚠️
packages/dd-trace/src/llmobs/index.js 33.33% 6 Missing ⚠️
...ages/datadog-instrumentations/src/helpers/fetch.js 0.00% 3 Missing ⚠️
...ackages/datadog-plugin-avsc/src/schema_iterator.js 57.14% 3 Missing ⚠️
packages/datadog-plugin-mocha/src/index.js 0.00% 3 Missing ⚠️
...ges/dd-trace/src/encode/agentless-ci-visibility.js 40.00% 3 Missing ⚠️
packages/dd-trace/src/plugins/util/test.js 25.00% 3 Missing ⚠️
packages/datadog-plugin-cucumber/src/index.js 0.00% 2 Missing ⚠️
packages/datadog-plugin-graphql/src/resolve.js 84.61% 2 Missing ⚠️
... and 14 more
Additional details and impacted files
@@           Coverage Diff           @@
##             v5.x    #5841   +/-   ##
=======================================
  Coverage        ?   80.71%           
=======================================
  Files           ?      464           
  Lines           ?    19884           
  Branches        ?        0           
=======================================
  Hits            ?    16049           
  Misses          ?     3835           
  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.

@pr-commenter
Copy link

pr-commenter bot commented Jun 5, 2025

Benchmarks

Benchmark execution time: 2025-06-06 16:21:14

Comparing candidate commit 2414f40 in PR branch v5.55.0-proposal with baseline commit abb93b4 in branch v5.x.

Found 0 performance improvements and 13 performance regressions! Performance is the same for 1253 metrics, 57 unstable metrics.

scenario:log-skip-log-22

  • 🟥 cpu_user_time [+22.946ms; +29.199ms] or [+8.454%; +10.758%]
  • 🟥 execution_time [+28.438ms; +30.154ms] or [+8.327%; +8.830%]

scenario:log-with-debug-22

  • 🟥 cpu_user_time [+23.793ms; +29.241ms] or [+8.734%; +10.734%]
  • 🟥 execution_time [+27.968ms; +29.856ms] or [+8.185%; +8.738%]

scenario:log-with-error-22

  • 🟥 cpu_user_time [+26.582ms; +32.239ms] or [+10.014%; +12.146%]
  • 🟥 execution_time [+24.744ms; +30.048ms] or [+7.323%; +8.893%]

scenario:log-without-log-22

  • 🟥 cpu_user_time [+23.086ms; +29.472ms] or [+9.370%; +11.962%]
  • 🟥 execution_time [+26.635ms; +29.794ms] or [+8.407%; +9.404%]

scenario:spans-finish-immediately-18

  • 🟥 instructions [+120.6M instructions; +126.2M instructions] or [+5.532%; +5.788%]

scenario:spans-finish-immediately-20

  • 🟥 cpu_user_time [+26.142ms; +32.401ms] or [+5.199%; +6.444%]
  • 🟥 execution_time [+28.101ms; +33.251ms] or [+5.179%; +6.128%]

scenario:startup-with-tracer-22

  • 🟥 cpu_user_time [+22.979ms; +32.077ms] or [+13.172%; +18.387%]
  • 🟥 execution_time [+25.650ms; +27.901ms] or [+10.630%; +11.563%]

@datadog-datadog-prod-us1
Copy link

datadog-datadog-prod-us1 bot commented Jun 5, 2025

Datadog Report

Branch report: v5.55.0-proposal
Commit report: a249616
Test service: dd-trace-js-integration-tests

✅ 0 Failed, 1070 Passed, 0 Skipped, 22m 7.2s Total Time

uurien and others added 14 commits June 6, 2025 16:14
* Add appsec.enabled origin gauge metric

* Fix tests

* Fix test

* Restore gauge metric to original

* Tiny improvements

* Clean

* Fix lint

* Add unit test in config.spec.js

* Send origin=unknown when origin is not supported by the metric

* Use Set instead of Array
* Activate prefer-object-spread eslint rule

* Activate prefer-object-has-own eslint rule

* Activate no-useless-assignment eslint rule

* Activate no-await-in-loop eslint rule

* Activate operator-assignment eslint rule

* Activate prefer-exponentiation-operator eslint rule

* Activate no-else-return eslint rule

* Activate no-implicit-coercion eslint rule

* Fix potential race condition

The assignment here could alter the id in a way that is conflicting
with another iteration.

* Activate unicorn/prefer-string-replace-all eslint rule

* Update comma-dongle eslint rule

The comma-dongle rule is deprecated and will be removed soon.
Instead, use the @stylistic/comma-dangle eslint rule.
This also allows comma dongles instead of prohibiting them.
That way diffs are potentially smaller in the future.

* Deactivate no-mixed-operators eslint rule

The rule often resulted in less readable code due to the added
brackets. The order of and and or should be well known and this is
therefore not needed.

* Multiple manuel small refactorings

These add JSDoc, improve readability, and simplify code.

* Revert "Activate no-await-in-loop eslint rule"

This reverts commit d3596bf.

* Reapply "Activate no-await-in-loop eslint rule"

This reverts commit e3f810b.

* Manuel edits for performance

* Optimistically undo priority sampler changes

* Test hotfix for changed behavior

This is not a proper test fix and should be changed again

* Optimistic reapply and perf regression fix

* Fixup

* Refactor DatadogSpan for readability and performance

This is a very small performance improvement by now having to
recreate a method and by directly adding a tag. It should also
make it easier to read the code overall.
It also becomes a tad safer by now iterating over the object using
in anymore.

* Activate unicorn/prefer-array-flat eslint rule

* Refactor some code for readability and/or performance

* Refactor telemetry handling for performance and simplicity

* Activate unicorn/prefer-spread eslint rule

* Revert "Refactor some code for readability and/or performance"

This reverts commit f94f269.

* Reapply "Refactor some code for readability and/or performance"

This reverts commit 26a7b9b.

* Revert "Refactor DatadogSpan for readability and performance"

This reverts commit d8aff68.

* Address comments

* Fixup comments and conflicts

* Fixup lint error

* Test

---------

Co-authored-by: Thomas Watson <thomas.watson@datadoghq.com>
Instead of sending the top 8 user frames in entry spans, this reduces
the limit to just one.
* Fix startuplog crashing by serializing bigint

Instead, handle bigint and symbols in the future.
Also make the bigint which caused it private and use a getter for
tests instead.

* Drive-by cleanup

* Improve tests and limit sampling rate

* Add regression test

* Fixup

* Address comments
* Initial central configuration inversion draft

* initial supported config file

* updating versions

* updating config-helper, replacing process.env in applyEnv, adding linter

* adding new linter for process.env

* updating supported configs

* removing aliases from supportedConfigurations and adding all configs

* removing process.env from config.js

* updating handling of aliases

* updating supported-configurations to only include DD_ env

* Migrate process.env to getConfiguration

* fixing ci tests

* updating config-helper

* Use proxy on process.env as temporary solution to setting envs

This is needed to set environment variables during runtime. We
likely have to think of alternatives.

* Log missing ones

* Add a few missing envs

* Add many more missing configurations

* Better process.env handling

* Minor config improvements and throw instead of log for missing

* Add many missing configurations to enable plugins

* Enable many more configurations and improve alias overrides

* Last missing hooks enabled configurations

* Finish rough implementation

* Simplify implementation and add first steps to move to alternative

* Use runtime implementation to be on the safe side

Using the proxy and the getter/setter pair was more complex and the
user could theoretically have written code that would have worked
around it. This also prevents the additional proxy overhead when
using process.env.

* Use json file and use stricter linters

This also addresses issues found with the stricter linter

* Remove unused import

* Add CI validation and missing configuration

* Check for missing configuration in getConfigurations()

* Add JSDoc and switch back to logging missing entries

* Add missing aws-sdk configurations

* Remove unused configurations and fix lint error

* Address comments and update CI job

* Fixup missing rewrites

* Stricter linter, add new envs, fixup rebase issues, more aliases

* Add missing new environment variables

* Add missing configuration

* Add two more missing new environment variables

* Simplify linter rule

* Fix gitlab script

* Deactivate gitlab ci for now

* Simplify version to single char by default

* Address comments and improve deprecation logging and alias detection

This adds more tests as well to fully test the functionality.

* Address additional comment

---------

Co-authored-by: Matthew Li <matthew.li@datadoghq.com>
* Remove Header Injection vulnerability detection

* Remove header sensitive analyzer

* Remove set-header-fn helper
@dd-trace-js dd-trace-js bot force-pushed the v5.55.0-proposal branch from e4feb70 to 2414f40 Compare June 6, 2025 16:14
@sabrenner sabrenner marked this pull request as ready for review June 6, 2025 16:52
@sabrenner sabrenner requested review from a team as code owners June 6, 2025 16:52
@sabrenner sabrenner requested a review from anmarchenko June 6, 2025 16:52
@sabrenner sabrenner merged commit 5d674b3 into v5.x Jun 6, 2025
543 of 544 checks passed
@sabrenner sabrenner deleted the v5.55.0-proposal branch June 6, 2025 16:55
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.

10 participants