Skip to content

v5.52.0 proposal #5684

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 35 commits into from
May 13, 2025
Merged

v5.52.0 proposal #5684

merged 35 commits into from
May 13, 2025

Conversation

dd-trace-js[bot]
Copy link

@dd-trace-js dd-trace-js bot commented May 8, 2025

  • [fcf95b27a8] - (SEMVER-PATCH) simpler adding --no-async-context-frame (Bryan English) #5717
  • [87fcd71d12] - (SEMVER-PATCH) fix child_process test on node 24 (Bryan English) #5722
  • [7806a574ff] - (SEMVER-PATCH) Add minimal fast path for esm being enabled (Ruben Bridgewater) #5601
  • [5153ea6466] - (SEMVER-MINOR) Add new baggage APIs which act on currently active baggage (Ida Liu) #5365
  • [fd0750c1b5] - (SEMVER-PATCH) Pin shared pipeline (TonyCTHsu) #5713
  • [f3cb875333] - (SEMVER-MINOR) Node.js 24 support (Bryan English) #5678
  • [af5717ecc2] - (SEMVER-PATCH) Fix OOM tests flakiness (Nicolas Savoire) #5590
  • [f4ee8443bf] - (SEMVER-PATCH) use no async context frame option for now (Bryan English) #5706
  • [9702e5bb23] - (SEMVER-MINOR) Bump taint tracking package (Carles Capell) #5701
  • [8ca6920ff2] - (SEMVER-PATCH) Skip app-dir app in nextjs 13.2 test in node 24 (Skip app-dir app in nextjs 13.2 test in node 24 #5691) (Ugaitz Urien) #5699
  • [ed02dd9d75] - (SEMVER-PATCH) [DI] Add debug logs when starting/stopping the CDP session (Thomas Watson) #5694
  • [6e4b4641b8] - (SEMVER-MINOR) [test-optimization] [SDTEST-1983] Add commit sha to request of Test Management (Mario Vidal Domínguez) #5688
  • [2c5fb90f5c] - (SEMVER-PATCH) [DI] Slight improvement to script-matching algorithm (Thomas Watson) #5695
  • [5e899cb114] - (SEMVER-PATCH) re-enable release proposal dont-land-on checks (Roch Devost) #5665
  • [3e3d7d6ded] - (SEMVER-MINOR) Update pprof-nodejs to 5.8.0 (Nicolas Savoire) #5693
  • [f13861a1f3] - (SEMVER-MINOR) tracing: add support for @confluentinc/kafka-javascript (William Conti) #5489
  • [d6df5c1606] - (SEMVER-PATCH) manual keep trace on asm standalone and api security (Ilyas Shabi) #5649
  • [f3cf426fd1] - (SEMVER-PATCH) [DI] Fix tests in Node.js 24 (Thomas Watson) #5689
  • [052bdaae4a] - (SEMVER-PATCH) Fix Node 24 warning for invoking fs.existsSync with invalid argument type (Attila Szegedi) #5687
  • [8d6b823ffe] - (SEMVER-PATCH) fix: Support for inode when /proc/self/cgroup is a multiline string (Ruben Bridgewater) #5683
  • [edde8b566b] - (SEMVER-PATCH) remove async resource usage from dns/fs/net integrations (Roch Devost) #5673
  • [56b04d0140] - (SEMVER-PATCH) Add a fake agent for code hotspots and timeline tests too. (Attila Szegedi) #5667
  • [c2f57b8ce0] - (SEMVER-PATCH) fix(vitest): fix coverage not being reported when value is zero (Ruben Bridgewater) #5681
  • [3e85c09fb4] - (SEMVER-PATCH) fix rasp ssrf flaky test (Ilyas Shabi) #5659
  • [f2b167d343] - (SEMVER-MINOR) tracing: add support for pg cursors / streams (William Conti) #5680
  • [daf4277f3e] - (SEMVER-PATCH) fix(llmobs): llmobs data can be sent to agent proxy running on uds (Sam Brenner) #5679
  • [4031dd25ea] - (SEMVER-PATCH) Remove unused dev dependencies (Ilyas Shabi) #5668
  • [c8a06cd9b9] - (SEMVER-PATCH) Improve log safety (Ruben Bridgewater) #5631
  • [c0d30aeafe] - (SEMVER-MINOR) Upgrade attempt_to_fix to v3 (Mario Vidal Domínguez) #5670
  • [f9b709b11b] - (SEMVER-PATCH) Revert "node action default version" (Roch Devost) #5675
  • [9721d0895f] - (SEMVER-PATCH) switch to default github token for ci visibility benchmark (Roch Devost) #5639
  • [b1727dd9bf] - (SEMVER-PATCH) [Code Origin for Spans] Allow code origin to be disabled (Thomas Watson) #5635
  • [54c86664a9] - (SEMVER-PATCH) use a fixed version for latest in node action (Roch Devost) #5671
  • [108c0b4fba] - (SEMVER-PATCH) fix release proposal not closing patch pr on minor (Roch Devost) #5663

rochdev and others added 11 commits May 8, 2025 05:07
Due to a bug in how the tracer configuration was parsed, older versions of the
tracer would always have Code Origin for entry spans enabled, no matter if it
was disabled in config (which it was supposed to be by default). This bug only
applied to Code Origin for entry spans on Fastify, whereas Code Origin for exit
spans correctly adhered to the config.

This bug has been precent in the tracer since Code Origin for Spans was added
in v5.24.0 on October 17th 2024 and there has not been any reports of issues
related to this. Based on that, Code Origin for Spans will now be enabled by
default. The main functional difference with this commit, is that the feature
can now actually be turned off using the config.

Code Origin for exit spans are still experimental:

Since Code Origin for exit spans was never affected by this bug, we have
decided to leave this feature as opt-in, which means it's going to be off by
default. A new experimental config option has been introduced to allow users to
enable/disable Code Origin for exit spans independently, either via an
environment variable:

    DD_CODE_ORIGIN_FOR_SPANS_EXPERIMENTAL_EXIT_SPANS_ENABLED=true

Or via inline config:

    tracer.init({
      codeOriginForSpans: {
        experimental: {
          exit_spans: { enabled: true }
        }
      }
    })
The logger instrumentation is using a proxy. Calling Reflect.get
with a receiver might actually cause issues at times. Instead, just
access the target directly. That is easier and safer in this
situation.
On top, remove the special handling for Symbol.toStringTag. That
was added for the testing library and should not have been there
in the first place.
As a drive-by fix, it also improves the performance a very tiny bit.
* remove dotenv package

* remove other unused packages

* remove mkdirp
…5679)

* pass path separately for request options

* remove comment
* add support for pg cursors / streams
@dd-trace-js dd-trace-js bot mentioned this pull request May 8, 2025
Copy link

github-actions bot commented May 8, 2025

Overall package size

Self size: 9.36 MB
Deduped: 103.39 MB
No deduping: 103.91 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/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.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 May 8, 2025

Codecov Report

Attention: Patch coverage is 60.50000% with 79 lines in your changes missing coverage. Please review.

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

Files with missing lines Patch % Lines
packages/datadog-instrumentations/src/net.js 10.00% 18 Missing ⚠️
packages/datadog-instrumentations/src/dns.js 7.14% 13 Missing ⚠️
...ace/src/profiling/profilers/event_plugins/event.js 11.11% 8 Missing ⚠️
packages/datadog-instrumentations/src/fs.js 81.81% 6 Missing ⚠️
packages/datadog-plugin-kafkajs/src/utils.js 61.53% 5 Missing ⚠️
packages/dd-trace/src/plugins/log_plugin.js 42.85% 4 Missing ⚠️
...d-trace/src/service-naming/schemas/v0/messaging.js 0.00% 4 Missing ⚠️
...ckages/datadog-instrumentations/src/mocha/utils.js 0.00% 3 Missing ⚠️
packages/datadog-instrumentations/src/cucumber.js 0.00% 2 Missing ⚠️
packages/datadog-plugin-cucumber/src/index.js 0.00% 2 Missing ⚠️
... and 11 more
Additional details and impacted files
@@           Coverage Diff           @@
##             v5.x    #5684   +/-   ##
=======================================
  Coverage        ?   78.96%           
=======================================
  Files           ?      514           
  Lines           ?    23455           
  Branches        ?        0           
=======================================
  Hits            ?    18522           
  Misses          ?     4933           
  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 May 8, 2025

Datadog Report

Branch report: v5.52.0-proposal
Commit report: 015553f
Test service: dd-trace-js-integration-tests

✅ 0 Failed, 506 Passed, 0 Skipped, 10m 3.79s Total Time

@pr-commenter
Copy link

pr-commenter bot commented May 8, 2025

Benchmarks

Benchmark execution time: 2025-05-13 18:54:35

Comparing candidate commit a6a492c in PR branch v5.52.0-proposal with baseline commit d72d605 in branch v5.x.

Found 17 performance improvements and 0 performance regressions! Performance is the same for 1252 metrics, 54 unstable metrics.

scenario:appsec-iast-startup-time-iast-enabled-22

  • 🟩 cpu_user_time [-132.190ms; -108.529ms] or [-7.867%; -6.459%]
  • 🟩 execution_time [-141.587ms; -119.919ms] or [-7.172%; -6.075%]

scenario:appsec-iast-with-vulnerability-iast-enabled-always-active-20

  • 🟩 max_rss_usage [-13.942MB; -8.894MB] or [-10.553%; -6.732%]

scenario:plugin-dns-with-tracer-18

  • 🟩 cpu_user_time [-57.866ms; -33.500ms] or [-10.093%; -5.843%]

scenario:plugin-dns-with-tracer-20

  • 🟩 cpu_user_time [-103.571ms; -82.023ms] or [-17.756%; -14.062%]
  • 🟩 instructions [-182.0M instructions; -173.6M instructions] or [-15.904%; -15.169%]
  • 🟩 max_rss_usage [-9.349MB; -9.042MB] or [-11.756%; -11.370%]

scenario:plugin-dns-with-tracer-22

  • 🟩 cpu_user_time [-102.414ms; -77.492ms] or [-19.584%; -14.819%]
  • 🟩 instructions [-189.6M instructions; -180.8M instructions] or [-15.075%; -14.377%]
  • 🟩 max_rss_usage [-11.653MB; -11.384MB] or [-13.568%; -13.254%]

scenario:runtime-metrics-with-runtime-metrics-20

  • 🟩 cpu_user_time [-64.533ms; -45.900ms] or [-13.744%; -9.775%]
  • 🟩 instructions [-138.6M instructions; -125.8M instructions] or [-13.034%; -11.831%]
  • 🟩 max_rss_usage [-7.722MB; -6.621MB] or [-9.922%; -8.508%]

scenario:runtime-metrics-with-runtime-metrics-22

  • 🟩 cpu_usage_percentage [-6.735%; -5.063%]
  • 🟩 cpu_user_time [-84.244ms; -52.460ms] or [-19.231%; -11.975%]
  • 🟩 instructions [-164.9M instructions; -155.1M instructions] or [-13.639%; -12.822%]
  • 🟩 max_rss_usage [-12.740MB; -12.229MB] or [-14.571%; -13.987%]

BridgeAR and others added 4 commits May 8, 2025 16:59
* fix(vitest): fix coverage not being reported when value is zero

* Add zero coverage test case

As drive-by improve the test to use async/await.

---------

Co-authored-by: Giamir Buoncristiani <giamir.buoncristiani@gmail.com>
Otherwise remote config's futile attempts to connect to agent time out tests.
* remove async resource usage from net integration

* remove async resource usage from dns integration

* code cleanup

* fix fs and profiling
…5683)

* Refactor docker code for simplicity

---------

Co-authored-by: Andre Caron <andre.l.caron@gmail.com>
@dd-trace-js dd-trace-js bot force-pushed the v5.52.0-proposal branch from 0389d60 to 3be9b88 Compare May 8, 2025 16:59
@BridgeAR
Copy link
Collaborator

BridgeAR commented May 8, 2025

I fear the aws-sdk changes might be a regression. It does show up more frequently for v18 with the latest fixes for v24.

@dd-trace-js dd-trace-js bot force-pushed the v5.52.0-proposal branch from 3be9b88 to 118b696 Compare May 10, 2025 05:06
@dd-trace-js dd-trace-js bot force-pushed the v5.52.0-proposal branch from 118b696 to c2cad35 Compare May 12, 2025 05:06
watson and others added 6 commits May 13, 2025 05:06
Before the first probe is added, the Chrome DevTools Protocol (CDP)
sesion is started and after the last probe has been deleted/deactivated,
the CDP session is stopped.

When these events happen, log a debug message.
* Skip app-dir app in nextjs 13.2 test in node 24

* Ignore >=11.0.0 <13 in node 24.0.0

* Update packages/dd-trace/test/appsec/index.next.plugin.spec.js



---------

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>
@dd-trace-js dd-trace-js bot force-pushed the v5.52.0-proposal branch from c2cad35 to 548323a Compare May 13, 2025 05:06
@datadog-datadog-prod-us1
Copy link

Datadog Summary

✅ Code Quality    ✅ Code Security    ✅ Dependencies

Test Optimization Report

Branch report: v5.52.0-proposal
Commit report: 548323a
Test service: dd-trace-js-integration-tests

✅ 0 Failed, 561 Passed, 0 Skipped, 1m 49.17s Total Time


Was this helpful? Give us feedback!

nsavoire and others added 8 commits May 13, 2025 18:42
- Use `tracer.profilerStarted()` to ensure the profiler is started before running the test
- Add retries for export tests that use unreliable strategies that are not used by default and are not guaranteed to succeed (async)
* Revert "use a fixed version for latest in node action (#5671)"

This reverts commit 54c8666.

* Update .github/actions/node/action.yml

* don't use AsyncContextFrame in aws-sdk tests for now

---------

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>
* Pin shared pipeline

* Comment with URL
* new baggage api

* added unit tests

* add TS documentation

* inject and extract using storage when propagating baggage without spans
The main change is to check for the top level presence of import-
in-the-middle. That way there is no need for extra checks.
Use the OPTIONS_OVERRIDE flag to avoid messing with exec.
@dd-trace-js dd-trace-js bot force-pushed the v5.52.0-proposal branch from 548323a to a6a492c Compare May 13, 2025 18:42
@bengl bengl marked this pull request as ready for review May 13, 2025 18:44
@bengl bengl requested review from a team as code owners May 13, 2025 18:44
@bengl bengl requested a review from anmarchenko May 13, 2025 18:44
@bengl bengl merged commit 73fbc3d into v5.x May 13, 2025
623 of 626 checks passed
@bengl bengl deleted the v5.52.0-proposal branch May 13, 2025 19:25
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.