getsentry / getsentry/sentry-javascript

[Feature] Profiling support in Bun

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

描述

### 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.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

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