Skip to content

Conversation

rochdev
Copy link
Member

@rochdev rochdev commented Jun 27, 2025

What does this PR do?

Add experimental flag on plugins to disable them by default.

Motivation

Right now only disabling the instrumentation is possible by default. However, this is problematic because users interact with plugins, not instrumentation, so they would only know the name for the plugins. Also, instrumentations do more than just back a single plugin, so when the goal is to disable just tracing for a library for example, it shouldn't also disable any other existing features already built on top of the same instrumentation. Doing this at the plugin level instead solves these issues and provides a better and more granular user experience that focuses only on the functionality.

Copy link

github-actions bot commented Jun 27, 2025

Overall package size

Self size: 11.14 MB
Deduped: 110.79 MB
No deduping: 111.18 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.7.0 | 35.02 MB | 35.02 MB | | @datadog/native-appsec | 10.1.0 | 20.37 MB | 20.37 MB | | @datadog/native-iast-taint-tracking | 4.0.0 | 11.72 MB | 11.73 MB | | @datadog/pprof | 5.9.0 | 9.77 MB | 10.14 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 | | jsonpath-plus | 10.3.0 | 617.18 kB | 1.08 MB | | import-in-the-middle | 1.14.2 | 122.36 kB | 850.93 kB | | lru-cache | 10.4.3 | 804.3 kB | 804.3 kB | | source-map | 0.7.4 | 226 kB | 226 kB | | opentracing | 0.14.7 | 194.81 kB | 194.81 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 | 7.0.5 | 63.38 kB | 63.38 kB | | istanbul-lib-coverage | 3.2.2 | 34.37 kB | 34.37 kB | | rfdc | 1.4.1 | 27.15 kB | 27.15 kB | | dc-polyfill | 0.1.10 | 26.73 kB | 26.73 kB | | @isaacs/ttlcache | 1.4.1 | 25.2 kB | 25.2 kB | | tlhunter-sorted-set | 0.1.0 | 24.94 kB | 24.94 kB | | shell-quote | 1.8.3 | 23.74 kB | 23.74 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 27, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.26%. Comparing base (782a8e1) to head (3253bfc).
⚠️ Report is 84 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #5985      +/-   ##
==========================================
+ Coverage   82.81%   83.26%   +0.45%     
==========================================
  Files         476      478       +2     
  Lines       19658    19787     +129     
==========================================
+ Hits        16280    16476     +196     
+ Misses       3378     3311      -67     

☔ 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 27, 2025

Benchmarks

Benchmark execution time: 2025-08-06 19:05:20

Comparing candidate commit 3253bfc in PR branch experimental-plugins with baseline commit 782a8e1 in branch master.

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

@datadog-datadog-prod-us1
Copy link

Datadog Report

Branch report: experimental-plugins
Commit report: 2f65b19
Test service: dd-trace-js-integration-tests

✅ 0 Failed, 1257 Passed, 0 Skipped, 19m 13.67s Total Time

@rochdev rochdev force-pushed the experimental-plugins branch from 2e3f1b8 to 712addc Compare July 21, 2025 21:42
@rochdev rochdev marked this pull request as ready for review July 21, 2025 21:56
@rochdev rochdev requested review from a team as code owners July 21, 2025 21:56
@datadog-datadog-prod-us1
Copy link

datadog-datadog-prod-us1 bot commented Jul 23, 2025

✅ Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 3253bfc | Docs | Was this helpful? Give us feedback!

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.

Maybe it's just me, but I find the PR description a little confusing, so I'm not sure exactly what it's supposed to do in details. E.g. as I wrote in one of my comments below, it seems like this PR is also deprecating a disabled property, though I'm not sure.

Co-authored-by: Thomas Watson <thomas.watson@datadoghq.com>
Copy link
Collaborator

@BridgeAR BridgeAR left a comment

Choose a reason for hiding this comment

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

LGTM with the comment addressed. We should follow-up with another PR to move the mentioned functionality somewhere else afterwards.

Copy link
Collaborator

@BridgeAR BridgeAR left a comment

Choose a reason for hiding this comment

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

LGTM

Nice that the state is now coherent again :)

@rochdev rochdev merged commit 06e11bf into master Aug 8, 2025
686 checks passed
@rochdev rochdev deleted the experimental-plugins branch August 8, 2025 13:06
dd-octo-sts bot pushed a commit that referenced this pull request Aug 9, 2025
* add experimental flag on plugins to disable them by default

* fix support for environment variable

* change ordering to prioritize programmatic config

* remove experimental flag from prisma plugin

* remove old implementation

* Update packages/datadog-instrumentations/src/helpers/register.js

Co-authored-by: Thomas Watson <thomas.watson@datadoghq.com>

* remove remaining plugin to instrumentation mapping code

---------

Co-authored-by: Thomas Watson <thomas.watson@datadoghq.com>
@dd-octo-sts dd-octo-sts bot mentioned this pull request Aug 9, 2025
szegedi pushed a commit that referenced this pull request Aug 18, 2025
* add experimental flag on plugins to disable them by default

* fix support for environment variable

* change ordering to prioritize programmatic config

* remove experimental flag from prisma plugin

* remove old implementation

* Update packages/datadog-instrumentations/src/helpers/register.js

Co-authored-by: Thomas Watson <thomas.watson@datadoghq.com>

* remove remaining plugin to instrumentation mapping code

---------

Co-authored-by: Thomas Watson <thomas.watson@datadoghq.com>
tlhunter pushed a commit that referenced this pull request Aug 22, 2025
* add experimental flag on plugins to disable them by default

* fix support for environment variable

* change ordering to prioritize programmatic config

* remove experimental flag from prisma plugin

* remove old implementation

* Update packages/datadog-instrumentations/src/helpers/register.js

Co-authored-by: Thomas Watson <thomas.watson@datadoghq.com>

* remove remaining plugin to instrumentation mapping code

---------

Co-authored-by: Thomas Watson <thomas.watson@datadoghq.com>
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