火焰图
火焰图(Flame Graph)是 Bredan Gregg 创建的一种性能分析图表,因为它的样子近似火而得名。上面的 profiling 结果也转换成火焰图。Uber开源工具 go-torch可以直接读取 golang profiling 数据,并生成一个火焰图的 svg 文件。
使用火焰图之前,需要安装如下工具:
1 原生 PProf 工具
go get github.com/google/pprof
需要将产生的pprof可执行程序所在路径添加到环境变量中。
用法
pprof -http=:8080 cpu.prof
2 安装FlameGraph
git clone https://github.com/brendangregg/FlameGraph.git
将FlameGraph所在路径添加到环境变量中。
export PATH=$PATH:$GOPATH/FlameGraph
3 安装graphviz
graphviz 用于绘图
CentOS:
yum install graphviz
Ubuntu
sudo apt-get install graphviz
4 安装go-torch
安装go-torch用于采集数据,生产火焰图。
go get github.com/uber/go-torch

本文介绍了如何在Golang中使用火焰图进行性能分析。首先,讲解了火焰图的概念,然后详细阐述了安装原生PProf工具、FlameGraph、graphviz和go-torch的步骤。通过go-torch收集pprof数据并生成火焰图SVG文件,可以在浏览器中查看,点击方块可深入分析。文章最后提到了在Windows环境下遇到的问题和解决办法。
最低0.47元/天 解锁文章
564

被折叠的 条评论
为什么被折叠?



