Go 1.10 的pprof的工具将直接支持火焰图

google/pprof是一个性能可视化和分析工具,由Google的工程师开发。虽然自称不是Google官方的工具,但是项目挂在google的team下,而且还在Google其它项目中得到应用,是非常好的一个性能剖析工具。

go tool pprof 复制了一份google/pprof的代码, 封装了一个golang的工具,用来分析Go pprof包产生的剖析数据,也就是最终数据的处理和分析还是通过gogole/pprof来实现的。

这样,你至少就用两种方式来分析Go程序的 pprof数据:

  1. go tool pprof : Go封装的pprof的工具
  2. pprof: 原始的pprof工具

pprof读写一组profile.proto格式的数据,产生可视化的数据分析报告,数据是protocol buffer格式的数据,具体格式可以参考: profile.proto。因此,它可以分析可以任意产生这种格式的程序,不管程序是什么语言开发的。

它可以读取本地的剖析数据,或者通过http访问线上的实时的剖析数据,具体使用方法可以参考官方的说明

今天8月份的时候,pprof发布了新的UI。 新的UI提供了顶部菜单(工具栏), 可以提供各种不同的功能的切换,非常的方便。 同时,展示也提供了新的样式,更加的好看,SVG图中的展示也更加醒目。

现在, 另一个很重要的功能火焰图也被合并到主分支,这样,我们不用再利用第三方的工具go-torch等来查看火焰图。 这也意味着, 明年二月份发布的Go 1.10中我们可以直接通过go tool pprof查看火焰图了。

如果你不想等待到明年二月份,你可以下载最新的pprof来查看。

go get -u github.com/google/pprof