v6.9.0 proposal - #9616
Conversation
Pool.query() previously created its query span only after pg-pool acquired a client, hiding time spent waiting for an available or newly connected client. Record pool-caused wait as `db.pool.wait_time_ms` on the query span, and trace explicit callback and promise `pool.connect()` calls with `pg.pool.acquire` spans that record the same metric and connection errors. Keep event-loop delay out of `db.pool.wait_time_ms`: pg returns idle clients on a later tick, so acquire duration can include scheduler lag even when pool contention is zero. Explicit acquire spans retain the full caller-visible duration, while Pool.query() reports the wait once on its query span. Fixes: #1923
Both LLMObs skills described paths, APIs, test helpers, and VCR workflows that do not exist or contradicted the implementation, causing agents to work against the wrong contracts. Update the guidance to match the repository's plugin layout, span kinds, cassette setup, fetch interception, assertion semantics, orchestration categories, MCP transport, and instrumentation lifecycle, while removing duplicated guidance that had drifted from the source.
…pdates (#9611) Bumps the test-versions group with 2 updates in the /integration-tests/esbuild directory: [@smithy/smithy-client](https://github.com/smithy-lang/smithy-typescript/tree/HEAD/packages/smithy-client) and [openai](https://github.com/openai/openai-node). Updates `@smithy/smithy-client` from 4.14.14 to 4.14.15 - [Release notes](https://github.com/smithy-lang/smithy-typescript/releases) - [Changelog](https://github.com/smithy-lang/smithy-typescript/blob/main/packages/smithy-client/CHANGELOG.md) - [Commits](https://github.com/smithy-lang/smithy-typescript/commits/@smithy/smithy-client@4.14.15/packages/smithy-client) Updates `openai` from 6.49.0 to 7.0.0 - [Release notes](https://github.com/openai/openai-node/releases) - [Changelog](https://github.com/openai/openai-node/blob/main/CHANGELOG.md) - [Commits](openai/openai-node@v6.49.0...v7.0.0) --- updated-dependencies: - dependency-name: "@smithy/smithy-client" dependency-version: 4.14.15 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: test-versions - dependency-name: openai dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: test-versions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…tes (#9613) Bumps the ai-and-llm group with 7 updates in the /packages/dd-trace/test/plugins/versions directory: | Package | From | To | | --- | --- | --- | | [@ai-sdk/amazon-bedrock](https://github.com/vercel/ai/tree/HEAD/packages/amazon-bedrock) | `5.0.32` | `5.0.33` | | [@ai-sdk/anthropic](https://github.com/vercel/ai/tree/HEAD/packages/anthropic) | `4.0.21` | `4.0.22` | | [@ai-sdk/google](https://github.com/vercel/ai/tree/HEAD/packages/google) | `4.0.24` | `4.0.25` | | [@ai-sdk/openai](https://github.com/vercel/ai/tree/HEAD/packages/openai) | `4.0.20` | `4.0.21` | | [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk) | `1.29.0` | `1.30.0` | | [ai](https://github.com/vercel/ai/tree/HEAD/packages/ai) | `7.0.37` | `7.0.38` | | [openai](https://github.com/openai/openai-node) | `6.49.0` | `7.0.0` | Updates `@ai-sdk/amazon-bedrock` from 5.0.32 to 5.0.33 - [Release notes](https://github.com/vercel/ai/releases) - [Changelog](https://github.com/vercel/ai/blob/main/packages/amazon-bedrock/CHANGELOG.md) - [Commits](https://github.com/vercel/ai/commits/@ai-sdk/amazon-bedrock@5.0.33/packages/amazon-bedrock) Updates `@ai-sdk/anthropic` from 4.0.21 to 4.0.22 - [Release notes](https://github.com/vercel/ai/releases) - [Changelog](https://github.com/vercel/ai/blob/main/packages/anthropic/CHANGELOG.md) - [Commits](https://github.com/vercel/ai/commits/@ai-sdk/anthropic@4.0.22/packages/anthropic) Updates `@ai-sdk/google` from 4.0.24 to 4.0.25 - [Release notes](https://github.com/vercel/ai/releases) - [Changelog](https://github.com/vercel/ai/blob/main/packages/google/CHANGELOG.md) - [Commits](https://github.com/vercel/ai/commits/@ai-sdk/google@4.0.25/packages/google) Updates `@ai-sdk/openai` from 4.0.20 to 4.0.21 - [Release notes](https://github.com/vercel/ai/releases) - [Changelog](https://github.com/vercel/ai/blob/main/packages/openai/CHANGELOG.md) - [Commits](https://github.com/vercel/ai/commits/@ai-sdk/openai@4.0.21/packages/openai) Updates `@modelcontextprotocol/sdk` from 1.29.0 to 1.30.0 - [Release notes](https://github.com/modelcontextprotocol/typescript-sdk/releases) - [Commits](modelcontextprotocol/typescript-sdk@v1.29.0...1.30.0) Updates `ai` from 7.0.37 to 7.0.38 - [Release notes](https://github.com/vercel/ai/releases) - [Changelog](https://github.com/vercel/ai/blob/main/packages/ai/CHANGELOG.md) - [Commits](https://github.com/vercel/ai/commits/ai@7.0.38/packages/ai) Updates `openai` from 6.49.0 to 7.0.0 - [Release notes](https://github.com/openai/openai-node/releases) - [Changelog](https://github.com/openai/openai-node/blob/main/CHANGELOG.md) - [Commits](openai/openai-node@v6.49.0...v7.0.0) --- updated-dependencies: - dependency-name: "@ai-sdk/amazon-bedrock" dependency-version: 5.0.33 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: ai-and-llm - dependency-name: "@ai-sdk/anthropic" dependency-version: 4.0.22 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: ai-and-llm - dependency-name: "@ai-sdk/google" dependency-version: 4.0.25 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: ai-and-llm - dependency-name: "@ai-sdk/openai" dependency-version: 4.0.21 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: ai-and-llm - dependency-name: "@modelcontextprotocol/sdk" dependency-version: 1.30.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ai-and-llm - dependency-name: ai dependency-version: 7.0.38 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: ai-and-llm - dependency-name: openai dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: ai-and-llm ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps the test-versions group with 1 update in the /packages/dd-trace/test/plugins/versions directory: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node). Updates `@types/node` from 26.1.1 to 26.1.2 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-version: 26.1.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: test-versions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…th 10 updates (#9614) Bumps the cloud-and-messaging group with 10 updates in the /packages/dd-trace/test/plugins/versions directory: | Package | From | To | | --- | --- | --- | | [@aws-sdk/client-bedrock-runtime](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-bedrock-runtime) | `3.1095.0` | `3.1096.0` | | [@aws-sdk/client-dynamodb](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-dynamodb) | `3.1095.0` | `3.1096.0` | | [@aws-sdk/client-kinesis](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-kinesis) | `3.1095.0` | `3.1096.0` | | [@aws-sdk/client-lambda](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-lambda) | `3.1095.0` | `3.1096.0` | | [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3) | `3.1095.0` | `3.1096.0` | | [@aws-sdk/client-sfn](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-sfn) | `3.1095.0` | `3.1096.0` | | [@aws-sdk/client-sns](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-sns) | `3.1095.0` | `3.1096.0` | | [@aws-sdk/client-sqs](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-sqs) | `3.1095.0` | `3.1096.0` | | [@smithy/core](https://github.com/smithy-lang/smithy-typescript/tree/HEAD/packages/core) | `3.30.0` | `3.31.0` | | [@smithy/smithy-client](https://github.com/smithy-lang/smithy-typescript/tree/HEAD/packages/smithy-client) | `4.14.14` | `4.14.15` | Updates `@aws-sdk/client-bedrock-runtime` from 3.1095.0 to 3.1096.0 - [Release notes](https://github.com/aws/aws-sdk-js-v3/releases) - [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-bedrock-runtime/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1096.0/clients/client-bedrock-runtime) Updates `@aws-sdk/client-dynamodb` from 3.1095.0 to 3.1096.0 - [Release notes](https://github.com/aws/aws-sdk-js-v3/releases) - [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-dynamodb/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1096.0/clients/client-dynamodb) Updates `@aws-sdk/client-kinesis` from 3.1095.0 to 3.1096.0 - [Release notes](https://github.com/aws/aws-sdk-js-v3/releases) - [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-kinesis/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1096.0/clients/client-kinesis) Updates `@aws-sdk/client-lambda` from 3.1095.0 to 3.1096.0 - [Release notes](https://github.com/aws/aws-sdk-js-v3/releases) - [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-lambda/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1096.0/clients/client-lambda) Updates `@aws-sdk/client-s3` from 3.1095.0 to 3.1096.0 - [Release notes](https://github.com/aws/aws-sdk-js-v3/releases) - [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-s3/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1096.0/clients/client-s3) Updates `@aws-sdk/client-sfn` from 3.1095.0 to 3.1096.0 - [Release notes](https://github.com/aws/aws-sdk-js-v3/releases) - [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-sfn/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1096.0/clients/client-sfn) Updates `@aws-sdk/client-sns` from 3.1095.0 to 3.1096.0 - [Release notes](https://github.com/aws/aws-sdk-js-v3/releases) - [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-sns/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1096.0/clients/client-sns) Updates `@aws-sdk/client-sqs` from 3.1095.0 to 3.1096.0 - [Release notes](https://github.com/aws/aws-sdk-js-v3/releases) - [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-sqs/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1096.0/clients/client-sqs) Updates `@smithy/core` from 3.30.0 to 3.31.0 - [Release notes](https://github.com/smithy-lang/smithy-typescript/releases) - [Changelog](https://github.com/smithy-lang/smithy-typescript/blob/main/packages/core/CHANGELOG.md) - [Commits](https://github.com/smithy-lang/smithy-typescript/commits/@smithy/core@3.31.0/packages/core) Updates `@smithy/smithy-client` from 4.14.14 to 4.14.15 - [Release notes](https://github.com/smithy-lang/smithy-typescript/releases) - [Changelog](https://github.com/smithy-lang/smithy-typescript/blob/main/packages/smithy-client/CHANGELOG.md) - [Commits](https://github.com/smithy-lang/smithy-typescript/commits/@smithy/smithy-client@4.14.15/packages/smithy-client) --- updated-dependencies: - dependency-name: "@aws-sdk/client-bedrock-runtime" dependency-version: 3.1096.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: cloud-and-messaging - dependency-name: "@aws-sdk/client-dynamodb" dependency-version: 3.1096.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: cloud-and-messaging - dependency-name: "@aws-sdk/client-kinesis" dependency-version: 3.1096.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: cloud-and-messaging - dependency-name: "@aws-sdk/client-lambda" dependency-version: 3.1096.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: cloud-and-messaging - dependency-name: "@aws-sdk/client-s3" dependency-version: 3.1096.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: cloud-and-messaging - dependency-name: "@aws-sdk/client-sfn" dependency-version: 3.1096.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: cloud-and-messaging - dependency-name: "@aws-sdk/client-sns" dependency-version: 3.1096.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: cloud-and-messaging - dependency-name: "@aws-sdk/client-sqs" dependency-version: 3.1096.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: cloud-and-messaging - dependency-name: "@smithy/core" dependency-version: 3.31.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: cloud-and-messaging - dependency-name: "@smithy/smithy-client" dependency-version: 4.14.15 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: cloud-and-messaging ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Overall package sizeSelf size: 7.85 MB Dependency sizes| name | version | self size | total size | |------|---------|-----------|------------| | import-in-the-middle | 3.3.3 | 125.43 kB | 441.68 kB | | opentracing | 0.14.7 | 194.81 kB | 194.81 kB | | dc-polyfill | 0.1.11 | 25.74 kB | 25.74 kB |🤖 This report was automatically generated by heaviest-objects-in-the-universe |
🎉 All green!🧪 All tests passed 🔄 Datadog retried 1 test - 1 passed on retry 🎯 Code Coverage (details) 🔗 Commit SHA: e7443a4 | Docs | Datadog PR Page | Give us feedback! |
BenchmarksBenchmark execution time: 2026-08-05 15:07:33 Comparing candidate commit e7443a4 in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 2316 metrics, 42 unstable metrics.
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## v6.x #9616 +/- ##
=======================================
Coverage ? 98.50%
=======================================
Files ? 963
Lines ? 135796
Branches ? 11797
=======================================
Hits ? 133772
Misses ? 2024
Partials ? 0 Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Applications without an Orchestrion rewrite target loaded the transformer graph on their first ESM dependency. Gate initialization on an exact generated target map, pass the parsed target to the rewriter, and keep configuration defaults out of loader workers unless the hook initializes. This reduces Node 22.0.0 Linux arm64 bailout startup from 200.1 ms to 69.3 ms and regular tracer startup from 1945.3 ms to 1816.0 ms, while verification prevents the generated target map from drifting from the instrumentation descriptors.
* fix(dns): preserve shorthand rrtype with options DNS shorthand calls with an options object were captured as [hostname, options, rrtype], so the plugin read the options object and fell back to A even when Node performed an AAAA query. Keep the synthetic record type in the plugin context slot while preserving the original options. Fixes: #9621 * fix(dns): instrument CAA and TLSA resolve shorthands ## Summary Node 18 exposes resolveCaa and newer releases expose resolveTlsa, but both were absent from the shorthand table and emitted no DNS spans. ## Why In-place argument shifting measured 15.4 ns/context versus 32.2 ns/context for splice on Node 24.18.0 / V8 13.6 (two seven-trial runs, dropping the best and worst). ## Test plan - packages/datadog-plugin-dns/test/index.spec.js Refs: #9621
Legacy Express can call next before throwing, and multi-pattern route matching can fail outside the host dispatch boundary. Keep lifecycle publishing at most once and forward matcher failures through next(error). The native fallback reduced middleware dispatch from 350.10 to 299.50 ns/op on Node 18 and 224.67 to 204.93 ns/op on Node 24 (1M warm-up, seven 500K trials, trimmed mean).
…pdates (#9646) Bumps the test-versions group with 6 updates in the /packages/dd-trace/test/plugins/versions directory: | Package | From | To | | --- | --- | --- | | [@openfeature/core](https://github.com/open-feature/js-sdk) | `1.11.0` | `1.12.0` | | [@openfeature/server-sdk](https://github.com/open-feature/js-sdk) | `1.22.0` | `1.23.0` | | [google-gax](https://github.com/googleapis/google-cloud-node/tree/HEAD/core/packages/gax) | `5.0.8` | `6.0.0` | | [npm](https://github.com/npm/cli) | `12.0.1` | `12.0.2` | | [pnpm](https://github.com/pnpm/pnpm/tree/HEAD/pnpm11/pnpm) | `11.17.0` | `11.18.0` | | [stripe](https://github.com/stripe/stripe-node) | `22.3.2` | `22.4.0` | Updates `@openfeature/core` from 1.11.0 to 1.12.0 - [Release notes](https://github.com/open-feature/js-sdk/releases) - [Commits](open-feature/js-sdk@core-v1.11.0...core-v1.12.0) Updates `@openfeature/server-sdk` from 1.22.0 to 1.23.0 - [Release notes](https://github.com/open-feature/js-sdk/releases) - [Commits](open-feature/js-sdk@server-sdk-v1.22.0...server-sdk-v1.23.0) Updates `google-gax` from 5.0.8 to 6.0.0 - [Release notes](https://github.com/googleapis/google-cloud-node/releases) - [Changelog](https://github.com/googleapis/google-cloud-node/blob/main/core/packages/gax/CHANGELOG.md) - [Commits](https://github.com/googleapis/google-cloud-node/commits/google-gax-v6.0.0/core/packages/gax) Updates `npm` from 12.0.1 to 12.0.2 - [Release notes](https://github.com/npm/cli/releases) - [Changelog](https://github.com/npm/cli/blob/latest/CHANGELOG.md) - [Commits](npm/cli@v12.0.1...v12.0.2) Updates `pnpm` from 11.17.0 to 11.18.0 - [Release notes](https://github.com/pnpm/pnpm/releases) - [Commits](https://github.com/pnpm/pnpm/commits/v11.18.0/pnpm11/pnpm) Updates `stripe` from 22.3.2 to 22.4.0 - [Release notes](https://github.com/stripe/stripe-node/releases) - [Changelog](https://github.com/stripe/stripe-node/blob/master/CHANGELOG.md) - [Commits](stripe/stripe-node@v22.3.2...v22.4.0) --- updated-dependencies: - dependency-name: "@openfeature/core" dependency-version: 1.12.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: test-versions - dependency-name: "@openfeature/server-sdk" dependency-version: 1.23.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: test-versions - dependency-name: google-gax dependency-version: 6.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: test-versions - dependency-name: npm dependency-version: 12.0.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: test-versions - dependency-name: pnpm dependency-version: 11.18.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: test-versions - dependency-name: stripe dependency-version: 22.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: test-versions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
… 4 updates (#9645) Bumps the testing-and-build group with 4 updates in the /packages/dd-trace/test/plugins/versions directory: [@playwright/test](https://github.com/microsoft/playwright), [nock](https://github.com/nock/nock), [playwright](https://github.com/microsoft/playwright) and [playwright-core](https://github.com/microsoft/playwright). Updates `@playwright/test` from 1.62.0 to 1.62.1 - [Release notes](https://github.com/microsoft/playwright/releases) - [Commits](microsoft/playwright@v1.62.0...v1.62.1) Updates `nock` from 14.0.16 to 14.0.17 - [Release notes](https://github.com/nock/nock/releases) - [Changelog](https://github.com/nock/nock/blob/main/CHANGELOG.md) - [Commits](nock/nock@v14.0.16...v14.0.17) Updates `playwright` from 1.62.0 to 1.62.1 - [Release notes](https://github.com/microsoft/playwright/releases) - [Commits](microsoft/playwright@v1.62.0...v1.62.1) Updates `playwright-core` from 1.62.0 to 1.62.1 - [Release notes](https://github.com/microsoft/playwright/releases) - [Commits](microsoft/playwright@v1.62.0...v1.62.1) --- updated-dependencies: - dependency-name: "@playwright/test" dependency-version: 1.62.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: testing-and-build - dependency-name: nock dependency-version: 14.0.17 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: testing-and-build - dependency-name: playwright dependency-version: 1.62.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: testing-and-build - dependency-name: playwright-core dependency-version: 1.62.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: testing-and-build ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
e26590e to
1890cab
Compare
…startup/everything-fixture in the npm_and_yarn group across 1 directory (#9647) Bumps the npm_and_yarn group with 1 update in the /benchmark/sirun/startup/everything-fixture directory: [mongoose](https://github.com/Automattic/mongoose). Updates `mongoose` from 8.23.1 to 8.24.1 - [Release notes](https://github.com/Automattic/mongoose/releases) - [Changelog](https://github.com/Automattic/mongoose/blob/master/CHANGELOG.md) - [Commits](Automattic/mongoose@8.23.1...8.24.1) --- updated-dependencies: - dependency-name: mongoose dependency-version: 8.24.1 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>
…pdates (#9640) Bumps the test-versions group with 3 updates in the /integration-tests/esbuild directory: [@smithy/smithy-client](https://github.com/smithy-lang/smithy-typescript/tree/HEAD/packages/smithy-client), [axios](https://github.com/axios/axios) and [openai](https://github.com/openai/openai-node). Updates `@smithy/smithy-client` from 4.14.15 to 4.14.16 - [Release notes](https://github.com/smithy-lang/smithy-typescript/releases) - [Changelog](https://github.com/smithy-lang/smithy-typescript/blob/main/packages/smithy-client/CHANGELOG.md) - [Commits](https://github.com/smithy-lang/smithy-typescript/commits/@smithy/smithy-client@4.14.16/packages/smithy-client) Updates `axios` from 1.18.1 to 1.19.0 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](axios/axios@v1.18.1...v1.19.0) Updates `openai` from 7.0.0 to 7.2.0 - [Release notes](https://github.com/openai/openai-node/releases) - [Changelog](https://github.com/openai/openai-node/blob/main/CHANGELOG.md) - [Commits](openai/openai-node@v7.0.0...v7.2.0) --- updated-dependencies: - dependency-name: "@smithy/smithy-client" dependency-version: 4.14.16 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: test-versions - dependency-name: axios dependency-version: 1.19.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: test-versions - dependency-name: openai dependency-version: 7.2.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: test-versions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
… pass (#9618) Four related clean-ups that make these regular expressions state their intent directly, plus the actionlint shellcheck pass now that what it reports is clear. 1. actionlint's shellcheck pass sat behind a `TODO should we enable this?`. #9586 cleared its findings, so turning it on is what keeps them from creeping back as workflows are edited. Drive-by: the CodeQL status-polling loop never referenced its index variable, so it becomes `_`. 2. The Test Optimization validation CLI and the diagnose command carried redundant non-capturing groups, single-character alternations that belong in a character class, and quantifiers able to match the empty string. Most of the rewrites are equivalence-preserving: `--?x` becomes `-x` because the following class already absorbs a second dash, and the ANSI escape ranges spell out their code points rather than hiding them behind `0-?`, ` -/`, and `@-~`. Three narrow what the matcher accepts, each rejecting input it was never meant to take: * `^\s*` under the `m` flag spans line terminators, so the `Scenario:` counter and the `Feature:`/`Rule:` ownership check could anchor on one line and match text on the next. Horizontal whitespace cannot cross the line the anchor matched. Same shape as the playwright summary fix in #9587. * The YAML key matcher no longer lets a whitespace-prefixed key claim a value that the quoted alternatives should have taken. * The cucumber environment-assignment value no longer begins with a quote the unquoted alternative cannot terminate. These modules ship in the package, but nothing in the tracer runtime loads them: they run only when a developer invokes the validation CLI or the diagnose command directly. 3. The OpenFeature writers trim the trailing slash of `EVP_PROXY_AGENT_BASE_PATH`, which is `/evp_proxy/v2/` and carries exactly one, so `/\/$/` yields the same string as `/\/+$/`. An integration spec asserted against `[?]`, a one-character class, which is `\?`. 4. The redaction name lists repeated entries their own sources already matched, reading as though each spelling needed a separate alternative. Every pattern built from these sources is unanchored and carries the `i` flag, so a substring match is enough: `SECRET` covers `CLIENT_?SECRET`, `COOKIE` covers `SET-COOKIE` at the word boundary after the hyphen, and `TOKEN` and `COOKIE` reach the lowercase header spellings through the environment-name source spliced in below them. The captured name can differ while the matched span does not, because these patterns replace the value and locate it the same way either form. The character classes list uppercase only for that same reason. The existing redaction spec is unchanged and still passes.
Coverage discovery followed symlinks, so a report path could upload a different local file.
* chore(eslint): enable rules that are clean or trivially fixable
Every rule enabled here reports zero violations, or reports only the handful
fixed in this change. Several `off` entries were parked on counts that have since
drifted to zero: `sonarjs/slow-regex` guards the ReDoS class again, and
`no-unassigned-vars` returns to the recommended default.
1. `jsdoc/require-returns-type` had four bare `@returns Promise` / `@returns
Object` tags left. Each type is inferable from the body, so the tag goes
rather than gaining braces.
2. `no-constructor-return` catches a `return` that silently discards `this`. The
one deliberate site returns a native `BrowserWindow` that cannot be
subclassed, so it opts out inline.
3. `unicorn/expiring-todo-comments` falls back to the recommended default. Its
`checkDates` option stays off, so it enforces package-version and engine
conditions only.
4. `unicorn/no-unsafe-dom-html` guards the innerHTML sink class that
`recommended` leaves off.
5. Two `eslint-no-private-tags-access` allowlist entries and the relaxed
`mocha/max-top-level-suites` exception suppressed nothing and are dropped.
* chore(eslint): forbid unused catch bindings
The two harnesses that discarded the caught error before `process.exit(1)` left CI
failures without a cause anywhere in the log. They print it now.
* chore(eslint): enable no-unused-properties, valid-params and no-return-wrap
1. `agent.assertSomeTraces(…)` received `{ timeoutMs: 100 }` as the second argument of
`.catch()`, where it is ignored, so that assertion waited for the 1000 ms default.
2. The guardrails level table listed names nothing ever looked up, and had drifted from
the canonical map in `log/channels.js` (`trace` at 20 instead of 10).
3. The extra microtask tick in the profiler test helper is load-bearing, not cosmetic.
* chore(eslint): activate ten rules and define the log levels once
1. The level table existed twice, and the guardrails copy had drifted: `trace` sat at
20 instead of 10. Both readers now require `log/levels.js`.
2. Every reported `parseInt` call parses a decimal port, version, duration or token
count, so an explicit radix of 10 preserves the behaviour of all of them.
* chore(eslint): activate further rules that the repository already satisfies
Every rule here was probed against a deliberate violation before landing, so the
list holds the rules that report zero findings and still fire, rather than the
larger set that merely looks clean.
The query wrapper reconstructed callbacks from two named values even though mysql invokes them with (error, results, fields). This preserves the exact argument tuple, including arguments.length, on success and error paths.
…9549) * fix(loader): install the import-in-the-middle matcher under --loader Node calls a hook's `initialize` only through `module.register`, so a tracer started with `--loader dd-trace/initialize.mjs` never built the include matcher and import-in-the-middle proxied every application module rather than the instrumented packages. The first `load` doubles as the initialization point: it runs only in a loader thread and precedes every dependency resolution. * refactor(loader): install the matcher through Node's initialize hook Node has called a `--loader` hook's `initialize` since 18.19.0 and 20.6.0 and the supported range starts at 22, so re-exporting loader-hook's hook installs the include matcher on every runtime we ship to. The fixture pins both sides of the matcher. Asserting only that nothing extra gets wrapped also passes when the matcher matches nothing at all, which is what the application-thread path builds. * fix(loader): keep installing the matcher from the first load Node ships a `--loader` hook's `initialize` from 20.6.0 and 18.19.0, and the integration-guardrails matrix pins 20.0.0, where the re-export installs nothing and import-in-the-middle wraps every module. Calling it eagerly at registration also left the 22.0.0 guardrail job finishing its suite green without the process exiting. The fixture now pins both sides of the matcher. Asserting only that nothing extra gets wrapped also passes when the matcher matches nothing at all, which is what the application-thread path builds. * fix(loader): apply PM2 environment before matcher setup PM2 keeps per-app variables in its pm2_env blob until application bootstrap. The loader worker has its own environment copy, so security-control modules configured only through PM2 were excluded when the include matcher was built. * fix(loader): apply PM2 environment during module load PM2 assigns every value from its cluster-worker blob before starting the application. Skipping null values made tracer configuration differ from the environment the application later received. * ci: enforce guardrails CODEOWNERS coverage ## Summary - Add the guardrails folder to the scoped CODEOWNERS audit. - Assign the folder to Lang Platform. ## Why The previous lint scope excluded production guardrails, so unowned files only failed after MergeGate ran.
* test(agent): reset the propagation-hash config on close Every `agent.load` boots a real tracer, and `TracerProxy.init` hands the live `Config` to the propagation-hash singleton with process-tag propagation enabled by default. `agent.close` tears the tracer down but leaves that config in place, so `DataStreamsProcessor > should export on interval` found a `ProcessTags` array in the flushed payload whenever a spec using the mock agent ran earlier in the same process. The datastreams processor spec's own cleanup moves into `afterEach`, because at the end of a test body a failing assertion skipped it and leaked the same state. * test(google-cloud-pubsub): drop the DSM coverage duplicated in dsm.spec.js `index.spec.js` carried a second copy of the `should set a DSM checkpoint` and `it should set a message payload size` suites that `dsm.spec.js` already owns. Its copy computed the expected pathway hashes in a `before` hook, which mocha runs before the suite's own `agent.load`; that read only returned a hash because the propagation-hash singleton still held the `Config` of whichever `agent.load` ran last in the process, so clearing that config on close turns the accidental pass into `Hash not found` on all six pubsub versions. `dsm.spec.js` computes the hashes after its own `agent.load`, so the coverage survives the removal.
38f5027 to
e7443a4
Compare
There was a problem hiding this comment.
More details
Focused execution found no clear behavioral regression attributable to this release diff. The expanded Test Optimization validation paths, loader matcher, AppSec channel split, worker telemetry rules, and configuration handling passed targeted checks; PG and LLMObs runtime suites could not fully start because local version fixtures and the test agent processor were unavailable.
📊 Validated against 670 scenarios · Open Bits AI session
🤖 Datadog Autotest · Commit e7443a4 · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e7443a4e4e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const wrappedStart = getWrappedStart(runAsPromise, frameworkVersion, true) | ||
|
|
||
| return function (numberOfWorkers, done) { | ||
| return wrappedStart.call(this, numberOfWorkers).then(done) |
There was a problem hiding this comment.
Settle the Cucumber coordinator callback on rejection
In the Cucumber 7 parallel coordinator path, this adapts a callback-based run(numberOfWorkers, done) API but only invokes done when wrappedStart fulfills. If the setup path or underlying coordinator rejects before invoking its callback, the returned promise is not enough for the callback-based caller and done is never called, which can leave the parallel run hanging and skip the Test Optimization flush. Please invoke the callback from both fulfillment and rejection paths.
Useful? React with 👍 / 👎.
| ml_app: mlApp, | ||
| [`${metricType}_value`]: value, | ||
| timestamp_ms: timestampMs, | ||
| tags: buildMetricTags(tags, mlApp, 'feedback'), |
There was a problem hiding this comment.
Preserve the OTel source tag on feedback submissions
When DD_TRACE_OTEL_ENABLED is true and feedback is attached to an OTel-created span or trace, this builds the feedback tags without the OTel flag that submitEvaluation passes to the same helper. Without source:otel, the backend is not told to wait for OTel span conversion, so feedback submitted against those span or trace IDs can arrive before the converted span is available and fail to associate; pass this._config.DD_TRACE_OTEL_ENABLED here as well.
Useful? React with 👍 / 👎.
Features
Fixes
Performance
Documentation
Internal (CI, Testing, Benchmarking)