Skip to content

ref(astro)!: Migrate import hook to makeOrchestrionLoader - #22861

Draft
andreiborza wants to merge 2 commits into
ab/js-3203-remove-otel-instrumentation-from-nodefrom
ab/js-3203-astro-orchestrion-loader
Draft

ref(astro)!: Migrate import hook to makeOrchestrionLoader#22861
andreiborza wants to merge 2 commits into
ab/js-3203-remove-otel-instrumentation-from-nodefrom
ab/js-3203-astro-orchestrion-loader

Conversation

@andreiborza

@andreiborza andreiborza commented Jul 30, 2026

Copy link
Copy Markdown
Member

What

Part of the @opentelemetry/instrumentation removal stack (based on #22843).

  • Switch @sentry/astro's ./import loader from the legacy makeOtelLoaders build util to makeOrchestrionLoader, so the generated import-hook.mjs imports @sentry/server-utils/orchestrion/import-hook directly.
  • Drop the obsolete ./loader export (the iitm --loader entry, unused on Node >= 20.19).

Why

Orchestrion is the only instrumentation path now, so the framework's --import hook should register it directly instead of the removed iitm loader. --loader no longer applies (minimum Node is 20.19.0) and orchestrion has no --loader equivalent, so the ./loader export is dead.

@linear-code

linear-code Bot commented Jul 30, 2026

Copy link
Copy Markdown

JS-3203

@github-actions

github-actions Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

size-limit report 📦

Path Size % Change Change
@sentry/browser 29.82 kB - -
@sentry/browser - with treeshaking flags 28.02 kB - -
@sentry/browser (incl. Tracing) 47.08 kB - -
@sentry/browser (incl. Tracing + Span Streaming) 47.09 kB - -
@sentry/browser (incl. Tracing, Profiling) 51.82 kB - -
@sentry/browser (incl. Tracing, Replay) 86.39 kB - -
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags 75.83 kB - -
@sentry/browser (incl. Tracing, Replay with Canvas) 91.11 kB - -
@sentry/browser (incl. Tracing, Replay, Feedback) 103.76 kB - -
@sentry/browser (incl. Feedback) 47.13 kB - -
@sentry/browser (incl. sendFeedback) 34.66 kB - -
@sentry/browser (incl. FeedbackAsync) 39.76 kB - -
@sentry/browser (incl. Metrics) 30.89 kB - -
@sentry/browser (incl. Logs) 31.12 kB - -
@sentry/browser (incl. Metrics & Logs) 31.8 kB - -
@sentry/react 31.6 kB - -
@sentry/react (incl. Tracing) 49.33 kB - -
@sentry/vue 34.74 kB - -
@sentry/vue (incl. Tracing) 49.05 kB - -
@sentry/svelte 29.85 kB - -
CDN Bundle 31.87 kB - -
CDN Bundle (incl. Tracing) 47.45 kB - -
CDN Bundle (incl. Logs, Metrics) 33.42 kB - -
CDN Bundle (incl. Tracing, Logs, Metrics) 48.82 kB - -
CDN Bundle (incl. Replay, Logs, Metrics) 72.78 kB - -
CDN Bundle (incl. Tracing, Replay) 85.08 kB - -
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 86.38 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback) 90.85 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 92.16 kB - -
CDN Bundle - uncompressed 95.04 kB - -
CDN Bundle (incl. Tracing) - uncompressed 142.27 kB - -
CDN Bundle (incl. Logs, Metrics) - uncompressed 99.75 kB - -
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 146.25 kB - -
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 224.51 kB - -
CDN Bundle (incl. Tracing, Replay) - uncompressed 261.52 kB - -
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 265.49 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 275.23 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 279.18 kB - -
@sentry/nextjs (client) 51.92 kB - -
@sentry/sveltekit (client) 47.51 kB - -
@sentry/core/server 79.59 kB - -
@sentry/core/browser 51.58 kB - -
@sentry/node 121.27 kB - -
@sentry/node/import (ESM hook with diagnostics-channel injection) 0 B removed removed
@sentry/node - without tracing 84.77 kB - -
@sentry/aws-serverless 93.02 kB - -
@sentry/cloudflare (withSentry) - minified 197.59 kB - -
@sentry/cloudflare (withSentry) 485.77 kB - -

View base workflow run

andreiborza and others added 2 commits July 30, 2026 14:57
`@sentry/node` was the last package holding `@opentelemetry/instrumentation`.
All instrumentation is now channel-based via orchestrion, so the surface this
dependency backed is dead or a no-op:

- `generateInstrumentOnce` (and the framework re-exports) had no call sites.
- `ensureIsWrapped`'s shimmer-based check can no longer detect channel-based
  express/koa/hapi, so its warning and the `missing_instrumentation` context
  were removed, along with the `disableInstrumentationWarnings` option and the
  `MissingInstrumentationContext` type.
- The `@sentry/node/import` ESM hook now only registers the orchestrion
  diagnostics-channel injection; the legacy iitm `@sentry/node/loader` entry
  was removed.

Adds the `makeOrchestrionLoader` rollup util (import-only, delegates to
`@sentry/server-utils/orchestrion/import-hook`). The legacy `makeOtelLoaders`
util is kept temporarily so the framework SDKs still build until they migrate
in the following PRs.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Switch the `@sentry/astro/import` loader to the orchestrion-based
`makeOrchestrionLoader` and drop the obsolete `./loader` export.
@andreiborza
andreiborza force-pushed the ab/js-3203-astro-orchestrion-loader branch from 49a110a to 89b0f26 Compare July 30, 2026 13:01
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.

1 participant