getsentry / getsentry/sentry-javascript

[Tracking Issue] Improve Bun Support

未关闭
#19,707 1 条评论 3 个 reaction 已指派 0 人 在 GitHub 查看
Tracking Issue
主要语言
TypeScript
星标
8.7k
派生
1.8k
平均合并
1 天 17 小时
30 天内合并 PR
515

描述

The Bun runtime is [getting used more and more](https://www.npmcharts.com/compare/bun) and the JavaScript SDKs should support this ongoing trend. This issue is a tracking issue that shows current missing features with the Bun runtime.

### Missing auto-instrumentation (because `module.register` is not supported in Bun)

In general, a lot of missing auto-instrumentation is based on the missing support for `module.register` in Bun ([Bun docs](https://bun.com/docs/runtime/nodejs-compat#nodemodule)). Auto-instrumentation of ES Modules in OpenTelemetry is based on `import-in-the-middle` which calls `module.register`.

A real fix would require either (a) Bun improving `module.register()` + ESM namespace mutability support, or (b) the SDK implementing a Bun-specific loader (e.g., using Bun's native [plugin API](https://bun.com/docs/runtime/plugins)) to intercept imports before they are bound.

### Missing HTTP spans

The HTTP spans are created based on what diagnostic channels publish. Bun supports diagnostics channels but does not yet publish the necessary notifications. There is an open PR for that in Bun: https://github.com/oven-sh/bun/pull/24375

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。