PPROF是可视化和分析分析数据的工具。
PPROF读取了Prot.Proto格式的分析样本的集合,并生成报告可视化和帮助分析数据。它可以同时生成文本和图形报告(通过使用点可视化软件包)。
profile.proto是一个协议缓冲区,描述了一组呼叫堆和象征信息。一个常见的用法是代表一组来自统计分析的采样呼叫堆。格式在proto/profile.proto文件中描述。有关协议缓冲区的详细信息,请参见https://ddevelopers.google.com/protocol-buffers
配置文件可以从本地文件或HTTP上读取。可以汇总或比较相同类型的多个轮廓。
如果配置文件样本包含机器地址,则PPROF可以通过使用本机Binutils工具(ADDR2Line和NM)来象征它们。
这不是官方的Google产品。
先决条件:
Go开发套件的支持版本。按照以下说明准备环境。
GraphViz:http://www.graphviz.org/可选,用于生成配置文件的图形可视化
构建并安装它:
go install github.com/google/pprof@latest
二进制文件将安装$GOPATH/bin
(默认情况下为$HOME/go/bin
)。
PPROF可以通过HTTP从文件或直接从服务器读取配置文件。在命令行中指定配置文件输入,并使用选项指示如何格式化报告。
% pprof -top [main_binary] profile.pb.gz Where main_binary: Local path to the main program binary, to enable symbolization profile.pb.gz: Local path to the profile in a compressed protobuf, or URL to the http service that serves a profile.
pprof -web [main_binary] profile.pb.gz
如果未指定输出格式选项,则PPROF在交互式模式下运行,其中读取配置文件并接受交互式命令以可视化和简化配置文件。
pprof [main_binary] profile.pb.gz This will open a simple shell that takes pprof commands to generate reports. Type 'help' for available commands/options.
如果指定了-http
标志,则PPROF在指定的主机:端口上启动Web服务器,该端口为PPROF提供基于交互式Web的接口。主机是可选的,默认情况下是“ Localhost”。端口是可选的,默认情况下是一个随机可用端口。 -http=":"
从随机端口本地启动服务器。
pprof -http=[host]:[port] [main_binary] profile.pb.gz
前面的命令应在右页上自动打开Web浏览器;如果没有,您可以手动访问Web浏览器中指定的端口。
PPROF可以通过使用perf_data_converter软件包的perf_to_profile
程序来读取Linux perf工具生成的perf.data
文件。
要查看从Windows可执行文件中收集的GO程序收集的配置文件的分配,必须使用go build -buildmode=exe
构建可执行文件。必须安装LLVM或GCC,因此pprof
可以使用addr2line
和nm
(例如ADDR2Line)。
有关更详细的最终用户文档,请参见DOC/README.MD。
有关贡献文档,请参见贡献。
有关Profile.proto格式的说明,请参见proto/readme.md。