Conversation
Use span._baggageItems only for legacy ot-baggage to avoid breaking changes. Use storage('baggage') for otel-compatible baggage exclusively.
---------
Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>
The fake agent is used in tests and is stopped after the test is done.
When calling its `stop` function, it will wait for active connections (sockets)
to close before considering itself stopped. This can add an unnecessary waiting
period after each test, as the timeout on the socket by default is two seconds
in our code-base:
https://github.com/DataDog/dd-trace-js/blob/90fe64b9845d04d6273ec2b7a36ba6a7844b8253/packages/dd-trace/src/exporters/common/request.js#L56
For integration tests making heavy use of fake agents, this can add several
minutes of overhead that can be avoided by destroying the sockets when calling
the `stop` function on the fake agent.
This mainly affects tests running on Node.js 18, as sockets there for some
reason takes a little longer to clear out.
* cache tainted value of query params in express v5 * fix tainting value * taint query object * remove only from esm test * cache tainted query * check if value equal cache * clone tainted object * cache only if it's primitive * use flat structure for cache * fix linter * check if cached value equals current * prevent double access to map * fix linter
* set headers manually before calling writeHead * use writeHead dc instead * linter * get right fastify span * merge reply and request headers * remove get-port * fix tests * avoid unecessary object creation * avoid nullish storedResponseHeaders * linter
* fix oracle db bug
Add a new config option to control the upload interval used by Dynamic
Instrumentation (DI). By default, data collected by DI is buffered in
memory, and only sent to the agent once every second (if there is data
in the buffer).
The new config option, allows the timeout to be controlled by the
following environment variable:
DD_DYNAMIC_INSTRUMENTATION_UPLOAD_INTERVAL_SECONDS
There is also a code config alias:
{ dynamicInstrumentation: { uploadIntervalSeconds: 1 } }
The value of this config option is parsed as a float.
The main use-case for this config option is to make tests run faster, as
they don't have to wait for the one second timeout. It's not expected
that end-users would need to modify the default value.
Increase the RC poll interval in the Dynamic Instrumentation integration tests, so that they run faster.
As drive-by improve readability
There's a potential ReDoS vulnerability in `brace-expansion` which is a dev-sub-dependency of ours (the `dd-trace` is not vulnerable). As of now, we don't have an upgrade path, which unfortunately means this blocks all CI. Temporarily disable running `yarn audit` on dev-dependencies to allow work to be done in the repo.
The function is now almost twice as fast and doesn't create any temprary objects in memory.
* Test latest versions together with esbuild * Fix esbuild not picking up all files and test more This makes sure we run our tests with the oldest and newest esbuild version as well as adding the tests to our CI. They did not yet run in the CI before. It seems like esbuild does not pick up dynamic require calls, so I changed the ones I could find. This should fix the profiler to also be included in esbuild outputs in the future.
Enhances configuration telemetry to capture data from all sources, sending updates only when changes occur. Adds a `seq_id` to each payload, allowing the backend to assume the configuration with the highest `seq_id` is the one in active use by the tracer. Co-authored-by: Thomas Watson <thomas.watson@datadoghq.com>
Overall package sizeSelf size: 9.64 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/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 |
| name: Retry | ||
|
|
||
| on: | ||
| workflow_run: |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## v5.x #5886 +/- ##
=======================================
Coverage ? 80.74%
=======================================
Files ? 463
Lines ? 19910
Branches ? 0
=======================================
Hits ? 16076
Misses ? 3834
Partials ? 0 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Datadog ReportBranch report: ✅ 0 Failed, 1063 Passed, 0 Skipped, 16m 43.91s Total Time |
BenchmarksBenchmark execution time: 2025-06-12 08:48:00 Comparing candidate commit 957103f in PR branch Found 2 performance improvements and 1 performance regressions! Performance is the same for 1269 metrics, 51 unstable metrics. scenario:plugin-bluebird-control-22
scenario:startup-with-tracer-22
|
cafe33b83f] - (SEMVER-PATCH) Update pprof-nodejs to 5.8.2 (Attila Szegedi) #58665e417ca367] - (SEMVER-PATCH) fix audit running on pull requests not touching dependencies (Roch Devost) #58798e11d857aa] - (SEMVER-MINOR) Implement Config Chaining (Ayan Khan) #5374c5188d8f27] - (SEMVER-PATCH) fix missing octokit dependency for flakiness report workflow (Roch Devost) #58783b64de7abc] - (SEMVER-PATCH) Fix and improve esbuild and add it to the CI (Ruben Bridgewater) #5877ed2469ea9b] - (SEMVER-PATCH) perf: improve the internal config set function (Thomas Watson) #58727f44491fe9] - (SEMVER-PATCH) [test-optimization] [SDTEST-303] Fix jest@30 release (Juan Antonio Fernández de Alba) #458185c5d33d57] - (SEMVER-PATCH) chore: bump brace-expansion dev-dependency (Thomas Watson) #5875fab3ee9408] - (SEMVER-PATCH) chore: temporarily restrict yarn audit to prod deps only in CI (Thomas Watson) #587494e55a2e2c] - (SEMVER-PATCH) fix missing repo flag for retry workflow (Roch Devost) #5870ccc52ef8ee] - (SEMVER-PATCH) [SVLS-5649] Add HTTP Context Propagation to Azure Functions (Jordan Storms) #583993d59c4f88] - (SEMVER-PATCH) add comments explaining the flakiness report script (Roch Devost) #58695013ed8750] - (SEMVER-PATCH) add flakiness report workflow (Roch Devost) #5856784197db4d] - (SEMVER-PATCH) test: speed up DI tests (Thomas Watson) #58637e78aaaa8f] - (SEMVER-PATCH) [DI] Support custom upload interval (Thomas Watson) #5861388c91670e] - (SEMVER-PATCH) fix oracle db bug (Ayan Khan) #58686796afdd03] - (SEMVER-PATCH) Get response headers on Fastify by the end of the request (Ilyas Shabi) #58317ecad193d3] - (SEMVER-PATCH) Cache tainted value of query params in express v5 (Ilyas Shabi) #5716145dcd7709] - (SEMVER-PATCH) [test-optimization] [SDTEST-303] Unblock CI due toJest@30release (Mario Vidal Domínguez) #586227eaee58f4] - (SEMVER-PATCH) add workflow to auto-retry main and release branches (Roch Devost) #5851994323dbca] - (SEMVER-PATCH) Do not extract baggage when config.tracePropagationBehaviorExtract is 'ignore' (Ida Liu) #58603c8fe63a34] - (SEMVER-PATCH) [test-optimization] [SDTEST-2144] Fixit.failingin combination with EFD (Mario Vidal Domínguez) #5857ec706ad4bb] - (SEMVER-PATCH) Fix iast mysql2 (Ugaitz Urien) #5847e5dcebca20] - (SEMVER-PATCH) test: clean up fake agent start/stop code (Thomas Watson) #585438f67f3e16] - (SEMVER-PATCH) test: reduce usage of get-port dependency (Thomas Watson) #5848b7e4f8e015] - (SEMVER-PATCH) test: destroy active connections when stopping fake agent (Thomas Watson) #5853ffcef30249] - (SEMVER-PATCH) move cypress tests from apm integrations to test optimization (Roch Devost) #584990fe64b984] - (SEMVER-PATCH) Baggage update (Ida Liu) #5815