dd-trace-js icon indicating copy to clipboard operation
dd-trace-js copied to clipboard

add disabled by default integration concept

Open wconti27 opened this issue 7 months ago • 6 comments

What does this PR do?

Adds ability to disable an integration by default. To be used by integrations team to disable newly added integrations until considered stable.

Motivation

Plugin Checklist

Additional Notes

wconti27 avatar Apr 24 '25 17:04 wconti27

Overall package size

Self size: 9.75 MB Deduped: 106.26 MB No deduping: 106.78 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.7.0 | 35.02 MB | 35.02 MB | | @datadog/native-appsec | 8.5.2 | 19.33 MB | 19.34 MB | | @datadog/native-iast-taint-tracking | 4.0.0 | 11.72 MB | 11.73 MB | | @datadog/pprof | 5.8.2 | 9.56 MB | 9.93 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

github-actions[bot] avatar Apr 24 '25 17:04 github-actions[bot]

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 79.60%. Comparing base (8cdf312) to head (779ac23). Report is 3 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #5609      +/-   ##
==========================================
- Coverage   80.79%   79.60%   -1.19%     
==========================================
  Files         467      477      +10     
  Lines       20017    20385     +368     
==========================================
+ Hits        16172    16227      +55     
- Misses       3845     4158     +313     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

:rocket: New features to boost your workflow:
  • :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

codecov[bot] avatar Apr 24 '25 17:04 codecov[bot]

Datadog Report

Branch report: conti/disable-integrations-by-default Commit report: a292411 Test service: dd-trace-js-integration-tests

:white_check_mark: 0 Failed, 1255 Passed, 0 Skipped, 17m 41.63s Total Time

Can you add a test to this? Might be as easy as using sinon / proxyquire and injecting an entry into the list. That or you could combine this PR with the kafka PR and test this functionality with the kafka integration.

tlhunter avatar May 08 '25 16:05 tlhunter

Benchmarks

Benchmark execution time: 2025-06-24 14:51:53

Comparing candidate commit 779ac235f2f3a996f8a6c62ce3c9b140f6781244 in PR branch conti/disable-integrations-by-default with baseline commit 8cdf312cc82f1006ef79c3d3fee39bffa74b71bb in branch master.

Found 0 performance improvements and 1 performance regressions! Performance is the same for 1274 metrics, 48 unstable metrics.

scenario:plugin-bluebird-control-22

  • 🟥 cpu_user_time [+5.829ms; +9.640ms] or [+5.130%; +8.483%]

pr-commenter[bot] avatar Jun 03 '25 21:06 pr-commenter[bot]

@rochdev @tlhunter I updated the PR with Roch's suggestions. Also added a test set.

wconti27 avatar Jun 04 '25 16:06 wconti27