Skip to content

Latest commit

 

History

History
156 lines (121 loc) · 10.5 KB

README.ch.md

File metadata and controls

156 lines (121 loc) · 10.5 KB

Pyroscope

Go Tests Status JS Tests Status Go Report Apache 2 License Latest release DockerHub GoDoc

官网 文档 演示 示例 Slack

什么是 Pyroscope?

Pyroscope 是一个开源的持续性能剖析平台。它能够帮你:

  • 找出源代码中的性能问题和瓶颈
  • 解决 CPU 利用率高的问题
  • 理解应用程序的调用树(call tree)
  • 追踪随一段时间内变化的情况

Pyroscope GIF Demo

特性

  • 可以存储来自多个应用程序的多年剖析数据
  • 你可以一次查看多年的数据或单独查看特定的事件
  • 较低的 CPU 开销
  • 数据压缩效率高,磁盘空间要求低
  • 快捷的 UI 界面

通过2个步骤在本地添加 Pyroscope Server:

Pyroscope 支持所有主要的计算机架构,并且非常容易安装。作为例子,以下是在 Mac 上的安装方法:

# 安装 pyroscope
brew install pyroscope-io/brew/pyroscope

# 启动 pyroscope server:
pyroscope server

通过 Pyroscope agent 发送数据到 server(特定语言)

关于如何将 Pyroscope agent 添加到你的代码中的更多信息,请参见我们网站上的agent 文档

文档

关于如何在其他编程语言中使用 Pyroscope, 在 Linux 上安装它,或在生产环境中使用它的更多信息,请查看我们的文档。

部署示意图

agent_server_diagram_10

下载

你可以从我们的 下载页面 下载适用于macOS、linux和Docker的最新版本的 pyroscope。

已支持的集成

  • Ruby (通过 rbspy)
  • Python (通过 py-spy)
  • Go (通过 pprof)
  • Linux eBPF (通过bcc-toolsprofile.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 的剖析成为可能。

贡献

在为我们贡献代码之前,请先查看我们的贡献指南

感谢 Pyroscope 的贡献者!