Go Wiki:PGO 工具
基于配置文件的优化(PGO)在 Go 工具链中使用 CPU pprof 配置文件作为 PGO 配置文件格式。尽管 pprof 是许多工具中广泛使用的格式,但 Go 的 PGO 对配置文件的内容施加了特定要求,而生态系统中的许多工具可能与之不兼容。
此(非详尽)页面列出了已知与 PGO 兼容的用于收集和处理配置文件的工具。
收集配置文件
runtime/pprof
,net/http/pprof
:Go 标准库的分析功能始终提供与 PGO 兼容的配置文件。- Parca Agent 与符号化器配对时会生成与 PGO 兼容的配置文件,该符号化器会生成包含函数起始行的元数据,例如 Polar Signals Cloud 或 Parca(从
v0.19.0
版本开始)。
使用配置文件
go tool pprof
/独立的pprof
CLI,github.com/google/pprof/profile
:官方pprof
CLI 和 Go 包可在配置文件上执行各种操作(筛选、合并多个配置文件等)。这些工具/包通常在操作中保留元数据(例如符号化、函数起始行)。因此,给定与 PGO 兼容的输入,它们应生成与 PGO 兼容的输出。- Parca 和 Polar Signals Cloud 提供多种机制来查询和过滤分析数据,并将任何查询下载为 pprof 文件,该文件将包含函数起始行元数据以兼容 PGO。
此内容是 Go Wiki 的一部分。