Golang 使用 Profiling 来分析程序的瓶颈的方法很简单。
引入后在main 里添加一行
Go: profile
1
2
3
4
5
6 |
import "github.com/davecheney/profile"
func main() {
defer profile.Start(profile.CPUProfile).Stop()
...
}
|
首先运行 go build
,然后跑程序,程序开始时会有提示:
Bash: profile
1 |
profile: cpu profiling enabled, /tmp/profile488201610/cpu.pprof
|
程序终止后查看结果:
Bash: pprof
1 |
go tool pprof -raw /tmp/profile488201610/cpu.pprof
|
项目 https://github.com/davecheney/profile
本文网址: https://golangnote.com/topic/98.html 转摘请注明来源
Related articles
有两种方法,runtime/pprof 和 net/http/pprof ,后者封装了前者...
两个不错的可以实现均衡负载的 go 库,sslb 比较简单,seesaw 功能较多,使用也比较复杂。...
Go 1.5.1版本对编译器,汇编器, fmt, net/textproto, net/http, 和 runtime 包的 bug 修复。...
Go 1.13.2 与1.13.3 两个版本的更新时间很短,仅间隔4个小时。...
Blb是一种用go 实现的分布式对象存储系统。 它专为在集群计算环境中的裸机上使用而设计。客户端API 也用Go来实现,它使用类似于Go文件(io.ReadWriteSeeker)的接口公开对象。...
go 1.13 刚发布,这个版本改变比较多,一般 go 升级后都会习惯的跟着升级主程序。这次升级后 build 时遇到了 `stack check redeclared in this block previous declaration` 错误。...
Golang 内置库net 有一些函数能方便获取DNS 记录信息。...
vuego 是一个基于WASM 对Vue.js 的封装,使用Web Assembly 编译。可以让开发者用go 来写Vue.js 前端脚本。...
这些 go 格言谚语大多出自 Rob Pike 振奋人心的演讲视频,有很大参考价值。...
labstack/echo 是一个快速,不花俏的微型Go Web 框架...