Skip to content

diagnostics_channel: mark TracingChannel as stable#64525

Open
logaretm wants to merge 1 commit into
nodejs:mainfrom
logaretm:diagnostics-channel-tracingchannel-stable
Open

diagnostics_channel: mark TracingChannel as stable#64525
logaretm wants to merge 1 commit into
nodejs:mainfrom
logaretm:diagnostics-channel-tracingchannel-stable

Conversation

@logaretm

@logaretm logaretm commented Jul 15, 2026

Copy link
Copy Markdown

This PR Promotes the TracingChannel API (the diagnostics_channel.tracingChannel() factory and the TracingChannel class) from experimental to stable.

TracingChannel has been available since v18.19.0 / v19.9.0 with an unchanged surface, and now has broad real-world adoption: fastify, pino, mysql2, redis, ioredis, mongoose, graphql, h3, srvx, and the Vercel AI SDK publish TracingChannel events natively, and it's consumed by OpenTelemetry, Sentry, Datadog, and New Relic.

IMO, The last behavioral wrinkle in the base API was tracePromise stripping custom thenables (#59936), which was resolved semver-major in #61766 and landed in v26.0

I marked this as stable given the adoption and signals given that the API is stable and backward compatible.

I'm also suggesting we back port this to v26 docs

@nodejs-github-bot nodejs-github-bot added diagnostics_channel Issues and PRs related to diagnostics channel doc Issues and PRs related to the documentations. labels Jul 15, 2026
@logaretm logaretm force-pushed the diagnostics-channel-tracingchannel-stable branch from fa3476f to 5b8df3d Compare July 15, 2026 19:40
@logaretm logaretm marked this pull request as ready for review July 15, 2026 19:43
@bjohansebas

Copy link
Copy Markdown
Member

cc: @nodejs/diagnostics

Promotes the diagnostics_channel.tracingChannel() factory and the
TracingChannel class from experimental to stable.

TracingChannel has been available since v18.19.0 / v19.9.0 with an
unchanged surface and now has broad adoption: fastify, pino, mysql2,
redis, ioredis, mongoose, graphql, h3, srvx, and the Vercel AI SDK
publish TracingChannel events natively, and it is consumed by
OpenTelemetry, Sentry, Datadog, and New Relic. The last behavioral
wart, tracePromise stripping custom thenables (nodejs#59936), was resolved
in nodejs#61766.

This mirrors the scoping in nodejs#45290: BoundedChannel, the bindStore /
runStores store helpers, and the concrete built-in channels stay
experimental.

Signed-off-by: Abdelrahman Awad <abdelrahman.awad@sentry.io>
@logaretm logaretm force-pushed the diagnostics-channel-tracingchannel-stable branch from 5b8df3d to e445b63 Compare July 15, 2026 20:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

diagnostics_channel Issues and PRs related to diagnostics channel doc Issues and PRs related to the documentations.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants