About this project
pprof is a tool for visualization and analysis of profiling data. It reads profiling samples in profile.proto format and generates reports to visualize and help analyze the data, producing both text and graphical reports through the use of the dot visualization package.
profile.proto is a protocol buffer that describes a set of callstacks and symbolization information. A common usage is to represent a set of sampled callstacks from statistical profiling. Profiles can be read from a local file or over HTTP, and multiple profiles of the same type can be aggregated or compared.
If the profile samples contain machine addresses, pprof can symbolize them through the use of native binutils tools (addr2line and nm).
Building pprof requires the Go development kit of a supported version and optionally Graphviz for generating graphic visualizations. The tool can be installed via `go install github.com/google/pprof@latest`.
Basic usage includes generating text reports sorted by hotness, generating SVG graphs opened in a web browser, running in interactive mode where users can issue commands for visualization and refinement, and running via a web interface using the `-http` flag to start a local web server with an interactive browser-based interface.
pprof can also read `perf.data` files generated by the Linux perf tool using the `perf_to_profile` program from the perf_data_converter package. For Windows, viewing disassembly of profiles collected from Go programs requires the executable to be built with `go build -buildmode=exe` and LLVM or GCC must be installed so that tools like addr2line and nm are available.
This is not an official Google product.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.