Skip to content

v5.102.1 proposal - #8381

Closed
dd-octo-sts[bot] wants to merge 27 commits into
v5.xfrom
v5.102.1-proposal
Closed

v5.102.1 proposal#8381
dd-octo-sts[bot] wants to merge 27 commits into
v5.xfrom
v5.102.1-proposal

Conversation

@dd-octo-sts

@dd-octo-sts dd-octo-sts Bot commented May 9, 2026

Copy link
Copy Markdown
Contributor
  • [0b494e8792] - (SEMVER-PATCH) chore(deps): bump the test-versions group across 1 directory with 2 updates (dependabot[bot]) #8410
  • [807fceb14d] - (SEMVER-PATCH) chore(deps): bump openai (dependabot[bot]) #8360
  • [f5ee7b20de] - (SEMVER-PATCH) fix(tracing): fix TypeError in ritm.js when requiring node:-prefixed built-in modules (Yuichi Uchida) #8304
  • [057685610b] - (SEMVER-PATCH) fix(stacktrace): filter dd-trace instrumentation frames for any repo directory name (Roch Devost) #8301
  • [a39c44ed42] - (SEMVER-PATCH) test(ws): refactor lifecycle hooks to use dynamic ports and separate afterEach (Roch Devost) #8367
  • [e3a718bae7] - (SEMVER-PATCH) chore(deps-dev): bump nock from 13.5.6 to 14.0.14 (dependabot[bot]) #8280
  • [a3bb4cd3af] - (SEMVER-PATCH) ci: replace CodeQL workflow with default setup configuration (Roch Devost) #8380
  • [47591c3fde] - (SEMVER-PATCH) perf(aws-sdk): trim per-response allocations (Ruben Bridgewater) #8328
  • [c05e122cbe] - (SEMVER-PATCH) perf(mongodb): cache the per-connection topology shape (Ruben Bridgewater) #8370
  • [fc437471cc] - (SEMVER-PATCH) perf(database): cache the DBM SQL injection comment per connection (Ruben Bridgewater) #8371
  • [8d6b8824d2] - (SEMVER-PATCH) perf(grpc): cache method metadata, drop banned for-in walks (Ruben Bridgewater) #8377
  • [5c2656c36b] - (SEMVER-PATCH) chore(deps): bump dc-polyfill from 0.1.10 to 0.1.11 (Brian Marks) #8369
  • [e05e6c6784] - (SEMVER-PATCH) perf(pubsub): trim per-message allocations in publish hot path (Ruben Bridgewater) #8374
  • [9fb4d152b2] - (SEMVER-PATCH) perf(mongodb): fold limit-depth and bigint sanitisation into one pass (Ruben Bridgewater) #8375
  • [c610358953] - (SEMVER-PATCH) fix(grpc): require a colon and a strictly numeric tail before tagging… (Ruben Bridgewater) #8378
  • [a46860bc55] - (SEMVER-PATCH) refactor(azure-metadata): parse WEBSITE_OWNER_NAME without regex (Ruben Bridgewater) #8348
  • [43de16c356] - (SEMVER-PATCH) chore(couchbase): drop SDK 2.x instrumentation hook (Ruben Bridgewater) #8362
  • [b893e3165d] - (SEMVER-PATCH) test: add a few database tests to cover recent reports better (Ruben Bridgewater) #7534
  • [26f3793cd9] - (SEMVER-PATCH) fix(aws-sdk): global crypto error (Pablo Erhard) #8368
  • [5802bcb274] - (SEMVER-PATCH) fix(plugin-mysql): destructure CLIENT_PORT_KEY from the constants module (Ruben Bridgewater) #8303
  • [5e54f8226f] - (SEMVER-PATCH) [test optimization] Bump playwright support to 1.59 (Juan Antonio Fernández de Alba) #8363
  • [b3c20f8cf1] - (SEMVER-PATCH) [test optimization] Bump cucumber latest version (Juan Antonio Fernández de Alba) #8364
  • [a5834a8f30] - (SEMVER-PATCH) [test optimization] Support Jest 30.4.1 (Juan Antonio Fernández de Alba) #8361
  • [aa3c020225] - (SEMVER-PATCH) fix(config): disable OTLP only when protocolVersion is explicitly set (Ruben Bridgewater) #8335
  • [0b803f55de] - (SEMVER-PATCH) [test-optimization] Propagate ITR skipping enabled tag to suites and tests (Andrey Marchenko) #8332
  • [7350d99b0f] - (SEMVER-PATCH) [test optimization] Use duration buckets for playwright EFD retries (Juan Antonio Fernández de Alba) #8289

juan-fernandez and others added 19 commits May 9, 2026 05:57
…#8335)

* fix(config): disable OTLP only when protocolVersion is explicitly set

The OTLP-disable rule fires on `protocolVersion !== '0.4'`, which proxies
"user typed something" as a value comparison because '0.4' is both the
default and the universally-deployed value. That proxy breaks the moment
the default changes: any user enabling OTLP would have it silently
disabled even though they never touched the protocol version.

Observable behavior change: explicitly setting
`DD_TRACE_AGENT_PROTOCOL_VERSION=0.4` while OTLP is enabled now disables
OTLP. Previously the value-equal-to-default special case slipped through.

---------

Co-authored-by: Brian Marks <bm1549@users.noreply.github.com>
…ule (#8303)

The plugin imported the whole `constants` module as `CLIENT_PORT_KEY`,
so `[CLIENT_PORT_KEY]: ctx.conf.port` coerced the module to its string
form and tagged every mysql / mysql2 span with a literal
`[object Object]: <port>` metric instead of `network.destination.port`.
Peer-service computation, downstream filters, and any product feature
keyed off `network.destination.port` had no port to read on this plugin
since v0.
The database plugin tests had three coverage gaps:

1. mongodb-core, mysql, and pg only exercised dbmPropagationMode
   through plugin config, so the tracer-level wiring through
   plugin_manager._getSharedConfig was never pinned. One case per
   plugin now sets the option through the tracer-config slot
   (third agent.load arg).

2. Prisma's adapter-aware client routing in read-replica setups
   was not covered. The new prisma case spins up two clients on
   different hosts and asserts each db_query span carries the
   active adapter's host/port metadata.

3. Prisma v7 over OTel had no integration-tests entrypoint.
   server-ts-v7-otel.mjs exercises that wiring end-to-end.

Drive-by fix:

* Extract createEngineDbQuerySpan() in the prisma spec to avoid
  re-rolling the same span literal per case.
Couchbase Node.js SDK 2.6.x supports Node 6/8/10 only (`couchnode`
predates N-API), but the tracer's `engines` requires Node >=18, so
the `^2.6.12` hook cannot be reached on any supported runtime. The
CI matrix entry was already commented out and the `<3.0.0` unit-test
block already `describe.skip`ped, both pointing at the same bug.

The plugin's `apm:couchbase:{bucket,cluster}:maybeInvoke:*` binds and
`apm:couchbase:{append,prepend}` command subs have no publisher once
the 2.x hook is gone and are removed with it; the 3.x / 4.x hooks
still cover the surviving paths.

Drive-by fix:

* Tighten the `scripts/install_plugin_modules.js` ARM64-exclusion
  comment to `< 3.2.2` so it matches the remaining `lib/`-style hooks.

Refs: #6400
The greedy `/.+\+(.+)-.+webspace(-Linux)?/` shape made the engine
backtrack through three open-ended `.+` quantifiers to find the right
`-` before `<region>webspace`. Plain string ops (`indexOf('+')` then
`endsWith('webspace')` then `lastIndexOf('-')`) read directly off the
documented format and stop on the first match, with no backtracking
needed.
#8378)

`finish` parsed the peer string with `peer.split(':') + parts.at(-1)`
and tagged `network.destination.port` whenever the last segment
matched the unanchored `/^\d+/`. Two malformed-peer shapes slipped
through:

1. Partially-numeric tails — e.g. `'1.2.3.4:80abc'` matched the
   leading `80` and tagged a mangled `port='80abc'`.
2. Pure-digit peers without a colon — e.g. `'8080'` tagged
   `ip='', port='8080'`, leaking an empty ip into peer-service
   resolution.

Use `peer.lastIndexOf(':')` plus an anchored `/^\d+$/` on the tail;
both shapes now fall through to the catch-all branch that tags the
raw peer as `network.destination.ip`. The hot path also stops
allocating an intermediate `parts` array per call.

Bench (Node 24.13 / V8 13.6, n=200 k+ x 7 trials, drop best+worst):
  split + slice + at(-1)               360.06 ns/op
  lastIndexOf + slice                  166.78 ns/op   speedup: 2.16x
…#8375)

`getQuery` did two full walks per command — `limitDepth` cloned the
filter into a parallel "?-or-object" tree, then `sanitizeBigInt` ran
`JSON.stringify` over the clone — so big `$or` arrays and deep
`$lookup` pipelines paid the per-key allocation twice. Fold both into
one `JSON.stringify` replacer; the native `toJSON` dispatch handles
`ObjectId` / `Decimal128` / `Long` / `Date` / `Timestamp`, the
replacer suppresses `Buffer` / `Binary` toJSON output, and an
ancestor stack tracks depth without a separate clone.

Three behaviour drifts vs `limitDepth`, none covered by existing
specs:

1. Inherited enumerable keys are no longer walked.
2. Shallow cycles render as `{"self":"?"}` instead of a ten-deep
   nested fallback.
3. Arrays of `Buffer` / function are sanitised instead of falling
   through.

Drive-by fix:

* `truncate` short-circuits when the resource already fits under 10
  KB.
Three per-message allocations that compound on a typical batch:

1. `bindStart` called `String(messageCount)` and
   `String(Math.floor(batchSpan._startTime))` on every iteration
   despite both being loop-invariant — on a 100-message batch
   that's 200 redundant string allocations per send. Hoist both
   above the loop.
2. The per-message `Object.assign({...})` over seven attribute
   fields rebuilt a fresh object every iteration. Assign per-key so
   V8 keeps `msg.attributes` on its existing hidden class.
3. The parent-from-message-0 span-link extraction
   (`messages.slice(1).map(...).filter(Boolean)`) allocated three
   intermediate arrays per call. Replace with a single `for` loop.
Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>
Three coordinated pieces:

1. `getMethodMetadata` re-parsed the path on every call. Cache the
   `{name, service, package}` triple by path in a module-scope `Map`;
   size is bounded by the app's distinct gRPC methods.
2. `addMetadataTags` cloned metadata via `metadata.getMap()` even
   when no filter was configured. Export the `getEmptyObject`
   sentinel and short-circuit on identity before the clone.
3. The remaining `for-in` walks (filter-return iteration in
   `addMetadataTags`, the client `inject` carrier) become `for-of
   Object.keys`.

Bench (Node 24.13 / V8 13.6, n=200 k+ x 7 trials, drop best+worst):
  getMethodMetadata parse on every call    74.50 ns/op
  getMethodMetadata cache hit               5.84 ns/op   speedup: 12.76x
…8371)

`#createDBMPropagationCommentService` rebuilt the same six-segment
comment on every query. Three fields (`dde`, `ddps`, `ddpv`) are
immutable per process; the other three (`dddb`, `dddbs`, `ddh`) are
stable per connection in any real workload.

Three coordinated pieces:

1. `configure()` bakes `dde`, `ddps`, `ddpv` into pre-templated
   fragments; reconfiguring clears them so a new env / version takes
   effect on the next call.
2. A per-`DatabasePlugin` `LRUCache(max=256)` keyed by
   `${db}\0${host}\0${dbmService}` stores the per-connection prefix.
   The cap bounds high-cardinality `db.name` workloads (notably
   MongoDB's `${database}.${collection}`); steady-state working sets
   fit well below it and a missed lookup costs a few hundred ns.
3. `encode` short-circuits names matching `[A-Za-z0-9-_.~]*` —
   exactly what `encodeURIComponent` leaves unchanged.

Bench (worker numbers, steady-state cache hit rate):
  before                                 6.85 Mops/s
  after                                 10.68 Mops/s   speedup: 1.56x

Refs: #8325 (comment)
`wrapConnectionCommand` (mongodb >= 4) rebuilt the same five objects
from `this.address` on every command. The Connection's address is
immutable for its lifetime, so the work lands once on the first
command and reuses a per-Connection envelope thereafter.

The cache lives in a module-scope `WeakMap` instead of a Symbol-keyed
property: the Connection is a foreign object, and an own-key (even a
Symbol) shows up to `Reflect.ownKeys` / `Object.getOwnPropertySymbols`,
forces a hidden-class transition on first hit, and can collide with
another tracer's instrumentation walking the same connection. The
extra `WeakMap.get` is single-digit nanoseconds and the foreign object
stays untouched.

The address parser tightens the previous `length === 2` split to
"exactly one `:`, non-empty parts on both sides" so non-standard
addresses (random UUIDs, IPv6 forms, empty port / host halves) all
collapse to the empty-options topology. `synthesizeTopology` is
exported so the parser is unit-tested directly rather than through the
mongodb integration suite.

Bench (Node 24.15 / V8 13.6, n=500 k x 7 trials, drop best+worst,
warm cache, hit-only):
  per-command rebuild              19.30 ns/op
  cached envelope (WeakMap)         8.32 ns/op   speedup: 2.32x
A win on the AWS SDK response hot path:

addResponseTags: drop the temporary tags object, the empty
{} produced by extraTags = generateTags(...) || {}, and the
redundant 'span.kind': 'client' re-tag. Service-level
generateTags early-returns undefined instead of {}; SQS's
'span.kind': 'consumer'/'producer' override still flows through
addTags unchanged.

Node v24.13.0 V8 13.6.233.17-node.37 (n=200 k+ × 7 trials, drop best+worst)

aws-sdk addResponseTags: per-response tag allocation (no extra tags)
before (alloc tags + addTags)        385.90 ns/op
after  (setTag direct)               178.90 ns/op   speedup: 2.16x
@github-actions

github-actions Bot commented May 9, 2026

Copy link
Copy Markdown
Contributor

Overall package size

Self size: 5.81 MB
Deduped: 6.65 MB
No deduping: 6.65 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.11 | 25.74 kB | 25.74 kB |

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

@datadog-datadog-prod-us1-2

datadog-datadog-prod-us1-2 Bot commented May 9, 2026

Copy link
Copy Markdown

Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

🎯 Code Coverage (details)
Patch Coverage: 84.79%
Overall Coverage: 86.90%

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 138d873 | Docs | Datadog PR Page | Give us feedback!

@codecov

codecov Bot commented May 9, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 93.63905% with 43 lines in your changes missing coverage. Please review.
✅ Project coverage is 90.13%. Comparing base (6b35e7d) to head (138d873).
⚠️ Report is 1142 commits behind head on v5.x.

Files with missing lines Patch % Lines
packages/datadog-instrumentations/src/jest.js 91.54% 18 Missing ⚠️
...ackages/datadog-instrumentations/src/playwright.js 92.77% 18 Missing ⚠️
...datadog-plugin-google-cloud-pubsub/src/producer.js 85.71% 3 Missing ⚠️
...kages/datadog-instrumentations/src/mongodb-core.js 92.85% 1 Missing ⚠️
...adog-plugin-aws-sdk/src/services/cloudwatchlogs.js 0.00% 1 Missing ⚠️
...es/datadog-plugin-aws-sdk/src/services/redshift.js 0.00% 1 Missing ⚠️
packages/datadog-plugin-jest/src/index.js 97.95% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             v5.x    #8381      +/-   ##
==========================================
+ Coverage   83.19%   90.13%   +6.94%     
==========================================
  Files         476      836     +360     
  Lines       20153    44867   +24714     
  Branches        0     8320    +8320     
==========================================
+ Hits        16766    40442   +23676     
- Misses       3387     4425    +1038     
Flag Coverage Δ
aiguard-integration-active 40.45% <8.00%> (?)
aiguard-integration-latest 40.39% <8.00%> (?)
aiguard-integration-maintenance 40.45% <8.00%> (?)
aiguard-macos 35.13% <10.52%> (?)
aiguard-ubuntu 35.23% <10.52%> (?)
aiguard-windows 35.06% <10.52%> (?)
apm-capabilities-tracing-macos 49.03% <20.22%> (?)
apm-capabilities-tracing-ubuntu-active 49.06% <20.22%> (?)
apm-capabilities-tracing-ubuntu-latest 49.03% <20.22%> (?)
apm-capabilities-tracing-ubuntu-oldest 49.23% <20.22%> (?)
apm-capabilities-tracing-windows 49.04% <20.22%> (?)
apm-integrations-aerospike-18-gte.5.2.0 34.17% <31.57%> (?)
apm-integrations-aerospike-20-gte.5.5.0 34.18% <31.57%> (?)
apm-integrations-aerospike-22-gte.5.12.1 34.18% <31.57%> (?)
apm-integrations-aerospike-22-gte.6.0.0 34.18% <31.57%> (?)
apm-integrations-aerospike-eol- 34.09% <31.57%> (?)
apm-integrations-child-process 35.15% <10.52%> (?)
apm-integrations-confluentinc-kafka-javascript-18 40.99% <10.52%> (?)
apm-integrations-confluentinc-kafka-javascript-20 41.01% <10.52%> (?)
apm-integrations-confluentinc-kafka-javascript-22 41.01% <10.52%> (?)
apm-integrations-confluentinc-kafka-javascript-24 40.94% <10.52%> (?)
apm-integrations-couchbase-18 34.49% <10.52%> (?)
apm-integrations-couchbase-eol 34.59% <10.52%> (?)
apm-integrations-dns 34.03% <10.52%> (?)
apm-integrations-elasticsearch 34.83% <31.57%> (?)
apm-integrations-http-latest 41.96% <10.52%> (?)
apm-integrations-http-maintenance 42.02% <10.52%> (?)
apm-integrations-http-oldest 42.03% <10.52%> (?)
apm-integrations-http2 39.35% <10.52%> (?)
apm-integrations-kafkajs-latest 40.86% <10.52%> (?)
apm-integrations-kafkajs-oldest 40.91% <10.52%> (?)
apm-integrations-net 34.72% <10.52%> (?)
apm-integrations-next-11.1.4 28.67% <5.20%> (?)
apm-integrations-next-13.2.0 30.64% <10.52%> (?)
apm-integrations-next-gte.10.2.0.and.lt.11 22.99% <0.00%> (?)
apm-integrations-next-gte.11.0.0.and.lt.13 30.65% <10.52%> (?)
apm-integrations-next-gte.13.0.0.and.lt.14 30.89% <10.52%> (?)
apm-integrations-next-gte.14.0.0.and.lte.14.2.6 30.71% <10.52%> (?)
apm-integrations-next-gte.14.2.7.and.lt.15 30.71% <10.52%> (?)
apm-integrations-next-gte.15.0.0 30.78% <10.52%> (?)
apm-integrations-oracledb 34.47% <31.57%> (?)
apm-integrations-prisma-18-gte.6.16.0.and.lt.7.0.0 34.86% <22.36%> (?)
apm-integrations-prisma-latest-all 35.27% <22.36%> (?)
apm-integrations-restify 36.23% <10.52%> (?)
apm-integrations-sharedb 33.71% <10.52%> (?)
apm-integrations-tedious 34.27% <31.57%> (?)
appsec-express 51.83% <10.52%> (?)
appsec-fastify 48.55% <31.57%> (?)
appsec-graphql 48.93% <10.52%> (?)
appsec-integration-active 36.90% <5.18%> (?)
appsec-integration-latest 36.88% <5.18%> (?)
appsec-integration-maintenance 36.90% <5.18%> (?)
appsec-integration-oldest 36.89% <5.18%> (?)
appsec-kafka 41.30% <10.52%> (?)
appsec-ldapjs 40.56% <10.52%> (?)
appsec-lodash 40.67% <10.52%> (?)
appsec-macos 55.65% <10.52%> (?)
appsec-mongodb-core 45.01% <22.36%> (?)
appsec-mongoose 45.87% <22.36%> (?)
appsec-mysql 47.92% <33.33%> (?)
appsec-next-latest-11.1.4 28.78% <5.20%> (?)
appsec-next-latest-13.2.0 30.78% <10.52%> (?)
appsec-next-latest-gte.10.2.0.and.lt.11 28.62% <0.00%> (?)
appsec-next-latest-gte.11.0.0.and.lt.13 30.76% <10.52%> (?)
appsec-next-latest-gte.13.0.0.and.lt.14 31.01% <10.52%> (?)
appsec-next-latest-gte.14.0.0.and.lte.14.2.6 30.85% <10.52%> (?)
appsec-next-latest-gte.14.2.7.and.lt.15 30.85% <10.52%> (?)
appsec-next-latest-gte.15.0.0 30.85% <10.52%> (?)
appsec-next-oldest-11.1.4 28.79% <5.20%> (?)
appsec-next-oldest-13.2.0 31.06% <10.52%> (?)
appsec-next-oldest-gte.10.2.0.and.lt.11 28.74% <0.00%> (?)
appsec-next-oldest-gte.11.0.0.and.lt.13 30.78% <10.52%> (?)
appsec-next-oldest-gte.13.0.0.and.lt.14 31.25% <10.52%> (?)
appsec-next-oldest-gte.14.0.0.and.lte.14.2.6 31.09% <10.52%> (?)
appsec-next-oldest-gte.14.2.7.and.lt.15 31.09% <10.52%> (?)
appsec-next-oldest-gte.15.0.0 31.09% <10.52%> (?)
appsec-node-serialize 39.89% <10.52%> (?)
appsec-passport 43.54% <10.52%> (?)
appsec-postgres 47.46% <31.57%> (?)
appsec-sourcing 39.23% <10.52%> (?)
appsec-stripe 41.33% <10.52%> (?)
appsec-template 40.05% <10.52%> (?)
appsec-ubuntu 55.72% <10.52%> (?)
appsec-windows 55.59% <10.52%> (?)
debugger-ubuntu-active 43.10% <8.00%> (?)
debugger-ubuntu-latest 43.05% <8.00%> (?)
debugger-ubuntu-maintenance 43.11% <8.00%> (?)
debugger-ubuntu-oldest 43.55% <8.00%> (?)
instrumentations-instrumentation-bluebird 29.17% <10.52%> (?)
instrumentations-instrumentation-body-parser 36.77% <10.52%> (?)
instrumentations-instrumentation-child_process 34.64% <10.52%> (?)
instrumentations-instrumentation-cookie-parser 31.02% <10.52%> (?)
instrumentations-instrumentation-express 31.23% <10.52%> (?)
instrumentations-instrumentation-express-mongo-sanitize 31.13% <10.52%> (?)
instrumentations-instrumentation-express-session 36.46% <10.52%> (?)
instrumentations-instrumentation-fs 28.85% <10.52%> (?)
instrumentations-instrumentation-generic-pool 29.82% <16.66%> (?)
instrumentations-instrumentation-http 36.12% <10.52%> (?)
instrumentations-instrumentation-knex 29.14% <10.52%> (?)
instrumentations-instrumentation-light-my-request 36.39% <10.52%> (?)
instrumentations-instrumentation-mongoose 30.27% <22.36%> (?)
instrumentations-instrumentation-multer 36.55% <10.52%> (?)
instrumentations-instrumentation-mysql2 34.67% <33.33%> (?)
instrumentations-instrumentation-passport 40.18% <10.52%> (?)
instrumentations-instrumentation-passport-http 39.96% <10.52%> (?)
instrumentations-instrumentation-passport-local 40.44% <10.52%> (?)
instrumentations-instrumentation-pg 34.22% <31.57%> (?)
instrumentations-instrumentation-promise 29.10% <10.52%> (?)
instrumentations-instrumentation-promise-js 29.11% <10.52%> (?)
instrumentations-instrumentation-q 29.14% <10.52%> (?)
instrumentations-instrumentation-url 29.11% <10.52%> (?)
instrumentations-instrumentation-when 29.12% <10.52%> (?)
instrumentations-integration-esbuild-active 19.34% <5.16%> (?)
instrumentations-integration-esbuild-latest 19.33% <5.16%> (?)
instrumentations-integration-esbuild-maintenance 19.34% <5.16%> (?)
instrumentations-integration-esbuild-oldest 19.33% <5.16%> (?)
llmobs-ai 37.60% <10.52%> (?)
llmobs-anthropic 37.66% <10.52%> (?)
llmobs-bedrock 36.36% <20.58%> (?)
llmobs-google-genai 36.68% <10.52%> (?)
llmobs-langchain 36.40% <5.88%> (?)
llmobs-openai 40.43% <10.52%> (?)
llmobs-sdk-active 45.22% <10.52%> (?)
llmobs-sdk-latest 45.16% <10.52%> (?)
llmobs-sdk-maintenance 45.22% <10.52%> (?)
llmobs-sdk-oldest 45.21% <10.52%> (?)
llmobs-vertex-ai 36.82% <10.52%> (?)
openfeature-macos 37.81% <8.00%> (?)
openfeature-ubuntu 37.89% <8.00%> (?)
openfeature-unit-active 48.51% <100.00%> (?)
openfeature-unit-latest 48.35% <100.00%> (?)
openfeature-unit-maintenance 48.51% <100.00%> (?)
openfeature-unit-oldest 48.51% <100.00%> (?)
openfeature-windows 37.72% <8.00%> (?)
platform-core 37.27% <ø> (?)
platform-esbuild 40.61% <ø> (?)
platform-instrumentations-misc 30.63% <10.52%> (?)
platform-integration-active 46.85% <8.00%> (?)
platform-integration-latest 46.81% <8.00%> (?)
platform-integration-maintenance 46.87% <8.00%> (?)
platform-integration-oldest 47.04% <8.00%> (?)
platform-shimmer 42.29% <ø> (?)
platform-unit-guardrails 23.69% <ø> (?)
platform-webpack 20.48% <6.00%> (?)
plugins-azure-durable-functions 36.80% <8.00%> (?)
plugins-azure-event-hubs 34.67% <8.00%> (?)
plugins-azure-service-bus 35.15% <8.00%> (?)
plugins-bullmq 39.91% <10.52%> (?)
plugins-cassandra 34.49% <31.57%> (?)
plugins-cookie 26.65% <0.00%> (?)
plugins-cookie-parser 26.46% <0.00%> (?)
plugins-crypto 27.69% <ø> (?)
plugins-dd-trace-api 34.57% <10.52%> (?)
plugins-express-mongo-sanitize 26.59% <0.00%> (?)
plugins-express-session 26.42% <0.00%> (?)
plugins-fastify 38.56% <10.52%> (?)
plugins-fetch 34.86% <10.52%> (?)
plugins-fs 34.89% <10.52%> (?)
plugins-generic-pool 25.58% <0.00%> (?)
plugins-google-cloud-pubsub 42.27% <35.48%> (?)
plugins-grpc 37.31% <58.53%> (?)
plugins-handlebars 26.63% <0.00%> (?)
plugins-hapi 36.43% <10.52%> (?)
plugins-hono 36.71% <10.52%> (?)
plugins-ioredis 34.98% <10.52%> (?)
plugins-knex 26.31% <0.00%> (?)
plugins-langgraph 34.28% <10.52%> (?)
plugins-ldapjs 24.20% <0.00%> (?)
plugins-light-my-request 26.06% <0.00%> (?)
plugins-limitd-client 29.40% <10.52%> (?)
plugins-lodash 25.65% <0.00%> (?)
plugins-mariadb 35.93% <33.33%> (?)
plugins-memcached 34.65% <10.52%> (?)
plugins-microgateway-core 35.55% <10.52%> (?)
plugins-modelcontextprotocol-sdk 33.56% <10.52%> (?)
plugins-moleculer 37.36% <10.52%> (?)
plugins-mongodb 35.85% <76.31%> (?)
plugins-mongodb-core 35.56% <68.42%> (?)
plugins-mongoose 35.34% <61.84%> (?)
plugins-multer 26.42% <0.00%> (?)
plugins-mysql 35.63% <53.84%> (?)
plugins-mysql2 35.70% <53.84%> (?)
plugins-node-serialize 26.69% <0.00%> (?)
plugins-opensearch 34.36% <31.57%> (?)
plugins-passport-http 26.47% <0.00%> (?)
plugins-pino 31.11% <10.52%> (?)
plugins-postgres 33.73% <52.63%> (?)
plugins-process 27.69% <ø> (?)
plugins-pug 26.65% <0.00%> (?)
plugins-redis 35.00% <10.52%> (?)
plugins-router 38.88% <10.52%> (?)
plugins-sequelize 25.36% <0.00%> (?)
plugins-test-and-upstream-amqp10 34.90% <10.52%> (?)
plugins-test-and-upstream-amqplib 40.08% <10.52%> (?)
plugins-test-and-upstream-apollo 35.78% <10.52%> (?)
plugins-test-and-upstream-avsc 34.25% <10.52%> (?)
plugins-test-and-upstream-bunyan 30.48% <10.52%> (?)
plugins-test-and-upstream-connect 37.09% <10.52%> (?)
plugins-test-and-upstream-graphql 36.66% <10.52%> (?)
plugins-test-and-upstream-koa 36.69% <10.52%> (?)
plugins-test-and-upstream-protobufjs 34.46% <10.52%> (?)
plugins-test-and-upstream-rhea 40.14% <10.52%> (?)
plugins-undici 35.59% <10.52%> (?)
plugins-url 27.69% <ø> (?)
plugins-valkey 34.64% <10.52%> (?)
plugins-vm 27.69% <ø> (?)
plugins-winston 31.00% <10.52%> (?)
plugins-ws 38.18% <10.52%> (?)
profiling-macos 42.59% <5.71%> (?)
profiling-ubuntu 43.00% <5.71%> (?)
profiling-windows 39.92% <5.71%> (?)
serverless-aws-sdk-latest-aws-sdk 34.57% <26.47%> (?)
serverless-aws-sdk-latest-bedrockruntime 32.91% <20.58%> (?)
serverless-aws-sdk-latest-dynamodb 35.53% <20.58%> (?)
serverless-aws-sdk-latest-eventbridge 28.69% <12.00%> (?)
serverless-aws-sdk-latest-kinesis 38.46% <23.52%> (?)
serverless-aws-sdk-latest-lambda 35.72% <23.52%> (?)
serverless-aws-sdk-latest-s3 33.68% <23.52%> (?)
serverless-aws-sdk-latest-serverless-peer-service 39.83% <35.29%> (?)
serverless-aws-sdk-latest-sns 39.56% <29.41%> (?)
serverless-aws-sdk-latest-sqs 38.85% <23.52%> (?)
serverless-aws-sdk-latest-stepfunctions 34.29% <23.52%> (?)
serverless-aws-sdk-latest-util 47.60% <ø> (?)
serverless-aws-sdk-oldest-bedrockruntime 33.19% <20.58%> (?)
serverless-aws-sdk-oldest-client 22.75% <0.00%> (?)
serverless-aws-sdk-oldest-dynamodb 35.60% <20.58%> (?)
serverless-aws-sdk-oldest-eventbridge 28.73% <12.00%> (?)
serverless-aws-sdk-oldest-kinesis 38.59% <23.52%> (?)
serverless-aws-sdk-oldest-lambda 35.80% <23.52%> (?)
serverless-aws-sdk-oldest-s3 33.75% <23.52%> (?)
serverless-aws-sdk-oldest-serverless-peer-service 39.89% <35.29%> (?)
serverless-aws-sdk-oldest-sqs 38.75% <23.52%> (?)
serverless-aws-sdk-oldest-stepfunctions 34.37% <23.52%> (?)
serverless-aws-sdk-oldest-util 47.92% <ø> (?)
serverless-azure-functions-eventhubs 38.28% <8.00%> (?)
serverless-azure-functions-servicebus 38.34% <8.00%> (?)
serverless-lambda 32.67% <10.52%> (?)
test-optimization-cucumber-latest-7.0.0 50.30% <92.00%> (?)
test-optimization-cucumber-latest-latest 53.04% <100.00%> (?)
test-optimization-cucumber-oldest-7.0.0 50.33% <92.00%> (?)
test-optimization-cypress-eol-6.7.0-commonJS 45.73% <52.77%> (?)
test-optimization-cypress-latest-12.0.0-commonJS 48.27% <52.77%> (?)
test-optimization-cypress-latest-12.0.0-esm 48.30% <52.77%> (?)
test-optimization-cypress-latest-14.5.4-commonJS 48.10% <52.77%> (?)
test-optimization-cypress-latest-14.5.4-esm 48.13% <52.77%> (?)
test-optimization-cypress-latest-latest-commonJS 48.59% <52.77%> (?)
test-optimization-cypress-latest-latest-esm 48.62% <52.77%> (?)
test-optimization-cypress-oldest-12.0.0-commonJS 48.28% <52.77%> (?)
test-optimization-cypress-oldest-12.0.0-esm 48.32% <52.77%> (?)
test-optimization-cypress-oldest-14.5.4-commonJS 48.13% <52.77%> (?)
test-optimization-cypress-oldest-14.5.4-esm 48.16% <52.77%> (?)
test-optimization-jest-latest-latest 54.78% <90.24%> (?)
test-optimization-jest-latest-oldest 53.62% <68.29%> (?)
test-optimization-jest-oldest-latest 54.79% <90.24%> (?)
test-optimization-jest-oldest-oldest 53.63% <66.55%> (?)
test-optimization-mocha-latest-latest 53.26% <100.00%> (?)
test-optimization-mocha-latest-oldest 48.68% <92.00%> (?)
test-optimization-mocha-oldest-latest 53.33% <100.00%> (?)
test-optimization-mocha-oldest-oldest 48.64% <92.00%> (?)
test-optimization-playwright-latest-latest-playwright-active-test-span 44.20% <79.34%> (?)
test-optimization-playwright-latest-latest-playwright-atr 43.01% <78.98%> (?)
test-optimization-playwright-latest-latest-playwright-efd 43.39% <86.59%> (?)
test-optimization-playwright-latest-latest-playwright-final-status 43.48% <78.26%> (?)
test-optimization-playwright-latest-latest-playwright-impacted-tests 42.95% <78.98%> (?)
test-optimization-playwright-latest-latest-playwright-reporting 42.41% <42.02%> (?)
test-optimization-playwright-latest-latest-playwright-test-management 44.62% <59.78%> (?)
test-optimization-playwright-latest-oldest-playwright-atr 39.30% <32.97%> (?)
test-optimization-playwright-latest-oldest-playwright-reporting 40.34% <35.14%> (?)
test-optimization-playwright-oldest-latest-playwright-active-test-span 44.24% <79.34%> (?)
test-optimization-playwright-oldest-latest-playwright-atr 43.05% <78.98%> (?)
test-optimization-playwright-oldest-latest-playwright-efd 43.40% <86.59%> (?)
test-optimization-playwright-oldest-latest-playwright-final-status 43.50% <78.26%> (?)
test-optimization-playwright-oldest-latest-playwright-impacted-tests 42.98% <78.98%> (?)
test-optimization-playwright-oldest-latest-playwright-reporting 42.45% <42.02%> (?)
test-optimization-playwright-oldest-latest-playwright-test-management 44.64% <59.78%> (?)
test-optimization-playwright-oldest-oldest-playwright-atr 39.34% <32.97%> (?)
test-optimization-playwright-oldest-oldest-playwright-reporting 40.37% <35.14%> (?)
test-optimization-selenium-latest 45.41% <57.49%> (?)
test-optimization-selenium-oldest 45.13% <57.49%> (?)
test-optimization-testopt-active 46.99% <47.95%> (?)
test-optimization-testopt-latest 46.95% <47.95%> (?)
test-optimization-testopt-maintenance 46.99% <47.95%> (?)
test-optimization-testopt-oldest 47.82% <47.95%> (?)
test-optimization-vitest-latest 50.94% <64.00%> (?)
test-optimization-vitest-oldest 47.66% <64.00%> (?)

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.

@pr-commenter

pr-commenter Bot commented May 9, 2026

Copy link
Copy Markdown

Benchmarks

Benchmark execution time: 2026-05-11 06:34:29

Comparing candidate commit 138d873 in PR branch v5.102.1-proposal with baseline commit e36a8a6 in branch v5.x.

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

rochdev and others added 6 commits May 10, 2026 06:04
Replaced by GitHub's CodeQL default setup configured in repository
settings.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Bumps [nock](https://github.com/nock/nock) from 13.5.6 to 14.0.14.
- [Release notes](https://github.com/nock/nock/releases)
- [Changelog](https://github.com/nock/nock/blob/main/CHANGELOG.md)
- [Commits](nock/nock@v13.5.6...v14.0.14)

---
updated-dependencies:
- dependency-name: nock
  dependency-version: 14.0.14
  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>
Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>
…afterEach (#8367)

- Replace hardcoded ports (6015, 16015) with port 0 so the kernel
  assigns an available port, eliminating inter-run port conflicts
- Move regression-test resource cleanup (server, socket) from test
  bodies into dedicated afterEach hooks
- Split combined afterEach callbacks into one hook per concern so a
  failure in one cleanup step doesn't skip the others
- Load/close the agent in beforeEach/afterEach instead of before/after
  so each test gets a clean agent state
- Move channel declaration to top of file

---------

Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
…built-in modules (#8304)

* fix(tracing): use moduleId as cache key in ritm.js

When a built-in module is required with the `node:` prefix (e.g.
`node:fs`), `moduleId` is normalized (prefix stripped) but `filename`
retains the original value. The cache is keyed by `moduleId`, so
accessing `cache[filename]` results in `undefined`, causing a TypeError:

  TypeError: undefined is not an object (evaluating 'cache[filename].original')

This was missed in commit e92e7f0 which refactored cache keys from
`filename` to `moduleId`. One occurrence on line 104 was not updated.

Reproduces when dd-trace instruments modules that transitively require
node-prefixed built-ins (e.g. @aws-sdk/credential-provider-ini).

* test(tracing): add regression test for node:-prefixed cache key in ritm.js

---------

Co-authored-by: uchida <uchida@nulab.com>
Bumps the test-versions group with 1 update in the /integration-tests/esbuild directory: [openai](https://github.com/openai/openai-node).


Updates `openai` from 6.35.0 to 6.36.0
- [Release notes](https://github.com/openai/openai-node/releases)
- [Changelog](https://github.com/openai/openai-node/blob/master/CHANGELOG.md)
- [Commits](openai/openai-node@v6.35.0...v6.36.0)

---
updated-dependencies:
- dependency-name: openai
  dependency-version: 6.36.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>
Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>
@dd-octo-sts
dd-octo-sts Bot force-pushed the v5.102.1-proposal branch from 9a294dc to 1310499 Compare May 10, 2026 06:04
dependabot Bot and others added 2 commits May 11, 2026 06:19
…pdates (#8410)

Bumps the test-versions group with 2 updates in the /integration-tests/esbuild directory: [@apollo/server](https://github.com/apollographql/apollo-server/tree/HEAD/packages/server) and [openai](https://github.com/openai/openai-node).


Updates `@apollo/server` from 5.5.0 to 5.5.1
- [Release notes](https://github.com/apollographql/apollo-server/releases)
- [Changelog](https://github.com/apollographql/apollo-server/blob/main/packages/server/CHANGELOG.md)
- [Commits](https://github.com/apollographql/apollo-server/commits/@apollo/server@5.5.1/packages/server)

Updates `openai` from 6.36.0 to 6.37.0
- [Release notes](https://github.com/openai/openai-node/releases)
- [Changelog](https://github.com/openai/openai-node/blob/master/CHANGELOG.md)
- [Commits](openai/openai-node@v6.36.0...v6.37.0)

---
updated-dependencies:
- dependency-name: "@apollo/server"
  dependency-version: 5.5.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-versions
- dependency-name: openai
  dependency-version: 6.37.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>
@dd-octo-sts
dd-octo-sts Bot force-pushed the v5.102.1-proposal branch from 1310499 to 138d873 Compare May 11, 2026 06:19
@dd-octo-sts

dd-octo-sts Bot commented May 12, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #8436.

@dd-octo-sts dd-octo-sts Bot closed this May 12, 2026
@dd-octo-sts
dd-octo-sts Bot deleted the v5.102.1-proposal branch May 12, 2026 14:12
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.

7 participants