Skip to content

Conversation

BridgeAR
Copy link
Collaborator

No description provided.

@BridgeAR BridgeAR changed the title Initial central configuration inversion draft WIP Initial central configuration inversion draft Apr 23, 2025
Copy link

codecov bot commented Apr 23, 2025

Codecov Report

Attention: Patch coverage is 92.30769% with 12 lines in your changes missing coverage. Please review.

Project coverage is 80.06%. Comparing base (8045409) to head (707aabd).
Report is 2 commits behind head on master.

Files with missing lines Patch % Lines
packages/datadog-plugin-cucumber/src/index.js 0.00% 2 Missing ⚠️
packages/dd-trace/src/azure_metadata.js 66.66% 2 Missing ⚠️
packages/datadog-plugin-mocha/src/index.js 0.00% 1 Missing ⚠️
...e/src/ci-visibility/exporters/test-worker/index.js 85.71% 1 Missing ⚠️
...ility/test-management/get-test-management-tests.js 50.00% 1 Missing ⚠️
packages/dd-trace/src/config-helper.js 96.96% 1 Missing ⚠️
packages/dd-trace/src/llmobs/sdk.js 50.00% 1 Missing ⚠️
packages/dd-trace/src/plugins/util/test.js 50.00% 1 Missing ⚠️
packages/dd-trace/src/proxy.js 50.00% 1 Missing ⚠️
packages/dd-trace/src/telemetry/send-data.js 75.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #5603      +/-   ##
==========================================
- Coverage   80.65%   80.06%   -0.59%     
==========================================
  Files         463      447      -16     
  Lines       19841    19493     -348     
==========================================
- Hits        16002    15608     -394     
- Misses       3839     3885      +46     

☔ 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.

Copy link

github-actions bot commented Apr 23, 2025

Overall package size

Self size: 9.63 MB
Deduped: 104.57 MB
No deduping: 105.09 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.6.0 | 30.47 MB | 30.47 MB | | @datadog/native-appsec | 8.5.2 | 19.33 MB | 19.34 MB | | @datadog/pprof | 5.8.0 | 12.55 MB | 12.92 MB | | @datadog/native-iast-taint-tracking | 4.0.0 | 11.72 MB | 11.73 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

@pr-commenter
Copy link

pr-commenter bot commented Apr 23, 2025

Benchmarks

Benchmark execution time: 2025-06-06 13:47:39

Comparing candidate commit 707aabd in PR branch BridgeAR/config-inversion-draft with baseline commit 8045409 in branch master.

Found 0 performance improvements and 11 performance regressions! Performance is the same for 948 metrics, 29 unstable metrics.

scenario:log-skip-log-22

  • 🟥 cpu_user_time [+25.073ms; +30.992ms] or [+9.228%; +11.407%]
  • 🟥 execution_time [+27.911ms; +29.504ms] or [+8.157%; +8.622%]

scenario:log-with-debug-22

  • 🟥 cpu_user_time [+23.919ms; +29.503ms] or [+8.788%; +10.839%]
  • 🟥 execution_time [+27.893ms; +29.517ms] or [+8.148%; +8.622%]

scenario:log-with-error-22

  • 🟥 cpu_user_time [+23.218ms; +28.953ms] or [+8.691%; +10.838%]
  • 🟥 execution_time [+27.897ms; +29.784ms] or [+8.291%; +8.852%]

scenario:log-without-log-22

  • 🟥 cpu_user_time [+23.671ms; +29.391ms] or [+9.591%; +11.909%]
  • 🟥 execution_time [+27.729ms; +29.487ms] or [+8.749%; +9.304%]

scenario:spans-finish-immediately-18

  • 🟥 cpu_user_time [+31.281ms; +37.759ms] or [+5.351%; +6.459%]
  • 🟥 execution_time [+32.154ms; +37.864ms] or [+5.096%; +6.001%]
  • 🟥 instructions [+118.5M instructions; +123.9M instructions] or [+5.423%; +5.670%]

@datadog-datadog-prod-us1
Copy link

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

Datadog Report

Branch report: BridgeAR/config-inversion-draft
Commit report: 78fa3a6
Test service: dd-trace-js-integration-tests

✅ 0 Failed, 1252 Passed, 0 Skipped, 17m 49.01s Total Time

@datadog-datadog-prod-us1
Copy link

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

Datadog Summary

✅ Code Quality    ✅ Code Security    ✅ Dependencies    ❌ Pipelines

Next Steps

The following jobs failed due to code errors:

Tracing / ubuntu
Compilation error during job execution.
Tracing / macos
Command failed with exit code 1 during execution.
Tracing / windows
Error Command failed with exit code 1 while running a yarn command.
... and 1 more. View all.

The following jobs failed due to platform errors:
All Green / all-green
Several checks have failed or timed out during execution.

Test Optimization Report

Branch report: BridgeAR/config-inversion-draft
Commit report: f538bca
Test service: dd-trace-js-integration-tests

✅ 0 Failed, 934 Passed, 0 Skipped, 18m 25.48s Total Time


Was this helpful? Give us feedback!

@BridgeAR BridgeAR requested review from watson and rochdev June 4, 2025 20:59
watson
watson previously approved these changes Jun 6, 2025
@watson watson enabled auto-merge (squash) June 6, 2025 13:04
@watson watson merged commit 2fd2bcb into master Jun 6, 2025
510 of 511 checks passed
@watson watson deleted the BridgeAR/config-inversion-draft branch June 6, 2025 13:53
ghost pushed a commit that referenced this pull request Jun 6, 2025
* Initial central configuration inversion draft

* initial supported config file

* updating versions

* updating config-helper, replacing process.env in applyEnv, adding linter

* adding new linter for process.env

* updating supported configs

* removing aliases from supportedConfigurations and adding all configs

* removing process.env from config.js

* updating handling of aliases

* updating supported-configurations to only include DD_ env

* Migrate process.env to getConfiguration

* fixing ci tests

* updating config-helper

* Use proxy on process.env as temporary solution to setting envs

This is needed to set environment variables during runtime. We
likely have to think of alternatives.

* Log missing ones

* Add a few missing envs

* Add many more missing configurations

* Better process.env handling

* Minor config improvements and throw instead of log for missing

* Add many missing configurations to enable plugins

* Enable many more configurations and improve alias overrides

* Last missing hooks enabled configurations

* Finish rough implementation

* Simplify implementation and add first steps to move to alternative

* Use runtime implementation to be on the safe side

Using the proxy and the getter/setter pair was more complex and the
user could theoretically have written code that would have worked
around it. This also prevents the additional proxy overhead when
using process.env.

* Use json file and use stricter linters

This also addresses issues found with the stricter linter

* Remove unused import

* Add CI validation and missing configuration

* Check for missing configuration in getConfigurations()

* Add JSDoc and switch back to logging missing entries

* Add missing aws-sdk configurations

* Remove unused configurations and fix lint error

* Address comments and update CI job

* Fixup missing rewrites

* Stricter linter, add new envs, fixup rebase issues, more aliases

* Add missing new environment variables

* Add missing configuration

* Add two more missing new environment variables

* Simplify linter rule

* Fix gitlab script

* Deactivate gitlab ci for now

* Simplify version to single char by default

* Address comments and improve deprecation logging and alias detection

This adds more tests as well to fully test the functionality.

* Address additional comment

---------

Co-authored-by: Matthew Li <matthew.li@datadoghq.com>
@ghost ghost mentioned this pull request Jun 6, 2025
sabrenner pushed a commit that referenced this pull request Jun 6, 2025
* Initial central configuration inversion draft

* initial supported config file

* updating versions

* updating config-helper, replacing process.env in applyEnv, adding linter

* adding new linter for process.env

* updating supported configs

* removing aliases from supportedConfigurations and adding all configs

* removing process.env from config.js

* updating handling of aliases

* updating supported-configurations to only include DD_ env

* Migrate process.env to getConfiguration

* fixing ci tests

* updating config-helper

* Use proxy on process.env as temporary solution to setting envs

This is needed to set environment variables during runtime. We
likely have to think of alternatives.

* Log missing ones

* Add a few missing envs

* Add many more missing configurations

* Better process.env handling

* Minor config improvements and throw instead of log for missing

* Add many missing configurations to enable plugins

* Enable many more configurations and improve alias overrides

* Last missing hooks enabled configurations

* Finish rough implementation

* Simplify implementation and add first steps to move to alternative

* Use runtime implementation to be on the safe side

Using the proxy and the getter/setter pair was more complex and the
user could theoretically have written code that would have worked
around it. This also prevents the additional proxy overhead when
using process.env.

* Use json file and use stricter linters

This also addresses issues found with the stricter linter

* Remove unused import

* Add CI validation and missing configuration

* Check for missing configuration in getConfigurations()

* Add JSDoc and switch back to logging missing entries

* Add missing aws-sdk configurations

* Remove unused configurations and fix lint error

* Address comments and update CI job

* Fixup missing rewrites

* Stricter linter, add new envs, fixup rebase issues, more aliases

* Add missing new environment variables

* Add missing configuration

* Add two more missing new environment variables

* Simplify linter rule

* Fix gitlab script

* Deactivate gitlab ci for now

* Simplify version to single char by default

* Address comments and improve deprecation logging and alias detection

This adds more tests as well to fully test the functionality.

* Address additional comment

---------

Co-authored-by: Matthew Li <matthew.li@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.

5 participants