Runtime recorder compatibility
Check this before you change build or start scripts. If automatic instrumentation is not
supported, use execution.createScope() and execution.trace() instead.
Supported environments
| Environment | Support |
|---|---|
| TypeScript compiled to multiple JavaScript files | Use rasputin-instrument dist after tsc, with adjacent source maps. |
| Elysia 1.4+ on Bun 1.3.x, running .ts or .js files directly | Use --preload @rasputin-ai/elysia/instrument/bun. |
| Elysia 1.4+ on Node.js 22.15 or newer, unbundled ESM/CJS | Use rasputin-instrument, or --import @rasputin-ai/elysia/instrument/node. Node 22 and 24 are the supported LTS lines. |
| Single-file bundles (esbuild, tsup, webpack, Vite SSR, Next.js) | Automatic instrumentation is not supported. |
| tsx, custom Node loader stacks, and Node native TypeScript execution | Automatic instrumentation is not supported. |
| Deno and edge runtimes | Not supported. |
Tested on Bun 1.3.13, Node.js 24.19.0, and Elysia 1.4.28. Node.js 22.15.0 is the minimum for automatic instrumentation. Use execution.createScope() and execution.trace() when automatic instrumentation is not available.
Ready to set up? Continue to setup
