分享
go profiling相关
wk3368 · · 2471 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
一、官方文档
https://blog.golang.org/profiling-go-programs
$cd your_programe_dir
$go build
$./your_programe -cpuprofile=xxx.prof
$go tool pprof ./your_programe xxx.prof
Entering interactive mode (type "help" for commands)
(pprof) top 10
...
1.如果出现提示:
Cannot find dot, have you installed Graphviz?
需要用root用户安装Graphviz
$sudo brew install Graphviz
2.如果出现提示:
profile is empty
那是因为默认的pprof的采样频率是每秒100次,如果你的程序运行太快,在第一次采样前就结束了,就会出现这个情况。
要不就在程序里面加for循环或者sleep,要不就调整采样频率(见二)
二、
一开始,有人写了一个package,可以定制化profiing:
https://github.com/davecheney/profile
但是后来又更新了,具体原因如下:
http://dave.cheney.net/2014/10/22/simple-profiling-package-moved-updated
因为有些项目已经用了旧的API,所以作者直接给了个新package:
https://github.com/pkg/profile
https://blog.golang.org/profiling-go-programs
$cd your_programe_dir
$go build
$./your_programe -cpuprofile=xxx.prof
$go tool pprof ./your_programe xxx.prof
Entering interactive mode (type "help" for commands)
(pprof) top 10
...
(pprof) web 生成svg文件并打开
注:mac默认用sublime打开,需要修改成chrome: http://blog.csdn.net/jiaolongdy/article/details/50945684
1.如果出现提示:
Cannot find dot, have you installed Graphviz?
需要用root用户安装Graphviz
$sudo brew install Graphviz
2.如果出现提示:
profile is empty
那是因为默认的pprof的采样频率是每秒100次,如果你的程序运行太快,在第一次采样前就结束了,就会出现这个情况。
要不就在程序里面加for循环或者sleep,要不就调整采样频率(见二)
二、
一开始,有人写了一个package,可以定制化profiing:
https://github.com/davecheney/profile
但是后来又更新了,具体原因如下:
http://dave.cheney.net/2014/10/22/simple-profiling-package-moved-updated
因为有些项目已经用了旧的API,所以作者直接给了个新package:
https://github.com/pkg/profile
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信2471 次点击
下一篇:Golang中Switch的使用
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
https://blog.golang.org/profiling-go-programs
$cd your_programe_dir
$go build
$./your_programe -cpuprofile=xxx.prof
$go tool pprof ./your_programe xxx.prof
Entering interactive mode (type "help" for commands)
(pprof) top 10
...
(pprof) web 生成svg文件并打开
注:mac默认用sublime打开,需要修改成chrome: http://blog.csdn.net/jiaolongdy/article/details/50945684
1.如果出现提示:
Cannot find dot, have you installed Graphviz?
需要用root用户安装Graphviz
$sudo brew install Graphviz
2.如果出现提示:
profile is empty
那是因为默认的pprof的采样频率是每秒100次,如果你的程序运行太快,在第一次采样前就结束了,就会出现这个情况。
要不就在程序里面加for循环或者sleep,要不就调整采样频率(见二)
二、
一开始,有人写了一个package,可以定制化profiing:
https://github.com/davecheney/profile
但是后来又更新了,具体原因如下:
http://dave.cheney.net/2014/10/22/simple-profiling-package-moved-updated
因为有些项目已经用了旧的API,所以作者直接给了个新package:
https://github.com/pkg/profile