这个项目能做什么
pprof 是一款用于性能分析数据可视化与分析的工具。它读取 profile.proto 格式的性能分析样本,并生成报告以可视化并帮助分析数据,通过使用 dot 可视化包生成文本和图形报告。
profile.proto 是一种协议缓冲区,用于描述一组调用栈和符号化信息。常见用途是表示来自统计性能分析的一组采样调用栈。性能分析数据可以从本地文件或通过 HTTP 读取,同一类型的多个性能分析数据可以聚合或比较。
如果性能分析样本包含机器地址,pprof 可以通过使用原生 binutils 工具(addr2line 和 nm)对其进行符号化。
构建 pprof 需要受支持版本的 Go 开发工具包,以及可选的 Graphviz 用于生成图形可视化。该工具可通过 `go install github.com/google/pprof@latest` 安装。
基本用法包括生成按热度排序的文本报告、生成在网页浏览器中打开的 SVG 图、以交互模式运行(用户可发出命令进行可视化和细化),以及通过使用 `-http` 标志运行网页界面,启动一个带有基于浏览器的交互式界面的本地 Web 服务器。
pprof 还可以使用 perf_data_converter 包中的 `perf_to_profile` 程序读取 Linux perf 工具生成的 `perf.data` 文件。在 Windows 上,查看从 Go 程序收集的性能分析数据的反汇编需要可执行文件使用 `go build -buildmode=exe` 构建,并且必须安装 LLVM 或 GCC,以便 addr2line 和 nm 等工具可用。
这不是 Google 的官方产品。
评论
0 评分人数达到10人后显示
登录后参与讨论。