golang 使用gops进行程序监控

来源:互联网 发布:python 字典遍历 编辑:程序博客网 时间:2024/05/17 23:42

首先需要下载 对应的第三方包

gops

go get -u github.com/google/gops

运行上面命令进行 下载对应包

go install github.com/google/gops

下载完成后安装对应包 会生成 gops.exe 文件

请放到系统环境变量里面 如果运行install正常来说应该生成在%GOPATH%/bin/下面 

看到官方给了一个测试例子

package mainimport (    "log"    "time"    "github.com/google/gops/agent")func main() {    if err := agent.Start(); err != nil {        log.Fatal(err)    }    time.Sleep(time.Hour)}

这玩意,一开始也不知道干嘛的。后面发现如果不起这个程序的话。找不到对应的 程序日志


运行 gops 查看当前运行的所有的golang相关的程序


PID 程序运行名字  绝对路径

 6488    go.exe   (D:\Go\bin\go.exe)
15728*  test.exe        (C:\Users\root\AppData\Local\Temp\go-build178282450\command-line-arguments\_obj\exe\test.exe)
10588   gops.exe        (D:\Go\bin\gops.exe)


如果有人心细的话 会发现 有个 15728* 后面带了个 *号 我也是后面才知道带 * 才可以抓取对应程序的运行数据

当然你可以指定参数执行

//跟踪堆栈 没看出来效果直接报错了。不清楚咋回事 用的最新版的包gops stack -p=<PID> 


//打印当前内存状态gops memstats -p=<PID>




0 0