Golang 中的pprof 工具發生故障
儘管pprof 工具之前運行有效,但它突然惡化,無論分析目標如何,都會生成錯誤的輸出。此問題會影響 cpu 和 memprofiling,產生與分析應用程式的複雜性相比極其貧瘠的呼叫圖。
受影響的 Web 應用程式運作良好,接收數百萬個請求並產生適當的回應。幾天前,這個問題在 macOS Yosemite 上突然出現,甚至在升級到 El Capitan 後仍然存在。
有問題的應用程式匯入「github.com/davecheney/profile」套件並在主函數中啟動分析透過「defer profile.Start(profile.MemProfile).Stop()」。但是,pprof 工具在呼叫時似乎會發生故障:
go tool pprof /var/folders/26/2sj70_sn72l_93j7tf6r07gr0000gn/T/profile614358295/mem.pprof
此呼叫忽略了分析的二進位檔案。要解決此問題,應如下呼叫該工具:
go tool pprof ./orig /var/folders/26/2sj70_sn72l_93j7tf6r07gr0000gn/T/profile614358295/mem.pprof
其中「orig」表示啟用分析後建置的二進位檔案。此修改應將 pprof 工具還原到先前的功能。
以上是為什麼我的 pprof 工具為我的 Golang 應用程式產生不正確的輸出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!