Skip to content

feat(node)!: Make channel-based instrumentation the default - #22501

Merged
andreiborza merged 47 commits into
developfrom
ab/channel-based-default
Jul 27, 2026
Merged

feat(node)!: Make channel-based instrumentation the default#22501
andreiborza merged 47 commits into
developfrom
ab/channel-based-default

Conversation

@andreiborza

@andreiborza andreiborza commented Jul 22, 2026

Copy link
Copy Markdown
Member

What

Make orchestrion diagnostics-channel instrumentation the default in @sentry/node and remove the experimentalUseDiagnosticsChannelInjection() opt-in.

Why

The channel-based instrumentations shipped opt-in in v10. Making them the default in v11 unlocks instrumentation at run and build time.

Removal of the vendored OTel/IITM code is intentionally out of scope; it is tracked separately as follow-up.

Closes: #22345

Comment thread packages/aws-serverless/src/init.ts
Comment thread packages/node/src/sdk/index.ts
@github-actions

github-actions Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

size-limit report 📦

Path Size % Change Change
@sentry/browser 28.02 kB - -
@sentry/browser - with treeshaking flags 26.46 kB - -
@sentry/browser (incl. Tracing) 46.54 kB - -
@sentry/browser (incl. Tracing + Span Streaming) 47.46 kB - -
@sentry/browser (incl. Tracing, Profiling) 51.3 kB - -
@sentry/browser (incl. Tracing, Replay) 85.87 kB - -
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags 75.51 kB - -
@sentry/browser (incl. Tracing, Replay with Canvas) 90.58 kB - -
@sentry/browser (incl. Tracing, Replay, Feedback) 103.22 kB - -
@sentry/browser (incl. Feedback) 45.2 kB - -
@sentry/browser (incl. sendFeedback) 32.82 kB - -
@sentry/browser (incl. FeedbackAsync) 37.86 kB - -
@sentry/browser (incl. Metrics) 29.12 kB - -
@sentry/browser (incl. Logs) 29.34 kB - -
@sentry/browser (incl. Metrics & Logs) 30.05 kB - -
@sentry/react 29.8 kB - -
@sentry/react (incl. Tracing) 48.85 kB - -
@sentry/vue 33.97 kB - -
@sentry/vue (incl. Tracing) 48.53 kB - -
@sentry/svelte 28.04 kB - -
CDN Bundle 30.32 kB - -
CDN Bundle (incl. Tracing) 47.71 kB - -
CDN Bundle (incl. Logs, Metrics) 31.9 kB - -
CDN Bundle (incl. Tracing, Logs, Metrics) 49.08 kB - -
CDN Bundle (incl. Replay, Logs, Metrics) 71.17 kB - -
CDN Bundle (incl. Tracing, Replay) 85.31 kB - -
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 86.61 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback) 91.12 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 92.39 kB - -
CDN Bundle - uncompressed 90.26 kB - -
CDN Bundle (incl. Tracing) - uncompressed 143.22 kB - -
CDN Bundle (incl. Logs, Metrics) - uncompressed 94.97 kB - -
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 147.2 kB - -
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 219.73 kB - -
CDN Bundle (incl. Tracing, Replay) - uncompressed 262.47 kB - -
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 266.44 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 276.18 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 280.13 kB - -
@sentry/nextjs (client) 51.41 kB - -
@sentry/sveltekit (client) 47.01 kB - -
@sentry/core/server 79.57 kB - -
@sentry/core/browser 51.54 kB - -
@sentry/node 125.39 kB +11.49% +12.92 kB 🔺
⛔️ @sentry/node (incl. diagnostics channel injection) (max: null) 0 B removed removed
@sentry/node/import (ESM hook with diagnostics-channel injection) 166 B - -
@sentry/node - without tracing 85.7 kB +38.2% +23.69 kB 🔺
@sentry/aws-serverless 93.7 kB +29.62% +21.41 kB 🔺
@sentry/cloudflare (withSentry) - minified 195.94 kB - -
@sentry/cloudflare (withSentry) 482.5 kB - -

View base workflow run

Comment thread packages/nextjs/src/server/index.ts Outdated
Comment thread packages/node/src/integrations/tracing/mysql/index.ts
Comment thread packages/node/src/integrations/tracing/express.ts
Comment thread packages/node/src/integrations/tracing/index.ts
Comment thread dev-packages/e2e-tests/test-applications/node-express/tests/trpc.test.ts Outdated
Comment thread packages/nextjs/src/server/index.ts Outdated
@andreiborza
andreiborza force-pushed the ab/channel-based-default branch from 921217b to e9cde04 Compare July 23, 2026 11:56
Comment thread packages/node/src/integrations/tracing/express.ts Outdated
Comment thread packages/nextjs/src/server/index.ts Outdated
Comment thread packages/node/src/integrations/tracing/index.ts Outdated
@andreiborza
andreiborza force-pushed the ab/channel-based-default branch from 404fb86 to c9a6733 Compare July 24, 2026 09:07
Comment thread packages/node/src/integrations/tracing/redis/index.ts Outdated
andreiborza and others added 5 commits July 24, 2026 19:24
Make orchestrion diagnostics-channel injection the default in `@sentry/node`
and remove the `experimentalUseDiagnosticsChannelInjection()` opt-in.

`Sentry.init()` now installs the channel-injection module hooks unconditionally
when span recording is enabled, so the opt-in function, its loader indirection,
and the name-based OTel->channel integration swap are gone. The self-selecting
`dataloader` and `knex` integrations pick the channel path automatically now
that `isOrchestrionInjected()` is true by default.

Redis stays a composite integration: the native diagnostics-channel subscribers
(node-redis >=5.12, ioredis >=5.11, batches) plus the orchestrion subscribers
for the older ranges, all sharing the node cache `responseHook`. The vendored
OTel patchers only run on runtimes without `tracingChannel` (Node <18.19).

BREAKING CHANGE: `experimentalUseDiagnosticsChannelInjection()`,
`diagnosticsChannelInjectionIntegrations()`, `isDiagnosticsChannelInjectionEnabled()`
and `applyDiagnosticsChannelInjectionIntegrations()` are removed from
`@sentry/node`. Channel-based instrumentation is now always on; no opt-in call
is needed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 829a5a1. Configure here.

Comment thread packages/node/src/integrations/tracing/index.ts
@andreiborza
andreiborza merged commit 1efc36a into develop Jul 27, 2026
525 of 527 checks passed
@andreiborza
andreiborza deleted the ab/channel-based-default branch July 27, 2026 21:56
This was referenced Jul 28, 2026
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.

Make channel-based instrumentations the default in v11

3 participants