Skip to content

v5.93.0 proposal#7848

Merged
tlhunter merged 15 commits intov5.xfrom
v5.93.0-proposal
Mar 26, 2026
Merged

v5.93.0 proposal#7848
tlhunter merged 15 commits intov5.xfrom
v5.93.0-proposal

Conversation

@dd-octo-sts
Copy link
Copy Markdown
Contributor

@dd-octo-sts dd-octo-sts bot commented Mar 24, 2026

  • [a498993115] - (SEMVER-MINOR) feat(config): enable process tags by default (Thomas Hunter II) #7850
  • [f657b07188] - (SEMVER-PATCH) fix(tracing): format _dd.p.ksr with decimal notation instead of scientific notation (Brian Marks) #7846
  • [da201ffe61] - (SEMVER-MINOR) feat(process-discovery): include process_tags and container_id, disable crashtracker ARM64 musl (Thomas Hunter II) #7816
  • [6aeb52b268] - chore: disable automated dependency updater config [incident-51602] (moezein0) #7859
  • [b90857d197] - (SEMVER-PATCH) Cleanup peerServerless on aws request complete (pablomartinezbernardo) #7842
  • [c5ed02451c] - (SEMVER-PATCH) maxActiveRequest use payload size (simon-id) #7794
  • [73b7546a8f] - (SEMVER-PATCH) ci: add Datadog code coverage upload (ManuelPalenzuelaDD) #7759
  • [91b184ec5b] - (SEMVER-PATCH) ci: fix race condition in all-green job causing invalid summary (Roch Devost) #7836
  • [031533a0f8] - (SEMVER-MINOR) profiling: replace sourceMapCount with hasMissingSourceMaps (Attila Szegedi) #7843
  • [f429a850b4] - (SEMVER-MINOR) feat(profiling): Start profilers synchronously within tracer initialization (Attila Szegedi) #5906
  • [123fee9d50] - (SEMVER-PATCH) chore(ci) update one-pipeline (gh-worker-campaigns-3e9aa4[bot]) #7833
  • [7eb3a676e6] - (SEMVER-PATCH) chore(deps): bump flatted from 3.3.4 to 3.4.2 (dependabot[bot]) #7826
  • [d0e644f42d] - (SEMVER-PATCH) test(integration): use stopProc in package tests (Thomas Watson) #7839
  • [122c4055c3] - (SEMVER-PATCH) chore: gitignore node-*-junit.xml files (Thomas Watson) #7837

watson and others added 9 commits March 24, 2026 05:33
For example: node-22.22.0-junit.xml
Replace direct proc.kill() teardown in package-hosted
integration specs with await stopProc(proc).

This makes process shutdown consistent with the root
integration tests and reduces flakiness from leaked child
process state. Add an optional signal to preserve the
existing SIGINT-based Azure teardown behavior.
Bumps [flatted](https://github.com/WebReflection/flatted) from 3.3.4 to 3.4.2.
- [Commits](WebReflection/flatted@v3.3.4...v3.4.2)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: gh-worker-campaigns-3e9aa4[bot] <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com>
…zation (#5906)

* feat(profiler): make profiler startup synchronous

Replace `await SourceMapper.create()` with a synchronous `new SourceMapper()`
constructor call followed by a fire-and-forget `loadDirectory()`. The mapper
is handed to profilers immediately (with an initially empty `infoMap`);
`#sourceMapCount` is updated in the background `.then()` callback once the
filesystem scan completes.

This removes the only `await` from `_start()`, making it — and the entire
profiler start path — synchronous. `start()` now uses try/catch instead of
`.catch()` chaining. `proxy.js` is updated accordingly: `_profilerStarted`
is stored as a plain boolean and `profilerStarted()` wraps it in
`Promise.resolve()` for backwards compatibility with existing callers.

We also move zlib/compression setup out of the synchronous startup path into a
lazy `#getCompressionFn()` private method, initialized on first call.
`zlib` and `util.promisify` are now required inside that method rather
than at module load time, keeping the startup path free of I/O-adjacent
module loading.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace the `sourceMapCount` info field with a boolean
`hasMissingSourceMaps` that checks each profile's comments for the
`dd:has-missing-map-files` token emitted by @datadog/pprof when
source files declare a sourceMappingURL but the map file is missing.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix race condition in all-green script causing invalid output

* add console logging of the summary
* Add Datadog code coverage upload alongside Codecov

Add Datadog coverage upload to all CI jobs that produce coverage reports,
running side-by-side with existing Codecov uploads for migration validation.

Changes:
- Add Datadog upload step to .github/actions/coverage composite action
- Pass DD_API_KEY to all 62 coverage action invocations across 10 workflows
- Add standalone Datadog upload for stripe job in appsec.yml

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Apply PR review feedback

- Make dd_api_key required in .github/actions/coverage/action.yml
- Replace manual codecov + DD upload steps in appsec.yml stripe job
  with the .github/actions/coverage composite action

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 24, 2026

Overall package size

Self size: 5.04 MB
Deduped: 5.89 MB
No deduping: 5.89 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------| | import-in-the-middle | 3.0.0 | 81.15 kB | 815.98 kB | | dc-polyfill | 0.1.10 | 26.73 kB | 26.73 kB |

🤖 This report was automatically generated by heaviest-objects-in-the-universe

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 24, 2026

Codecov Report

❌ Patch coverage is 83.56164% with 12 lines in your changes missing coverage. Please review.
✅ Project coverage is 80.37%. Comparing base (6b35e7d) to head (7ec31e2).
⚠️ Report is 796 commits behind head on v5.x.

Files with missing lines Patch % Lines
packages/dd-trace/src/profiling/profiler.js 76.92% 9 Missing ⚠️
packages/datadog-plugin-aws-sdk/src/base.js 33.33% 2 Missing ⚠️
packages/dd-trace/src/exporters/common/request.js 94.11% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             v5.x    #7848      +/-   ##
==========================================
- Coverage   83.19%   80.37%   -2.82%     
==========================================
  Files         476      749     +273     
  Lines       20153    32487   +12334     
==========================================
+ Hits        16766    26113    +9347     
- Misses       3387     6374    +2987     
Flag Coverage Δ
aiguard-macos 39.16% <70.96%> (?)
aiguard-ubuntu 39.28% <70.96%> (?)
aiguard-windows 38.97% <61.29%> (?)
apm-capabilities-tracing-macos 49.11% <41.09%> (?)
apm-capabilities-tracing-ubuntu 49.02% <41.09%> (?)
apm-capabilities-tracing-windows 48.88% <41.09%> (?)
apm-integrations-child-process 38.49% <70.96%> (?)
apm-integrations-couchbase-18 37.32% <70.96%> (?)
apm-integrations-couchbase-eol 37.80% <70.96%> (?)
apm-integrations-oracledb 37.57% <70.96%> (?)
appsec-express 55.15% <70.96%> (?)
appsec-fastify 51.50% <70.96%> (?)
appsec-graphql 51.65% <70.96%> (?)
appsec-kafka 44.26% <70.96%> (?)
appsec-ldapjs 43.90% <70.96%> (?)
appsec-lodash 43.50% <58.06%> (?)
appsec-macos 58.13% <70.96%> (?)
appsec-mongodb-core 48.56% <70.96%> (?)
appsec-mongoose 49.33% <70.96%> (?)
appsec-mysql 50.84% <70.96%> (?)
appsec-node-serialize 43.09% <70.96%> (?)
appsec-passport 47.52% <70.96%> (?)
appsec-postgres 50.47% <70.96%> (?)
appsec-sourcing 42.34% <70.96%> (?)
appsec-stripe 44.52% <70.96%> (?)
appsec-template 43.25% <70.96%> (?)
appsec-ubuntu 58.21% <70.96%> (?)
appsec-windows 57.97% <61.29%> (?)
instrumentations-instrumentation-bluebird 32.18% <58.06%> (?)
instrumentations-instrumentation-body-parser 40.42% <70.96%> (?)
instrumentations-instrumentation-child_process 37.86% <70.96%> (?)
instrumentations-instrumentation-cookie-parser 34.21% <58.06%> (?)
instrumentations-instrumentation-express 34.53% <58.06%> (?)
instrumentations-instrumentation-express-mongo-sanitize 34.34% <58.06%> (?)
instrumentations-instrumentation-express-session 40.06% <70.96%> (?)
instrumentations-instrumentation-fs 31.87% <58.06%> (?)
instrumentations-instrumentation-generic-pool 29.42% <11.76%> (?)
instrumentations-instrumentation-http 39.76% <70.96%> (?)
instrumentations-instrumentation-knex 32.25% <58.06%> (?)
instrumentations-instrumentation-mongoose 33.37% <58.06%> (?)
instrumentations-instrumentation-multer 40.17% <70.96%> (?)
instrumentations-instrumentation-mysql2 38.19% <70.96%> (?)
instrumentations-instrumentation-passport 43.94% <70.96%> (?)
instrumentations-instrumentation-passport-http 43.62% <70.96%> (?)
instrumentations-instrumentation-passport-local 44.15% <70.96%> (?)
instrumentations-instrumentation-pg 37.63% <70.96%> (?)
instrumentations-instrumentation-promise 32.11% <58.06%> (?)
instrumentations-instrumentation-promise-js 32.11% <58.06%> (?)
instrumentations-instrumentation-q 32.16% <58.06%> (?)
instrumentations-instrumentation-url 32.08% <58.06%> (?)
instrumentations-instrumentation-when 32.13% <58.06%> (?)
llmobs-ai 42.33% <70.96%> (?)
llmobs-anthropic 40.35% <70.96%> (?)
llmobs-bedrock 39.14% <67.64%> (?)
llmobs-google-genai 39.68% <70.96%> (?)
llmobs-langchain 40.05% <64.70%> (?)
llmobs-openai 43.85% <70.96%> (?)
llmobs-vertex-ai 39.93% <70.96%> (?)
platform-core 31.47% <ø> (?)
platform-esbuild 34.42% <ø> (?)
platform-instrumentations-misc 48.41% <ø> (?)
platform-shimmer 37.56% <ø> (?)
platform-unit-guardrails 24.21% <ø> (?)
plugins-azure-durable-functions 25.74% <ø> (?)
plugins-azure-event-hubs 25.90% <ø> (?)
plugins-azure-service-bus 25.26% <ø> (?)
plugins-bullmq 44.23% <70.96%> (?)
plugins-cassandra 37.68% <70.96%> (?)
plugins-cookie 26.96% <ø> (?)
plugins-cookie-parser 26.75% <ø> (?)
plugins-crypto 26.73% <ø> (?)
plugins-dd-trace-api 38.23% <64.51%> (?)
plugins-express-mongo-sanitize 26.89% <ø> (?)
plugins-express-session 26.70% <ø> (?)
plugins-fastify 42.16% <70.96%> (?)
plugins-fetch 38.28% <70.96%> (?)
plugins-fs 38.51% <70.96%> (?)
plugins-generic-pool 25.94% <ø> (?)
plugins-google-cloud-pubsub 45.43% <70.96%> (?)
plugins-grpc 40.80% <70.96%> (?)
plugins-handlebars 26.94% <ø> (?)
plugins-hapi 40.05% <70.96%> (?)
plugins-hono 40.38% <70.96%> (?)
plugins-ioredis 38.32% <70.96%> (?)
plugins-knex 26.57% <ø> (?)
plugins-langgraph 38.40% <70.96%> (?)
plugins-ldapjs 24.43% <ø> (?)
plugins-light-my-request 26.30% <ø> (?)
plugins-limitd-client 32.46% <58.06%> (?)
plugins-lodash 26.03% <ø> (?)
plugins-mariadb 39.36% <70.96%> (?)
plugins-memcached 38.08% <70.96%> (?)
plugins-microgateway-core 39.13% <70.96%> (?)
plugins-moleculer 40.39% <70.96%> (?)
plugins-mongodb 39.07% <70.96%> (?)
plugins-mongodb-core 38.90% <70.96%> (?)
plugins-mongoose 38.75% <70.96%> (?)
plugins-multer 26.70% <ø> (?)
plugins-mysql 39.06% <70.96%> (?)
plugins-mysql2 39.16% <70.96%> (?)
plugins-node-serialize 27.00% <ø> (?)
plugins-opensearch 37.54% <70.96%> (?)
plugins-passport-http 26.76% <ø> (?)
plugins-postgres 35.49% <70.96%> (?)
plugins-process 26.73% <ø> (?)
plugins-pug 26.96% <ø> (?)
plugins-redis 38.79% <70.96%> (?)
plugins-router 43.12% <70.96%> (?)
plugins-sequelize 25.55% <ø> (?)
plugins-test-and-upstream-amqp10 38.40% <70.96%> (?)
plugins-test-and-upstream-amqplib 44.08% <70.96%> (?)
plugins-test-and-upstream-apollo 39.04% <70.96%> (?)
plugins-test-and-upstream-avsc 38.50% <58.06%> (?)
plugins-test-and-upstream-bunyan 33.77% <58.06%> (?)
plugins-test-and-upstream-connect 40.71% <70.96%> (?)
plugins-test-and-upstream-graphql 40.02% <70.96%> (?)
plugins-test-and-upstream-koa 40.30% <70.96%> (?)
plugins-test-and-upstream-protobufjs 38.72% <58.06%> (?)
plugins-test-and-upstream-rhea 44.14% <70.96%> (?)
plugins-undici 39.01% <70.96%> (?)
plugins-url 26.73% <ø> (?)
plugins-valkey 38.03% <70.96%> (?)
plugins-vm 26.73% <ø> (?)
plugins-winston 33.96% <58.06%> (?)
plugins-ws 41.85% <70.96%> (?)
profiling-macos 40.46% <58.06%> (?)
profiling-ubuntu 40.58% <58.06%> (?)
profiling-windows 42.14% <64.28%> (?)
serverless-azure-functions-client 25.62% <ø> (?)
serverless-azure-functions-eventhubs 25.62% <ø> (?)
serverless-azure-functions-servicebus 25.62% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

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

@datadog-datadog-prod-us1-2
Copy link
Copy Markdown

datadog-datadog-prod-us1-2 bot commented Mar 24, 2026

✅ Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

🎯 Code Coverage (details)
Patch Coverage: 72.37%
Overall Coverage: 74.28%

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 7ec31e2 | Docs | Datadog PR Page | Was this helpful? React with 👍/👎 or give us feedback!

@pr-commenter
Copy link
Copy Markdown

pr-commenter bot commented Mar 24, 2026

Benchmarks

Benchmark execution time: 2026-03-26 05:47:55

Comparing candidate commit 7ec31e2 in PR branch v5.93.0-proposal with baseline commit d84511f in branch v5.x.

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

@dd-octo-sts dd-octo-sts bot force-pushed the v5.93.0-proposal branch from 6e49e06 to 9b0f6f8 Compare March 25, 2026 05:33
moezein0 and others added 5 commits March 26, 2026 05:36
…le crashtracker ARM64 musl (#7816)

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…tific notation (#7846)

* fix(tracing): format _dd.p.ksr with decimal notation instead of scientific notation

Very small sampling rates (e.g. 0.0000001) were formatted using
toPrecision(6) + toString() which outputs scientific notation like
"1e-7". This changes to explicit rounding at the integer level and
toFixed(6) formatting to always produce decimal notation with up to 6
decimal digits, trailing zeros stripped (e.g. "0.000001").

Fixes APMAPI-1869

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(tracing): replace regex with loop in formatKnuthRate for hot-path perf

Addresses PR review feedback: replaces the regex-based trailing-zero
strip with a manual loop to avoid regex overhead on the hot path.
Also adds Number() coercion as defensive measure per reviewer suggestion.

Math.round pre-rounding is intentionally kept — toFixed(6) has imprecise
rounding for sub-precision values in V8 (e.g. 0.0000005.toFixed(6)
returns '0.000000' in Node 23). JSDoc updated to explain this.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(tracing): simplify formatKnuthRate loop per review feedback

Drop Math.round pre-rounding — the edge case (0.0000005 rounding down in
V8) is acceptable imprecision. Test updated to use 0.00000051 which rounds
up unambiguously without Math.round.

Drop indexOf('.') — check for '.' directly in the loop instead, which
handles integer rates (0, 1) without the overhead of a separate scan.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Update packages/dd-trace/src/priority_sampler.js

Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>

* fix(tracing): resolve lint errors in formatKnuthRate

- Flip negated conditions to positive checks (unicorn/no-negated-condition)
- Remove @returns tag since linter can't statically verify loop always returns (jsdoc/require-returns-check)
- Preserve BridgeAR's single-check-per-iteration optimization

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>
Process tags are now enabled by default via DD_EXPERIMENTAL_PROPAGATE_PROCESS_TAGS_ENABLED.
Users can still disable them by setting the environment variable to "false".

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@dd-octo-sts dd-octo-sts bot force-pushed the v5.93.0-proposal branch from 9b0f6f8 to 7ec31e2 Compare March 26, 2026 05:36
@tlhunter tlhunter marked this pull request as ready for review March 26, 2026 15:59
@tlhunter tlhunter requested review from a team as code owners March 26, 2026 15:59
@tlhunter tlhunter requested a review from a team as a code owner March 26, 2026 15:59
@tlhunter tlhunter requested review from khanayan123 and litianningdatadog and removed request for a team March 26, 2026 15:59
@tlhunter tlhunter merged commit 32b4f75 into v5.x Mar 26, 2026
786 checks passed
@tlhunter tlhunter deleted the v5.93.0-proposal branch March 26, 2026 16:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants