You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Investigate build-time instrumentation for meta framework dev-servers #22857
Using this ticket for a follow up task to enable orchestrion in dev mode. Clanker output for the astro case below 🔽
Context
Follow-up from #22830 (auto-wiring the orchestrion bundler plugin in @sentry/astro).
Orchestrion build-time instrumentation works in production (astro build + node ./dist/server/entry.mjs), but a dev-mode e2e run (astro dev) against the same app did not produce DB spans.
Observed
Running the astro-7-orchestrion e2e suite with TEST_ENV=development (astro dev --port 3030):
Dev server starts cleanly (Astro v7.1.6), DB containers healthy.
The http.server transaction for GET /db-ioredis / GET /db-mysqldoes arrive.
But no db spans are attached → the transaction-with-span assertion times out.
The production run of the exact same tests passes.
Runtime subscribers register fine in dev ([orchestrion:ioredis] subscribing…, [orchestrion:mysql] subscribing…); it's the publisher-side transform that appears not to fire.
Suspected mechanism (not fully confirmed)
The publisher injection is the code-transformer's transform hook, which splices diagnostics_channel.publish into the driver source. That hook is not build-gated, so in principle it can run in dev serve — but only if astro dev routes the instrumented CJS node_modules packages (ioredis, mysql) through Vite's SSR transform pipeline.
The plugin uses:
config() → ssr.noExternal: [instrumented modules] to force-bundle them, and
The hypothesis is that under Astro 7's dev SSR module loader, the instrumented deps are not pulled through the transform (externalized / loaded raw via Node, and/or the dev SSR environment's consumer doesn't satisfy the applyToEnvironment guard), so transform never sees the driver source. This needs confirmation by instrumenting the transform (log each id it receives in dev) or tracing Astro 7 dev SSR resolution.
Scope note
All existing orchestrion e2e apps (nuxt-4-orchestrion, sveltekit-2-orchestrion) are production-only, so this is not an astro-specific regression — it's an open question about whether build-time orchestrion can/should work under any Vite dev server. Tracking here so the dev-mode gap is investigated rather than assumed.
changed the title [-]Orchestrion build-time instrumentation does not produce spans under `astro dev` (Vite dev SSR)[/-][+]Investigate build-time instrumentation for meta framework dev-servers[/+]on Jul 30, 2026
Activity
linear-code commentedon Jul 30, 2026
JS-3233
[-]Orchestrion build-time instrumentation does not produce spans under `astro dev` (Vite dev SSR)[/-][+]Investigate build-time instrumentation for meta framework dev-servers[/+]feat(astro): Auto-wire orchestrion build-time instrumentation (#22830)
fix(orchestrion): Stop force-bundling instrumented deps in dev servers (
feat(remix): Auto-wire orchestrion build-time instrumentation (#23988)
github-actions commentedon Sep 23, 2026
A PR closing this issue has just been released 🚀
This issue was referenced by PR #23835, which was included in the 11.0.0 release.