[DI] Add namespace to all DI related config options#5077
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Overall package sizeSelf size: 8.44 MB Dependency sizes| name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.3.0 | 29.43 MB | 29.43 MB | | @datadog/native-appsec | 8.4.0 | 19.25 MB | 19.26 MB | | @datadog/native-iast-taint-tracking | 3.2.0 | 13.9 MB | 13.91 MB | | @datadog/pprof | 5.4.1 | 9.76 MB | 10.13 MB | | protobufjs | 7.2.5 | 2.77 MB | 5.16 MB | | @datadog/native-iast-rewriter | 2.6.1 | 2.59 MB | 2.73 MB | | @opentelemetry/core | 1.14.0 | 872.87 kB | 1.47 MB | | @datadog/native-metrics | 3.1.0 | 1.06 MB | 1.46 MB | | @opentelemetry/api | 1.8.0 | 1.21 MB | 1.21 MB | | import-in-the-middle | 1.11.2 | 112.74 kB | 826.22 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.0 | 109.9 kB | 109.9 kB | | semver | 7.6.3 | 95.82 kB | 95.82 kB | | lodash.sortby | 4.7.0 | 75.76 kB | 75.76 kB | | ignore | 5.3.1 | 51.46 kB | 51.46 kB | | shell-quote | 1.8.1 | 44.96 kB | 44.96 kB | | istanbul-lib-coverage | 3.2.0 | 29.34 kB | 29.34 kB | | rfdc | 1.3.1 | 25.21 kB | 25.21 kB | | @isaacs/ttlcache | 1.4.1 | 25.2 kB | 25.2 kB | | tlhunter-sorted-set | 0.1.0 | 24.94 kB | 24.94 kB | | limiter | 1.1.5 | 23.17 kB | 23.17 kB | | dc-polyfill | 0.1.4 | 23.1 kB | 23.1 kB | | retry | 0.13.1 | 18.85 kB | 18.85 kB | | jest-docblock | 29.7.0 | 8.99 kB | 12.76 kB | | crypto-randomuuid | 1.0.0 | 11.18 kB | 11.18 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 |
BenchmarksBenchmark execution time: 2025-01-09 15:43:52 Comparing candidate commit 62dfe22 in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 780 metrics, 18 unstable metrics. |
This affects all DI related config options, where the `experimental` namespace is removed and, and a `dynamicInstrumentation` namespace is introduced. Changes: - `experimental.dynamicInstrumentationEnabled` -> `dynamicInstrumentation.enabled` - `experimental.dynamicInstrumentationRedactedIdentifiers` -> `dynamicInstrumentation.redactedIdentifiers` - `experimental.dynamicInstrumentationRedactionExcludedIdentifiers` -> `dynamicInstrumentation.redactionExcludedIdentifiers`
f8c0232 to
a321a49
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #5077 +/- ##
==========================================
- Coverage 88.97% 82.15% -6.83%
==========================================
Files 11 5 -6
Lines 635 325 -310
==========================================
- Hits 565 267 -298
+ Misses 70 58 -12 ☔ View full report in Codecov by Sentry. |
|
I know the tests validating the config options for use with telemetry are failing, but I want this PR approved before I merge the PR in |
|
I would suggest to keep the experimental option to be retrocompatible, and have the non experimental have priority (there is even a test for this in config.spec.js), just like we did for AppSec back in the days |
|
@simon-id this feature has never been used by anybody as it's behind a feature flag that we haven't enabled for anyone, so it's safe to rename these config options for now until we start dogfooding and opening up for limited public preview |
|
system test failure is the config telemetry field mismatch |
This affects all DI related config options, where the `experimental` namespace is removed and, and a `dynamicInstrumentation` namespace is introduced. Changes: - `experimental.dynamicInstrumentationEnabled` -> `dynamicInstrumentation.enabled` - `experimental.dynamicInstrumentationRedactedIdentifiers` -> `dynamicInstrumentation.redactedIdentifiers` - `experimental.dynamicInstrumentationRedactionExcludedIdentifiers` -> `dynamicInstrumentation.redactionExcludedIdentifiers`
This affects all DI related config options, where the `experimental` namespace is removed and, and a `dynamicInstrumentation` namespace is introduced. Changes: - `experimental.dynamicInstrumentationEnabled` -> `dynamicInstrumentation.enabled` - `experimental.dynamicInstrumentationRedactedIdentifiers` -> `dynamicInstrumentation.redactedIdentifiers` - `experimental.dynamicInstrumentationRedactionExcludedIdentifiers` -> `dynamicInstrumentation.redactionExcludedIdentifiers`
This affects all DI related config options, where the `experimental` namespace is removed and, and a `dynamicInstrumentation` namespace is introduced. Changes: - `experimental.dynamicInstrumentationEnabled` -> `dynamicInstrumentation.enabled` - `experimental.dynamicInstrumentationRedactedIdentifiers` -> `dynamicInstrumentation.redactedIdentifiers` - `experimental.dynamicInstrumentationRedactionExcludedIdentifiers` -> `dynamicInstrumentation.redactionExcludedIdentifiers`

What does this PR do?
This affects all DI related config options, where the
experimentalnamespace is removed and, and adynamicInstrumentationnamespace is introduced.Changes:
experimental.dynamicInstrumentationEnabled->dynamicInstrumentation.enabledexperimental.dynamicInstrumentationRedactedIdentifiers->dynamicInstrumentation.redactedIdentifiersexperimental.dynamicInstrumentationRedactionExcludedIdentifiers->dynamicInstrumentation.redactionExcludedIdentifiersMotivation
experimentalnamespace as we're gearing up for a limited public preview of the DI feature.dynamicInstrumentationquickly gets tedious. Using a namespace is a much better experience.Plugin Checklist
Additional Notes
Normally this would be considered a breaking change. But since the DI feature is behind a feature flag, we know that nobody is currently using it (besides me). So I'd say that it's safe to make this change without also adding a fallback for users using the old naming convention.
If we didn't do this now, it would be much harder to change in the future once we launch this feature.