getsentry / getsentry/sentry-javascript
[Feature] Profiling support in Bun
- Dominant language
- TypeScript
- Stars
- 8.7k
- Forks
- 1.8k
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 515
Description
### 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.
Contributor guide
Assessment
This issue has not been assessed yet.