getsentry / getsentry/sentry-javascript

[Feature] Profiling support in Bun

Abierto
#19,726 1 comentario 13 reacciones 0 asignados Ver en GitHub
Bun Feature Profiles
Lenguaje dominante
TypeScript
Estrellas
8.7k
Forks
1.8k
Merge medio
1 d 17 h
PR fusionados (30 d)
515

Descripción

### Description

Bun is not built on V8 but on Safari's JavaScriptCore (JSC), and we would need an entirely different implementation of the profiler in order to be able to profile the bun runtime.

Upvoting on this issue helps us prioritize this (see statement below in "Priority").

Also mentioned in this issue:
- https://github.com/getsentry/sentry-javascript/issues/13577

### Reasons against implementing this

- Bun has a `console.profile` which might do something similar (at least in dev): https://bun.com/reference/globals/Console/profile
- Production profiling in Bun still has issues, for example leaking memory very fast: https://github.com/oven-sh/bun/issues/24858

### Resources

- https://bun.com/reference/bun/jsc/profile
- https://bun.com/docs/project/benchmarking

**Related APIs**
- Node `inspector.Profile` in Bun (`inspector` not implemented in Bun): https://bun.com/reference/node/inspector/Profiler/Profile
- Node GC Profiler (implemented in Bun, but different profiler): https://bun.sh/reference/node/v8/GCProfiler

### Priority

React with 👍 to help prioritize this feature. Please use comments to provide useful context, avoiding `+1` or `me too`, to help us triage it.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.