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。