SYNOPSIS

google-pprof [options] <program> <profile>

DESCRIPTION

  • Prints specified cpu- or heap-profile

OPTIONS

--cum

Sort by cumulative data

--base=<base>

Subtract <base> from <profile> before display

Reporting Granularity:

--addresses

Report at address level

--lines

Report at source line level

--functions

Report at function level [default]

--files

Report at source file level

Output type:

--text

Generate text report [default]

--gv

Generate Postscript and display

--list=<regexp>

Generate source listing of matching routines

--disasm=<regexp>

Generate disassembly of matching routines

--dot

Generate DOT file to stdout

--ps

Generate Postcript to stdout

--pdf

Generate PDF to stdout

--gif

Generate GIF to stdout

Heap-Profile Options:

--inuse_space

Display in-use (mega)bytes [default]

--inuse_objects

Display in-use objects

--alloc_space

Display allocated (mega)bytes

--alloc_objects

Display allocated objects

--show_bytes

Display space in bytes

--drop_negative

Ignore negaive differences

Call-graph Options:

--nodecount=<n>

Show at most so many nodes [default=80]

--nodefraction=<f>

Hide nodes below <f>*total [default=.005]

--edgefraction=<f>

Hide edges below <f>*total [default=.001]

--focus=<regexp>

Focus on nodes matching <regexp>

--ignore=<regexp>

Ignore nodes matching <regexp>

--scale=<n>

Set GV scaling [default=0]

EXAMPLES

google-pprof /bin/ls ls.prof

  • Outputs one line per procedure

google-pprof --gv /bin/ls ls.prof

  • Displays annotated call-graph via 'gv'

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

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

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

  • Code paths including Mutex but not string

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

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

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

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

COPYRIGHT

Copyright © 2005 Google Inc.

RELATED TO google-pprof…

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

  • /usr/share/doc/libgoogle-perftools-dev/cpuprofile.html

    /usr/local/share/gperftools/cpu_profiler.html