pprof man page

pprof — manual page for pprof (part of gperftools)


pprof [options] <program> <profile>


Prints specified cpu- or heap-profile


Sort by cumulative data
Subtract <base> from <profile> before display

Reporting Granularity

Report at address level
Report at source line level
Report at function level [default]
Report at source file level

Output type

Generate text report [default]
Generate Postscript and display
Generate source listing of matching routines
Generate disassembly of matching routines
Generate DOT file to stdout
Generate Postcript to stdout
Generate PDF to stdout
Generate GIF to stdout

Heap-Profile Options

Display in-use (mega)bytes [default]
Display in-use objects
Display allocated (mega)bytes
Display allocated objects
Display space in bytes
Ignore negaive differences

Call-graph Options

Show at most so many nodes [default=80]
Hide nodes below <f>*total [default=.005]
Hide edges below <f>*total [default=.001]
Focus on nodes matching <regexp>
Ignore nodes matching <regexp>
Set GV scaling [default=0]


pprof /bin/ls ls.prof

Outputs one line per procedure

pprof --gv /bin/ls ls.prof

Displays annotated call-graph via 'gv'

pprof --gv --focus=Mutex /bin/ls ls.prof

Restricts to code paths including a .*Mutex.* entry

pprof --gv --focus=Mutex --ignore=string /bin/ls ls.prof

Code paths including Mutex but not string

pprof --list=getdir /bin/ls ls.prof

Dissassembly (with per-line annotations) for getdir()

pprof --disasm=getdir /bin/ls ls.prof

Dissassembly (with per-PC annotations) for getdir()

See Also

Further documentation for pprof is maintained as a web page called cpu_profiler.html and is likely installed at one of the following locations:



pprof (part of gperftools) Google February 2005