golang 使用gops进行程序监控

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

gops

go get -u github.com/google/gops

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

go install github.com/google/gops

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

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

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

package main

import (
    "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>




相关推荐
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页