为了账号安全,请及时绑定邮箱和手机立即绑定

如何持续分析我的 go 应用程序?

如何持续分析我的 go 应用程序?

Go
牧羊人nacy 2023-06-26 17:47:41
我的应用程序存在一些内存泄漏,这导致应用程序经常崩溃。因此,我开始使用 pprof 分析我的应用程序,但我只能在点击 URL 的情况下获取配置文件。有什么方法可以每隔一定时间查找配置文件,以便我可以分析应用程序发生的情况?
查看完整描述

1 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

我希望有一个很酷的标志来 pprof 异常转储(如核心转储),但找不到任何东西。在此之前,我想到了两个选择:

  • 外部:curl pprof 定期使用 cron 或其他驱动程序

  • 内部:从程序内部定期编写 pprof

外部的

$ curl http://localhost:8080/debug/pprof/heap > heap.0.pprof

内部的

ticker := time.NewTicker(1 * time.Hour)

go func() {

    for {

       select {

        case <- ticker.C:

if err := pprof.WriteHeapProfile(f); err != nil {

            log.Fatal("could not write memory profile: ", err)

        }


       }

    }

}()


查看完整回答
反对 回复 2023-06-26
  • 1 回答
  • 0 关注
  • 95 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信