我的应用程序有一些内存泄漏,这使得应用程序经常崩溃。所以我开始用pprof分析我的应用程序,但是我只能在我点击url的时候获得配置文件。是否有任何方法可以在某个时间间隔找到配置文件,以便我可以分析应用程序发生了什么?
qnzebej01#
我希望有一个很酷的标志,以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) } } } }()
The external curl is a strategy I often take in order to get heap profiles at regular intervals in order to track/compare memory growth。
von4xj4u2#
您可以使用pyroscope https://pyroscope.io/与拉动模型。它不断地抓取应用程序并将分析信息放到UI Jmeter 板中。
2条答案
按热度按时间qnzebej01#
我希望有一个很酷的标志,以pprof转储异常(如核心转储),但找不到任何东西。在此之前,有两个选择浮现在脑海中:
外部
内部
The external curl is a strategy I often take in order to get heap profiles at regular intervals in order to track/compare memory growth。
von4xj4u2#
您可以使用pyroscope https://pyroscope.io/与拉动模型。它不断地抓取应用程序并将分析信息放到UI Jmeter 板中。