Skip to content
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

add support for global fetch #3258

Merged
merged 4 commits into from
Jun 21, 2023
Merged

add support for global fetch #3258

merged 4 commits into from
Jun 21, 2023

Conversation

rochdev
Copy link
Member

@rochdev rochdev commented Jun 20, 2023

What does this PR do?

Add support for global fetch.

Motivation

The fetch global was enabled by default in Node 18 and has been increasing in popularity.

Plugin Checklist

Additional Notes

I tried adding support for node-fetch, but it uses ESM which makes it a lot more annoying to instrument so I kept this just for global fetch for now.

@github-actions
Copy link

github-actions bot commented Jun 20, 2023

Overall package size

Self size: 4.39 MB
Deduped: 60.74 MB
No deduping: 60.79 MB

Dependency sizes

name version self size total size
@datadog/pprof 2.2.1 14.24 MB 15.12 MB
@datadog/native-iast-taint-tracking 1.5.0 14.86 MB 14.86 MB
@datadog/native-appsec 3.2.0 13.38 MB 13.39 MB
protobufjs 7.1.2 2.76 MB 6.55 MB
@datadog/native-iast-rewriter 2.0.1 2.09 MB 2.1 MB
@opentelemetry/core 1.3.1 784.66 kB 1.37 MB
@datadog/native-metrics 2.0.0 898.77 kB 1.3 MB
@opentelemetry/api 1.4.1 780.32 kB 780.32 kB
opentracing 0.14.7 194.81 kB 194.81 kB
semver 7.3.8 88.2 kB 118.6 kB
@datadog/sketches-js 2.1.0 109.9 kB 109.9 kB
lodash.sortby 4.7.0 75.76 kB 75.76 kB
lru-cache 7.14.0 74.95 kB 74.95 kB
ipaddr.js 2.0.1 59.52 kB 59.52 kB
ignore 5.2.0 48.87 kB 48.87 kB
import-in-the-middle 1.3.5 34.34 kB 38.81 kB
istanbul-lib-coverage 3.2.0 29.34 kB 29.34 kB
retry 0.10.1 27.44 kB 27.44 kB
lodash.uniq 4.5.0 25.01 kB 25.01 kB
limiter 1.1.5 23.17 kB 23.17 kB
lodash.kebabcase 4.1.1 17.75 kB 17.75 kB
lodash.pick 4.4.0 16.33 kB 16.33 kB
node-abort-controller 3.0.1 14.33 kB 14.33 kB
crypto-randomuuid 1.0.0 11.18 kB 11.18 kB
diagnostics_channel 1.1.0 7.07 kB 7.07 kB
path-to-regexp 0.1.7 6.78 kB 6.78 kB
koalas 1.0.2 6.47 kB 6.47 kB
methods 1.1.2 5.29 kB 5.29 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

codecov bot commented Jun 20, 2023

Codecov Report

Merging #3258 (e547537) into master (ae09226) will increase coverage by 0.12%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #3258      +/-   ##
==========================================
+ Coverage   85.97%   86.10%   +0.12%     
==========================================
  Files         194      194              
  Lines        7510     7518       +8     
  Branches       33       33              
==========================================
+ Hits         6457     6473      +16     
+ Misses       1053     1045       -8     
Impacted Files Coverage Δ
packages/dd-trace/src/plugin_manager.js 98.46% <100.00%> (+0.02%) ⬆️

... and 7 files with indirect coverage changes

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@pr-commenter
Copy link

pr-commenter bot commented Jun 20, 2023

Benchmarks

Comparing candidate commit e547537 in PR branch fetch-instrumentation with baseline commit ae09226 in branch master.

Found 2 performance improvements and 21 performance regressions! Performance is the same for 420 metrics, 29 unstable metrics.

scenario:log-without-log-18

  • 🟥 cpu_user_time [+14.908ms; +21.667ms] or [+8.980%; +13.050%]
  • 🟥 execution_time [+18.145ms; +20.015ms] or [+9.298%; +10.256%]
  • 🟥 instructions [+47; +48] or [+9.839%; +9.941%]

scenario:log-with-debug-18

  • 🟥 cpu_user_time [+14.077ms; +21.723ms] or [+8.356%; +12.894%]
  • 🟥 execution_time [+17.991ms; +18.745ms] or [+9.188%; +9.573%]
  • 🟥 instructions [+47; +48] or [+9.584%; +9.678%]

scenario:log-skip-log-18

  • 🟥 cpu_user_time [+12.586ms; +19.815ms] or [+7.409%; +11.665%]
  • 🟥 execution_time [+18.753ms; +22.634ms] or [+9.542%; +11.517%]
  • 🟥 instructions [+47; +48] or [+9.562%; +9.760%]

scenario:log-with-error-18

  • 🟥 cpu_user_time [+12.114ms; +21.266ms] or [+7.257%; +12.739%]
  • 🟥 execution_time [+17.752ms; +19.437ms] or [+9.024%; +9.880%]
  • 🟥 instructions [+47; +48] or [+9.513%; +9.621%]

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

  • 🟩 max_rss_usage [-0.173MB; -0.134MB] or [-17.320%; -13.368%]

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

  • 🟩 max_rss_usage [-0.211MB; -0.125MB] or [-20.971%; -12.365%]

scenario:plugin-bluebird-with-tracer-18

  • 🟥 execution_time [+16.411ms; +17.798ms] or [+5.436%; +5.895%]
  • 🟥 instructions [+42; +43] or [+5.984%; +6.143%]

scenario:net-with-tracer-18

  • 🟥 cpu_user_time [+16.109ms; +23.085ms] or [+5.906%; +8.465%]
  • 🟥 instructions [+39; +39] or [+5.517%; +5.569%]

scenario:startup-with-tracer-18

  • 🟥 cpu_user_time [+18.868ms; +26.274ms] or [+12.239%; +17.042%]
  • 🟥 execution_time [+17.894ms; +18.423ms] or [+9.658%; +9.944%]
  • 🟥 instructions [+47; +47] or [+10.841%; +10.933%]

scenario:spans-finish-immediately-18

  • 🟥 cpu_user_time [+23.957ms; +28.517ms] or [+5.950%; +7.083%]
  • 🟥 execution_time [+29.278ms; +30.736ms] or [+6.765%; +7.102%]

@rochdev rochdev marked this pull request as ready for review June 20, 2023 01:47
@rochdev rochdev requested a review from a team as a code owner June 20, 2023 01:47
@rochdev rochdev merged commit a9f0823 into master Jun 21, 2023
@rochdev rochdev deleted the fetch-instrumentation branch June 21, 2023 11:04
nsavoire pushed a commit that referenced this pull request Jun 21, 2023
nsavoire pushed a commit that referenced this pull request Jun 21, 2023
nsavoire pushed a commit that referenced this pull request Jun 21, 2023
nsavoire pushed a commit that referenced this pull request Jun 21, 2023
nsavoire pushed a commit that referenced this pull request Jun 22, 2023
This was referenced Jun 22, 2023
nsavoire pushed a commit that referenced this pull request Jun 22, 2023
nsavoire pushed a commit that referenced this pull request Jun 22, 2023
tlhunter pushed a commit that referenced this pull request Jun 23, 2023
tlhunter pushed a commit that referenced this pull request Jun 23, 2023
tlhunter pushed a commit that referenced this pull request Jun 23, 2023
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.

3 participants