getsentry / getsentry/sentry-javascript

[Tracking Issue] Improve Bun Support

Ouverte
#19,707 1 commentaire 3 réactions 0 personnes assignées Voir sur GitHub
Tracking Issue
Langage dominant
TypeScript
Étoiles
8.7k
Forks
1.8k
Merge moyen
1 j 17 h
PR mergées (30 j)
515

Description

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

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.