Merged
Conversation
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>
Contributor
Overall package sizeSelf size: 5.04 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 Report❌ Patch coverage is 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 Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
✅ Tests 🎉 All green!❄️ No new flaky tests detected 🎯 Code Coverage (details) 🔗 Commit SHA: 7ec31e2 | Docs | Datadog PR Page | Was this helpful? React with 👍/👎 or give us feedback! |
6e49e06 to
9b0f6f8
Compare
…7859) Signed-off-by: Moe Zein <moe.zein@datadoghq.com>
…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>
9b0f6f8 to
7ec31e2
Compare
tlhunter
approved these changes
Mar 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
a498993115] - (SEMVER-MINOR) feat(config): enable process tags by default (Thomas Hunter II) #7850f657b07188] - (SEMVER-PATCH) fix(tracing): format _dd.p.ksr with decimal notation instead of scientific notation (Brian Marks) #7846da201ffe61] - (SEMVER-MINOR) feat(process-discovery): include process_tags and container_id, disable crashtracker ARM64 musl (Thomas Hunter II) #78166aeb52b268] - chore: disable automated dependency updater config [incident-51602] (moezein0) #7859b90857d197] - (SEMVER-PATCH) Cleanup peerServerless on aws request complete (pablomartinezbernardo) #7842c5ed02451c] - (SEMVER-PATCH) maxActiveRequest use payload size (simon-id) #779473b7546a8f] - (SEMVER-PATCH) ci: add Datadog code coverage upload (ManuelPalenzuelaDD) #775991b184ec5b] - (SEMVER-PATCH) ci: fix race condition in all-green job causing invalid summary (Roch Devost) #7836031533a0f8] - (SEMVER-MINOR) profiling: replace sourceMapCount with hasMissingSourceMaps (Attila Szegedi) #7843f429a850b4] - (SEMVER-MINOR) feat(profiling): Start profilers synchronously within tracer initialization (Attila Szegedi) #5906123fee9d50] - (SEMVER-PATCH) chore(ci) update one-pipeline (gh-worker-campaigns-3e9aa4[bot]) #78337eb3a676e6] - (SEMVER-PATCH) chore(deps): bump flatted from 3.3.4 to 3.4.2 (dependabot[bot]) #7826d0e644f42d] - (SEMVER-PATCH) test(integration): use stopProc in package tests (Thomas Watson) #7839122c4055c3] - (SEMVER-PATCH) chore: gitignore node-*-junit.xml files (Thomas Watson) #7837