golang安装go-torch火焰图
安装
go-torch 是一个用于分析 Go 程序性能的工具,它可以生成火焰图(Flame Graphs)来帮助分析 CPU 的使用情况。
要安装 go-torch,你需要先安装 Go 语言环境,并设置好 GOPATH 环境变量。然后使用 go get 命令来安装 go-torch。
以下是安装 go-torch 的步骤:
- 安装go-torch
go get github.com/uber/go-torch
或者使用install安装
go install github.com/uber/go-torch@latest
- 安装FlameGraph
cd $GOPATH && git clone https://github.com/brendangregg/FlameGraph.git
设置路径【这步一定要设置,生成火焰图时会用到】
export PATH=$PATH:$GOPATH/FlameGraph
- 安装graphviz (CentOS, Redhat)
yum install graphviz
- 生成火焰图
压测的时候,运行go-torch,会把缓存的数据输出到文件中
$ go-torch -u http://127.0.0.1:9999
INFO[09:34:25] Run pprof command: go tool pprof -raw -seconds 30 http://127.0.0.1:9999/debug/pprof/profile
INFO[09:34:55] Writing svg to torch.svg
常用操作
- 用 -u 分析CPU使用情况
go-torch -u http://127.0.0.1:9999
- 用 -alloc_space 来分析内存的临时使用情况
go-torch -alloc_space http://127.0.0.1:9999/debug/pprof/heap --colors=mem
- 用 -inuse_space 来分析程序常驻内存的占用情况
go-torch -inuse_space http://127.0.0.1:9999/debug/pprof/heap --colors=mem
- 画出内存分配图
go tool pprof -alloc_space -cum -svg http://127.0.0.1:9999/debug/pprof/heap > heap.svg
内存使用火焰图
内存分配图
多用组合、少用继承
基于接口而非实现进行编程