Skip to content
Flamegraph generator for cProfile stats
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore save pstat file from wsgi handler Dec 25, 2018
README.rst update docs Oct 4, 2017
reqs.txt docs Sep 17, 2017


Flamegraph generator for python's cProfile stats.

Flamegraphs allow to visualize relations between functions in a very compact and understandable manner.

Flameprof solves main problems of built-in cProfile reporting and can replace gprof2dot because later outputs very huge graphs with a lot of noise.

Flameprof works with profile stat files obtained by Profile.dump_stats() call or via direct script profiling:

python -m cProfile -o


Via pip:

pip install flameprof

Or you can invoke directly:

python > output.svg

Native svg (--format=svg)

Native svg features:

  • compact function names with full names in a tooltip
  • precise timings (cumulative and total)
  • call counts (in a tooltip on hover)
  • green bars show stack frames where flameprof starts to guess timing ratios
  • inverted flamegraph to show total time of all calls

Graph width, row height, font size and threshold can be set via appropriate cli options.

flameprof > requests.svg

Requests profile

Inverted flamegraph:

Requests profile

(Images are clickable)

Svg generated with (--format=log)

Also flameprof can output trace log suitable as input for

You can treat "samples" as microseconds by default (see --log-mult option).

flameprof --format=log | flamegraph > requests-flamegraph.svg

Requests profile with

(Image is clickable)

You can’t perform that action at this time.