All Projects → google → Pprof

google / Pprof

Licence: apache-2.0
pprof is a tool for visualization and analysis of profiling data

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to Pprof

Hotspot
The Linux perf GUI for performance analysis.
Stars: ✭ 2,415 (-51.6%)
Mutual labels:  performance, profiler, performance-analysis
Myperf4j
High performance Java APM. Powered by ASM. Try it. Test it. If you feel its better, use it.
Stars: ✭ 2,281 (-54.29%)
Mutual labels:  performance, profiler, performance-analysis
Profimp
Python import profiler
Stars: ✭ 52 (-98.96%)
Mutual labels:  performance, profiler, performance-analysis
Tracy
C++ frame profiler
Stars: ✭ 3,115 (-37.58%)
Mutual labels:  performance, profiler, performance-analysis
Vcprofiler
An accurate and simple tool uses KVO to measure the time cost of every view controller.
Stars: ✭ 61 (-98.78%)
Mutual labels:  performance, profiler, performance-analysis
Performance
⏱ PHP performance tool analyser your script on time, memory usage and db query. Support Laravel and Composer for web, web console and command line interfaces.
Stars: ✭ 429 (-91.4%)
Mutual labels:  performance, performance-analysis
Liveprof
A performance monitoring system for running on live sites
Stars: ✭ 206 (-95.87%)
Mutual labels:  performance, profiler
Perfview
PerfView is a CPU and memory performance-analysis tool
Stars: ✭ 2,924 (-41.4%)
Mutual labels:  performance, performance-analysis
Pyinstrument
🚴 Call stack profiler for Python. Shows you why your code is slow!
Stars: ✭ 3,870 (-22.44%)
Mutual labels:  performance, profiler
Droidtelescope
DroidTelescope(DT),Android端App性能监控框架
Stars: ✭ 231 (-95.37%)
Mutual labels:  performance, performance-analysis
profiler
Continuous profiling based on pprof
Stars: ✭ 221 (-95.57%)
Mutual labels:  profiler, pprof
Torchfunc
PyTorch functions and utilities to make your life easier
Stars: ✭ 177 (-96.45%)
Mutual labels:  performance, performance-analysis
Spark
spark is a performance profiling plugin/mod for Minecraft clients, servers and proxies.
Stars: ✭ 287 (-94.25%)
Mutual labels:  performance, profiler
Fe Performance Journey
🚵 a Journey of Performance Optimizing in Frontend 🚀
Stars: ✭ 169 (-96.61%)
Mutual labels:  performance, performance-analysis
Stackimpact Go
DEPRECATED StackImpact Go Profiler - Production-Grade Performance Profiler: CPU, memory allocations, blocking calls, errors, metrics, and more
Stars: ✭ 276 (-94.47%)
Mutual labels:  profiler, performance-analysis
Why Did You Update
💥 Puts your console on blast when React is making unnecessary updates.
Stars: ✭ 4,089 (-18.06%)
Mutual labels:  performance, performance-analysis
Quickperf
QuickPerf is a testing library for Java to quickly evaluate and improve some performance-related properties
Stars: ✭ 231 (-95.37%)
Mutual labels:  performance, performance-analysis
Loopy
A code generator for array-based code on CPUs and GPUs
Stars: ✭ 367 (-92.65%)
Mutual labels:  performance, performance-analysis
Visualvm
VisualVM is an All-in-One Java Troubleshooting Tool
Stars: ✭ 2,084 (-58.24%)
Mutual labels:  performance, profiler
Caliper
Caliper is an instrumentation and performance profiling library
Stars: ✭ 162 (-96.75%)
Mutual labels:  performance, performance-analysis

Github Action CI Codecov Go Reference

Introduction

pprof is a tool for visualization and analysis of profiling data.

pprof reads a collection of profiling samples in profile.proto format and generates reports to visualize and help analyze the data. It can generate 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. The format is described on the proto/profile.proto file. For details on protocol buffers, see https://developers.google.com/protocol-buffers

Profiles can be read from a local file, or over http. 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 the native binutils tools (addr2line and nm).

This is not an official Google product.

Building pprof

Prerequisites:

To build and install it:

go install github.com/google/pprof@latest

The binary will be installed $GOPATH/bin ($HOME/go/bin by default).

Basic usage

pprof can read a profile from a file or directly from a server via http. Specify the profile input(s) in the command line, and use options to indicate how to format the report.

Generate a text report of the profile, sorted by hotness:

% 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.

Generate a graph in an SVG file, and open it with a web browser:

pprof -web [main_binary] profile.pb.gz

Run pprof on interactive mode:

If no output formatting option is specified, pprof runs on interactive mode, where reads the profile and accepts interactive commands for visualization and refinement of the profile.

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.

Run pprof via a web interface

If the -http flag is specified, pprof starts a web server at the specified host:port that provides an interactive web-based interface to pprof. Host is optional, and is "localhost" by default. Port is optional, and is a random available port by default. -http=":" starts a server locally at a random port.

pprof -http=[host]:[port] [main_binary] profile.pb.gz

The preceding command should automatically open your web browser at the right page; if not, you can manually visit the specified port in your web browser.

Using pprof with Linux Perf

pprof can read perf.data files generated by the Linux perf tool by using the perf_to_profile program from the perf_data_converter package.

Viewing disassembly on Windows

To view disassembly of profiles collected from Go programs compiled as Windows executables, the executable must be built with go build -buildmode=exe. LLVM or GCC must be installed, so required tools like addr2line and nm are available to pprof.

Further documentation

See doc/README.md for more detailed end-user documentation.

See CONTRIBUTING.md for contribution documentation.

See proto/README.md for a description of the profile.proto format.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].