Open
Conversation
…ss 1 directory with 3 updates (#7945) * chore(deps-dev): bump the dev-minor-and-patch-dependencies group across 1 directory with 3 updates Bumps the dev-minor-and-patch-dependencies group with 3 updates in the / directory: [axios](https://github.com/axios/axios), [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) and [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc). Updates `axios` from 1.13.6 to 1.14.0 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](axios/axios@v1.13.6...v1.14.0) Updates `eslint-plugin-cypress` from 6.2.1 to 6.2.2 - [Release notes](https://github.com/cypress-io/eslint-plugin-cypress/releases) - [Commits](cypress-io/eslint-plugin-cypress@v6.2.1...v6.2.2) Updates `eslint-plugin-jsdoc` from 62.8.1 to 62.9.0 - [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases) - [Commits](gajus/eslint-plugin-jsdoc@v62.8.1...v62.9.0) --- updated-dependencies: - dependency-name: axios dependency-version: 1.14.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: dev-minor-and-patch-dependencies - dependency-name: eslint-plugin-cypress dependency-version: 6.2.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-minor-and-patch-dependencies - dependency-name: eslint-plugin-jsdoc dependency-version: 62.9.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: dev-minor-and-patch-dependencies ... Signed-off-by: dependabot[bot] <support@github.com> * chore: deduplicate yarn.lock --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: dd-octo-sts[bot] <200755185+dd-octo-sts[bot]@users.noreply.github.com>
* feat(profiler): add custom profiling labels API Add tracer.profiling.runWithLabels() and tracer.profiling.setCustomLabelKeys() APIs that allow users to attach custom labels to wall profiler samples, enabling flame graph filtering by business logic dimensions (e.g. customer, region) in the Datadog UI. This brings Node.js profiler to parity with Java and Go. The implementation stores custom labels alongside span profiling context in pprof's CPED AsyncLocalStorage as a 2-element array [profilingContext, customLabels]. A monotonic flag avoids getContext() overhead when custom labels have never been used. Labels propagate correctly through async continuations. Internal labels (span id, thread name, etc.) always take precedence over custom labels with the same key. Requires AsyncContextFrame (ACF) to be enabled; gracefully falls back to a passthrough (just calls fn()) when ACF is off or profiling is disabled.
) Config model: Build the tracer runtime config from `supported-configurations.json`. The metadata now defines defaults, aliases, transforms, allowed values, and internal property mapping. Env vars, stable config, code options, remote config, and telemetry now go through the same parsing and normalization path instead of separate logic. Remote config and fallback: Normalize remote config into the same local option names before apply. When a remote value is removed, restore the earlier code value or the default for that one option, instead of keeping an old remote value. This also keeps config source tracking correct when remote config changes over time. Telemetry: Report the same normalized config view that the tracer really uses. Telemetry now keeps the source of each value, sends standard config names such as `DD_*` and `OTEL_*`, and serializes URLs, arrays, objects, functions, and rule sets in one consistent format for config change events and extended heartbeats. DD and OTEL precedence: Use one precedence model for Datadog and OpenTelemetry settings. Datadog config still wins when both are set. Generic `OTEL_EXPORTER_OTLP_*` endpoint, header, protocol, and timeout values now fill in logs and metrics config when the specific setting is not set. `b3` extraction keeps Datadog multi-header behavior when it comes from `DD_TRACE_PROPAGATION_STYLE`, and keeps single-header behavior when it comes from `OTEL_PROPAGATORS`. Config-specific updates: Parse and validate more individual settings through shared parsers. This now covers sample rates, propagation styles and behavior, `OTEL_RESOURCE_ATTRIBUTES`, `DD_TRACE_HEADER_TAGS` spacing, JSON sampling rules, AppSec blocked template file paths, and `DD_GRPC_CLIENT_ERROR_STATUSES` / `DD_GRPC_SERVER_ERROR_STATUSES` range values. Invalid values now warn the same way and fall back more predictably. DD_LOG_INJECTION was renamed to DD_LOGS_INJECTION to be consistent with other platforms. This is an internal only configuration why it is not a breaking change. Calculated behavior: Recalculate derived settings from the remembered source of each value. This keeps service and tag inference, socket and DogStatsD defaults, OTEL logs vs log injection, runtime metrics vs `OTEL_METRICS_EXPORTER=none`, AppSec-driven resource renaming, CI and serverless toggles, Lambda flush behavior, and agentless tracing overrides consistent when inputs change. Runtime consumers: Move profiling, logging, agent URL selection, session propagation, and other runtime code to read the resolved config instead of reparsing env vars. This also keeps proxy startup working when tracing is off but dynamic instrumentation or AppSec standalone still need runtime hooks, and makes profiling exporter and profiler settings follow the same config resolution path.
Document the auto-generation configuration workflow.
Pass the full modelId and "amazon_bedrock" as model_provider to LLMObs instead of the split values from parseModelId(). The split values prevented the backend cost estimator from matching Bedrock pricing entries. Mirrors the Python tracer fix in DataDog/dd-trace-py#17293.
) Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn) from 63.0.0 to 64.0.0. - [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases) - [Commits](sindresorhus/eslint-plugin-unicorn@v63.0.0...v64.0.0) --- updated-dependencies: - dependency-name: eslint-plugin-unicorn dependency-version: 64.0.0 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
The WeakMap was effectively creating a strong reference and memory was not freed anymore. Instead, rely on the storage for state handling.
…7933) Bumps [@rspack/core](https://github.com/web-infra-dev/rspack/tree/HEAD/packages/rspack) from 1.7.8 to 1.7.11. - [Release notes](https://github.com/web-infra-dev/rspack/releases) - [Commits](https://github.com/web-infra-dev/rspack/commits/v1.7.11/packages/rspack) --- updated-dependencies: - dependency-name: "@rspack/core" dependency-version: 1.7.11 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Follow up on the generated config by updating config related code that still depended on former assumptions. This aligns debugger worker startup, proxy selection, and custom metrics clients with the actual configuration.
This adds the now auto generated config types to as many consumers as possible. Types should now always be correct. There could be additional consumers that would also profit, this is just a best effort approach for adding them to the consumers. The plugin_manager tests were rewritten to reflect the actual config changes properly.
Contributor
Overall package sizeSelf size: 5.48 MB Dependency sizes| name | version | self size | total size | |------|---------|-----------|------------| | import-in-the-middle | 3.0.1 | 82.56 kB | 817.39 kB | | dc-polyfill | 0.1.10 | 26.73 kB | 26.73 kB |🤖 This report was automatically generated by heaviest-objects-in-the-universe |
|
✅ Tests 🎉 All green!❄️ No new flaky tests detected 🎯 Code Coverage (details) 🔗 Commit SHA: 8dd49a6 | Docs | Datadog PR Page | Was this helpful? React with 👍/👎 or give us feedback! |
BenchmarksBenchmark execution time: 2026-04-09 05:53:52 Comparing candidate commit be19cd5 in PR branch Found 0 performance improvements and 16 performance regressions! Performance is the same for 209 metrics, 35 unstable metrics. scenario:appsec-iast-no-vulnerability-iast-enabled-always-active-18
scenario:appsec-iast-no-vulnerability-iast-enabled-always-active-20
scenario:appsec-iast-no-vulnerability-iast-enabled-always-active-22
scenario:appsec-iast-no-vulnerability-iast-enabled-always-active-24
scenario:appsec-iast-no-vulnerability-iast-enabled-default-config-18
scenario:appsec-iast-no-vulnerability-iast-enabled-default-config-20
scenario:appsec-iast-no-vulnerability-iast-enabled-default-config-22
scenario:appsec-iast-no-vulnerability-iast-enabled-default-config-24
|
…7889) Make the extended heartbeat interval configurable via DD_TELEMETRY_EXTENDED_HEARTBEAT_INTERVAL environment variable (integer seconds, default 86400 / 24h). This configuration is meant for testing purposes only.
* use dd-octo-sts for tag creation * fix: address review feedback for dd-octo-sts integration - Rename STS policy file to self.github.release.push-tags.sts.yaml - Remove unreliable ref_protected claim - Update policy references in release workflow - Remove unnecessary contents:write and pull-requests:read permissions * persist tag for dev --------- Co-authored-by: Bryan English <bryan.english@datadoghq.com>
* fix llmobs, prisma, and test optimization tests * Add TODO for follow up changes
…fluent-kafka) (#7479) * add batched tracing for kafka consumes * fix batch messages to prevent mutations between test cases
#7556) * feat(llmobs): support custom telemetry metadata in Vercel AI SDK spans Add getTelemetryMetadata function to extract custom metadata from ai.telemetry.metadata.* attributes and include them in LLMObs span metadata for text generation, object generation, and embedding workflow operations. * Update packages/dd-trace/src/llmobs/plugins/ai/util.js Co-authored-by: Sam Brenner <106700075+sabrenner@users.noreply.github.com> * source cleanups * test cleanups * minor cleanup * review comments * Update packages/dd-trace/src/llmobs/plugins/ai/util.js Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de> * Update packages/dd-trace/src/llmobs/plugins/ai/util.js Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de> * fmt * apply review changes --------- Co-authored-by: Isaac Wasserman <isaacrwasserman@gmail.com> Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>
Bumps [axios](https://github.com/axios/axios) from 1.14.0 to 1.15.0. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](axios/axios@v1.14.0...v1.15.0) --- updated-dependencies: - dependency-name: axios dependency-version: 1.15.0 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: improve instrumentation hooks This improves our instrumentations in multiple ways: - Add JSDoc to many methods that it is easier to work with. - Fix multiple type errors. - Remove code that was only used in testing such as `unhook()`. - Fix small issues in esbuild instrumentation where a module might not return a moduleExports object. - Improve code to run slightly faster (these are not hot code paths). - Automatically instruments unprefixed Node.js modules when defining a instrumentation for a module. This removes the need for much special handling (duplicating the instrumentation, using the symbol to detect already instrumented calls, etc.). - Fix using an array as file for some modules. This did not cause any issues, but it was not correct. - Removed unused isIitm arguments in instrumentations. - Removed unused ritm code. - Removed HOOK_SYMBOL code. * fix: always send telemetry for not instrumented code This makes sure not instrumented code will always send out the proper telemetry. Formerly, it would rely on any part of the file being instrumented. Now, we properly check by version again. To guarantee it is only logging it once, it is send the data on the first flush or before the service ends in case that happens earlier. It also fixes DD_TRACE_DISABLED_INSTRUMENTATIONS to work for prefixed and unprefixed Node automatically in case either is deactivated. Before, both would have to be deactivated. In addition, it simplifies code, adds some JSDoc and makes sure the Node.js version is added to Node.js modules in the telemetry / failures. This also fixes a couple of tests that were not properly checking the behavior as some state was captured in the instrumentation. --------- Co-authored-by: Pablo Erhard <pabloerhard02@gmail.com>
…ts (#7954) This makes sure index.d.ts and supported-configurations.json keep in sync. This is important, since the json file defines the actual behavior while index.d.ts is used for our official documentation.
…ebpack in the npm_and_yarn group across 1 directory (#7966) Bumps the npm_and_yarn group with 1 update in the /integration-tests/webpack directory: [axios](https://github.com/axios/axios). Updates `axios` from 1.13.5 to 1.15.0 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](axios/axios@v1.13.5...v1.15.0) --- updated-dependencies: - dependency-name: axios dependency-version: 1.15.0 dependency-type: direct:production dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
be19cd5 to
3015745
Compare
3015745 to
e8080aa
Compare
e8080aa to
8dd49a6
Compare
juan-fernandez
approved these changes
Apr 10, 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.
bedafc9b29] - (SEMVER-PATCH) [test optimization] Fix cypress tests in release branch (Juan Antonio Fernández de Alba) #797336ebc73c3d] - (SEMVER-PATCH) [test optimization] Use real timers in test framework instrumentations (Juan Antonio Fernández de Alba) #79718f81db6b71] - (SEMVER-PATCH) [test optimization] Prevent ATF tests from being incorrectly tagged as new in cucumber (Juan Antonio Fernández de Alba) #7961abc727bf1a] - (SEMVER-PATCH) chore(deps): bump axios from 1.13.5 to 1.15.0 in /integration-tests/webpack in the npm_and_yarn group across 1 directory (dependabot[bot]) #79664c5d082466] - (SEMVER-PATCH) ci: add supported configurations linter to keep in sync with index.d.ts (Ruben Bridgewater) #7954e92e7f04e7] - (SEMVER-PATCH) fix: improved instrumentation code & related telemetry (Ruben Bridgewater) #691091118b7fee] - (SEMVER-PATCH) chore(deps-dev): bump axios from 1.14.0 to 1.15.0 (dependabot[bot]) #79679786d837c4] - (SEMVER-PATCH) chore(crashtracking): remove guard for arm64 alpine and bump libdatadog to 0.9.3 (Gyuheon Oh) #79623686699da2] - (SEMVER-PATCH) chore(llmobs): update config type to generated types (Sam Brenner) #796570baebd347] - (SEMVER-MINOR) feat(llmobs): support custom telemetry metadata in Vercel AI SDK spans (Sam Brenner) #75566b04b98173] - (SEMVER-PATCH) fix: prevent prototype pollution through graphql (Ruben Bridgewater) #79649ed88dcb47] - (SEMVER-MINOR) tracing(kafka): add batched tracing for kafka consumes (kafkajs | confluent-kafka) (William Conti) #74794cc7d88625] - (SEMVER-PATCH) chore(typescript): bump typescript dependency (Sam Brenner) #7932b4bd5c4c12] - (SEMVER-PATCH) [test optimization] Prevent ATF tests from being incorrectly tagged as new in jest (Juan Antonio Fernández de Alba) #7960918b4d0b41] - (SEMVER-PATCH) Fix github tag push (Ilyas Shabi) #7959407250794f] - (SEMVER-PATCH) ci: fail the flakiness report when it cannot report to slack (Roch Devost) #795637c4f8e3b7] - (SEMVER-MINOR) feat(telemetry): add DD_TELEMETRY_EXTENDED_HEARTBEAT_INTERVAL config (Ayan Khan) #78897209b4f887] - (SEMVER-PATCH) chore: use generated config types as much as possible (Ruben Bridgewater) #7955a89b832045] - (SEMVER-PATCH) chore: align debugger and dogstatsd with normalized config (Ruben Bridgewater) #79116f2e2ca01b] - (SEMVER-PATCH) chore(deps-dev): bump @rspack/core from 1.7.8 to 1.7.11 in /vendor (dependabot[bot]) #79337e599395dd] - (SEMVER-PATCH) fix: prevent nextjs memory leak (Roch Devost) #7946edef9302a0] - (SEMVER-PATCH) chore(deps-dev): bump eslint-plugin-unicorn from 63.0.0 to 64.0.0 (dependabot[bot]) #7937ace1582c9e] - (SEMVER-PATCH) chore(prisma): Improve prisma test execution time (Pablo Erhard) #79536b9731f5b0] - (SEMVER-PATCH) [test optimization] Refactorcypressas instrumentation (Juan Antonio Fernández de Alba) #78292bac2030d4] - (SEMVER-PATCH) fix(llmobs): fix missing estimated cost on Bedrock LLM spans (Grace Williams) #79523d9bd1cfe5] - (SEMVER-PATCH) docs: add supported configuration workflow to CONTRIBUTING.md (Ruben Bridgewater) #7898f5017bc18c] - (SEMVER-MINOR) refactor(config): generate runtime config from supported metadata (Ruben Bridgewater) #7916635402e6f8] - (SEMVER-MINOR) feat(profiler): add custom profiling labels API (Attila Szegedi) #78791fd6eb26be] - (SEMVER-PATCH) chore(deps-dev): bump the dev-minor-and-patch-dependencies group across 1 directory with 3 updates (dependabot[bot]) #7945