Pyroscope 是一个开源的持续性能剖析平台。它能够帮你:
- 找出源代码中的性能问题和瓶颈
- 解决 CPU 利用率高的问题
- 理解应用程序的调用树(call tree)
- 追踪随一段时间内变化的情况
🔥 Pyroscope 在线演示 🔥
- 可以存储来自多个应用程序的多年剖析数据
- 你可以一次查看多年的数据或单独查看特定的事件
- 较低的 CPU 开销
- 数据压缩效率高,磁盘空间要求低
- 快捷的 UI 界面
Pyroscope 支持所有主要的计算机架构,并且非常容易安装。作为例子,以下是在 Mac 上的安装方法:
# 安装 pyroscope
brew install pyroscope-io/brew/pyroscope
# 启动 pyroscope server:
pyroscope server
关于如何将 Pyroscope agent 添加到你的代码中的更多信息,请参见我们网站上的agent 文档 。
关于如何在其他编程语言中使用 Pyroscope, 在 Linux 上安装它,或在生产环境中使用它的更多信息,请查看我们的文档。
你可以从我们的 下载页面 下载适用于macOS、linux和Docker的最新版本的 pyroscope。
- Ruby (通过
rbspy
) - Python (通过
py-spy
) - Go (通过
pprof
) - Linux eBPF (通过
bcc-tools
的profile.py
) - PHP (通过
phpspy
) - .NET (通过
dotnet trace
) - Java (通过
async-profiler
) - Node (寻找贡献者)
你也可以在 issue 或者我们的 slack 中来告诉我们你还想支持的平台。
Pyroscope 的出现要感谢许多人的出色工作,包括但不限于:
- Brendan Gregg - Flame Graphs 的发明者
- Julia Evans - rbspy 的创造者 - Ruby 的采样分析器
- Vladimir Agafonkin --flamebearer的创造者 --快速火焰图的渲染器
- Ben Frederickson - py-spy 的创造者 - Python 的采样分析器
- Adam Saponara - phpspy 的创造者 - PHP 的抽样分析器
- Alexei Starovoitov, Brendan Gregg, 和其他许多人,他们使 Linux 内核中基于 BPF 的剖析成为可能。
在为我们贡献代码之前,请先查看我们的贡献指南。