cProfile flamegraph generator
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 myscript.prof myscript.py
pip install flameprof
Or you can invoke flameprof.py directly:
python flameprof.py input.prof > 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.prof > requests.svg
(Images are clickable)
Svg generated with flamegraph.pl (–format=log)
Also flameprof can output trace log suitable as input for flamegraph.pl.
You can treat “samples” as microseconds by default (see --log-mult option).
flameprof --format=log requests.prof | flamegraph > requests-flamegraph.svg
(Image is clickable)
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.