Skip to content

Remove code targeting unsupported Node.js versions #5672

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

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

BridgeAR
Copy link
Collaborator

@BridgeAR BridgeAR commented May 6, 2025

No description provided.

Copy link

github-actions bot commented May 6, 2025

Overall package size

Self size: 9.27 MB
Deduped: 102.52 MB
No deduping: 103.04 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 May 6, 2025

Codecov Report

Attention: Patch coverage is 75.00000% with 2 lines in your changes missing coverage. Please review.

Project coverage is 79.12%. Comparing base (54c8666) to head (e56d49f).
Report is 10 commits behind head on master.

Files with missing lines Patch % Lines
...ages/dd-trace/src/service-naming/schemas/v0/web.js 0.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #5672      +/-   ##
==========================================
- Coverage   79.12%   79.12%   -0.01%     
==========================================
  Files         513      512       -1     
  Lines       23497    23392     -105     
==========================================
- Hits        18593    18509      -84     
+ Misses       4904     4883      -21     

☔ 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 May 6, 2025

Benchmarks

Benchmark execution time: 2025-05-07 00:25:45

Comparing candidate commit e56d49f in PR branch BridgeAR/remove-outdated-node-version-checks with baseline commit 54c8666 in branch master.

Found 24 performance improvements and 5 performance regressions! Performance is the same for 1241 metrics, 53 unstable metrics.

scenario:log-skip-log-22

  • 🟥 cpu_user_time [+13.576ms; +19.798ms] or [+5.004%; +7.298%]

scenario:log-with-debug-22

  • 🟥 cpu_user_time [+13.759ms; +19.021ms] or [+5.059%; +6.994%]

scenario:log-without-log-22

  • 🟥 cpu_user_time [+13.089ms; +18.536ms] or [+5.262%; +7.451%]

scenario:plugin-graphql-control-18

  • 🟩 cpu_user_time [-34.653ms; -28.717ms] or [-11.680%; -9.679%]
  • 🟩 execution_time [-35.455ms; -32.781ms] or [-10.221%; -9.450%]

scenario:plugin-graphql-control-20

  • 🟩 cpu_user_time [-29.609ms; -21.230ms] or [-9.808%; -7.033%]
  • 🟩 execution_time [-30.640ms; -24.685ms] or [-8.800%; -7.090%]
  • 🟩 instructions [-54.2M instructions; -37.8M instructions] or [-8.104%; -5.653%]

scenario:plugin-graphql-control-22

  • 🟩 cpu_user_time [-25.663ms; -19.344ms] or [-9.299%; -7.009%]
  • 🟩 execution_time [-27.102ms; -23.470ms] or [-8.109%; -7.022%]
  • 🟩 instructions [-56.7M instructions; -43.4M instructions] or [-8.103%; -6.204%]

scenario:plugin-graphql-with-async-hooks-18

  • 🟩 cpu_user_time [-31.050ms; -22.391ms] or [-8.384%; -6.046%]
  • 🟩 execution_time [-33.964ms; -26.605ms] or [-7.950%; -6.228%]
  • 🟩 instructions [-58.0M instructions; -44.6M instructions] or [-6.712%; -5.158%]

scenario:plugin-graphql-with-async-hooks-20

  • 🟩 execution_time [-31.228ms; -21.114ms] or [-7.396%; -5.000%]
  • 🟩 instructions [-63.7M instructions; -47.4M instructions] or [-7.987%; -5.946%]

scenario:plugin-graphql-with-async-hooks-22

  • 🟩 execution_time [-25.858ms; -22.480ms] or [-6.542%; -5.688%]
  • 🟩 instructions [-56.9M instructions; -44.0M instructions] or [-7.043%; -5.443%]

scenario:plugin-graphql-with-depth-and-collapse-off-18

  • 🟩 max_rss_usage [-12.010MB; -10.222MB] or [-7.379%; -6.280%]

scenario:plugin-graphql-with-depth-and-collapse-on-18

  • 🟩 cpu_user_time [-76.084ms; -58.945ms] or [-6.790%; -5.261%]
  • 🟩 execution_time [-86.849ms; -68.970ms] or [-7.010%; -5.567%]

scenario:plugin-graphql-with-depth-off-18

  • 🟩 cpu_user_time [-100.355ms; -84.459ms] or [-8.761%; -7.373%]
  • 🟩 execution_time [-103.954ms; -88.454ms] or [-8.262%; -7.030%]

scenario:plugin-graphql-with-depth-on-max-18

  • 🟩 cpu_user_time [-78.331ms; -60.578ms] or [-6.990%; -5.406%]
  • 🟩 execution_time [-85.181ms; -68.181ms] or [-6.883%; -5.509%]

scenario:startup-with-tracer-20

  • 🟩 cpu_user_time [-23.177ms; -15.484ms] or [-11.373%; -7.598%]
  • 🟩 execution_time [-20.503ms; -16.221ms] or [-8.501%; -6.726%]

scenario:startup-with-tracer-22

  • 🟥 cpu_user_time [+14.154ms; +20.956ms] or [+7.967%; +11.796%]
  • 🟥 execution_time [+14.531ms; +17.229ms] or [+5.999%; +7.112%]

@BridgeAR BridgeAR force-pushed the BridgeAR/remove-outdated-node-version-checks branch from 4d44ea3 to 2255e9a Compare May 6, 2025 18:18
@datadog-datadog-prod-us1
Copy link

datadog-datadog-prod-us1 bot commented May 6, 2025

Datadog Report

Branch report: BridgeAR/remove-outdated-node-version-checks
Commit report: 678792e
Test service: dd-trace-js-integration-tests

✅ 0 Failed, 1052 Passed, 0 Skipped, 18m 23.32s Total Time

@BridgeAR BridgeAR force-pushed the BridgeAR/remove-outdated-node-version-checks branch 2 times, most recently from 2db2d1d to dd98b54 Compare May 6, 2025 19:54
@BridgeAR BridgeAR force-pushed the BridgeAR/remove-outdated-node-version-checks branch from dd98b54 to ca9bfdb Compare May 6, 2025 21:31
@BridgeAR BridgeAR changed the base branch from master to juan-fernandez/cypress-breaking-changes May 7, 2025 00:15
@BridgeAR BridgeAR changed the base branch from juan-fernandez/cypress-breaking-changes to master May 7, 2025 00:15
@BridgeAR BridgeAR marked this pull request as ready for review May 7, 2025 14:48
@BridgeAR BridgeAR requested review from a team as code owners May 7, 2025 14:48
@BridgeAR BridgeAR requested a review from daniel-romano-DD May 7, 2025 14:48
@BridgeAR
Copy link
Collaborator Author

BridgeAR commented May 7, 2025

The last commit is actually a different PR that should land first. I just pulled it in, since we currently support very old cypress versions that make use of very old Node.js versions and that would otherwise break with the removals here.

The PR is meant to land in the next major (v6).

The benchmark improvements are actually false positives. The instrumentation time just got reduced due to not loading extra code during startup but this would not improve the runtime, nor the startup time in a real application.

Copy link
Collaborator

@watson watson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Primarily reviewed based on changes to the Debugger code which is 👍 Thanks!

I did also look over the other files as well to see if there were any obvious issues. However, I can't determine if the removed support in those files are what we want. I'll leave that up to the responsible teams

@watson
Copy link
Collaborator

watson commented May 8, 2025

Shouldn't the label be semver-major instead of semver-patch?

@BridgeAR
Copy link
Collaborator Author

BridgeAR commented May 8, 2025

@watson I guess yes, while this only removes special handling for Node.js versions up to 16 and that's our v4 range. We could therefore land this even on v5, in case I special handle the code that is needed for cypress (I am not even sure if older Node.js versions would work at all for these and we could likely also remove that support earlier).

@watson
Copy link
Collaborator

watson commented May 9, 2025

@BridgeAR If it has the label breaking-change it should be a major bump no? If it doesn't contain any breaking changes for 5.x it shouldn't have the breaking-change label either. But you're removing support for at least one instrumentation and reducing the supported version range of others, so to me it sounds like a breaking change and hence not something we can land in 5.x... have I misunderstood something?

Copy link
Contributor

@IlyasShabi IlyasShabi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@@ -82,9 +82,6 @@ tracer.use('pg', {
<h5 id="next"></h5>
<h5 id="opensearch"></h5>
<h5 id="oracledb"></h5>
<h5 id="paperplane"></h5>
<h5 id="paperplane-tags"></h5>
<h5 id="paperplane-config"></h5>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rochdev paperplane is being removed because the instrumentations were behind if-blocks checking that Node.js is of a version lower than what we support. Can you verify that those ranges were correct and that it makes sense to just drop it at this point?

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.

6 participants