pycallgraph - Python Call Graph
pycallgraph [OPTION]... OUTPUT_MODE [OUTPUT_OPTIONS]
python_file.py
pycallgraph is a program that creates call graph visualization from Python
scripts.
OUTPUT_MODE can be one of graphviz, gephi and json.
python_file.py is a python script that will be traced and afterwards,
a call graph visualization will be generated.
- <OUTPUT_MODE>
- A choice of graphviz, gephi and json.
- -h, --help
- Shows a list of possible options for the command line.
- -v, --verbose
- Turns on verbose mode which will print out information of pycallgraph's
state and processing.
- -d, --debug
- Turns on debug mode which will print out debugging information such as the
raw Graphviz generated files.
- -ng, --no-groups
- Do not group modules in the results. By default this is turned on and will
visually group together methods of the same module. The technique of
grouping does rely on the type of output used.
- -s, --stdlib
- When running a trace, also include the Python standard library.
- -m, --memory
- An experimental option which includes memory tracking in the trace.
- -t, --threaded
- An experimental option which processes the trace in another thread. This
may or may not be faster.
- -i, --include <pattern>
- Wildcard pattern of modules to include in the output. You can have
multiple include arguments.
- -e, --exclude <pattern>
- Wildcard pattern of modules to exclude in the output. You can have
multiple include arguments.
- --include-pycallgraph
- By default pycallgraph filters itself out of the trace. Enabling this will
include pycallgraph in the trace.
- --max-depth
- Maximum stack depth to trace. Any calls made past this stack depth are not
included in the trace.
- -l <tool>, --tool <tool>
- Modify the default Graphviz tool used by pycallgraph. It uses
"dot", but can be changed to either neato, fdp, sfdp, twopi, or
circo.
Create a call graph image called pycallgraph.png on myprogram.py:
pycallgraph graphviz -- ./myprogram.py
Create a call graph of a standard Python installation script with
command line parameters:
pycallgraph graphviz --output-file=setup.png -- setup.py --dry-run install
Run Django's manage.py script, but since there are many
calls within Django, and will cause a massively sized generated image, we
can filter it to only trace the core Django modules:
pycallgraph -v --stdlib --include "django.core.*" graphviz -- ./manage.py syncdb --noinput
pycallgraph was written by Gerald Kaszuba <pycallgraph@slowchop.com>.
This manual page was originally written by Jan Alonzo
<jmalonzo@unpluggable.com>, for the Debian GNU/Linux system.
2007-2013 Gerald Kaszuba, et al.