gops是一个命令行工具,配合agent,可以用来很方便的诊断运行中的go程序,使用简单,官方维护
安装
go get github.com/google/gops
或
go install github.com/google/gops@latest
使用
gops本身可以查看所有go程序的进程,如果一个程序使用了agent,gops可以报告更多的信息,比如stack,内存统计,trace等,使用了agent的程序会用*号标记
go func() {
cfg := agent.Options{
Addr: ":2022", //远程调试使用,绑定对应的进程pid
ShutdownCleanup: true,
}
if err := agent.Listen(cfg); err != nil {
panic(err)
}
}()
列出所有go进程: gops
查看进程详情: gops 171257
更多
官方文档: https://github.com/google/gops
不过看起来也没有我关注的变量信息。我是希望可以随时监控到变量的情况。