go profiling相关

wk3368 · · 2019 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

一、官方文档
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

有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:wk3368

查看原文:go profiling相关

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2019 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传