Go Wiki:PGO 工具
剖析導向最佳化(PGO)在 Go 工具鏈中使用 CPU pprof 剖析作為 PGO 剖析格式。儘管 pprof 是許多工具廣泛使用的格式,但 Go 的 PGO 對剖析內容施加了特定要求,而生態系統中的許多工具可能與之不相容。
此(非詳盡)頁面列出已知與 PGO 相容的收集和使用剖析的工具。
收集剖析
runtime/pprof
、net/http/pprof
:Go 標準程式庫剖析功能始終提供與 PGO 相容的剖析。- Parca Agent 與產生包含函數起始行的中繼資料的符號化工具配對使用時,會產生與 PGO 相容的剖析,例如從版本
v0.19.0
開始的 Polar Signals Cloud 或 Parca。
使用剖析
go tool pprof
/獨立式pprof
CLI、github.com/google/pprof/profile
:官方pprof
CLI 和 Go 套件可以在剖析上執行各種操作(過濾、合併多個剖析等)。這些工具/套件通常會讓中繼資料(例如符號化、函數起始行)在操作中保持完整。因此,給定與 PGO 相容的輸入,它們應產生與 PGO 相容的輸出。- Parca 和 Polar Signals Cloud 提供各種機制來查詢和過濾剖析資料,並將任何查詢下載為 pprof 檔案,其中將包含函數起始行中繼資料以與 PGO 相容。
此內容是 Go Wiki 的一部分。