This repository was archived by the owner on Apr 9, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 343
Expand file tree
/
Copy pathpycallgraph.1
More file actions
181 lines (179 loc) · 4.73 KB
/
Copy pathpycallgraph.1
File metadata and controls
181 lines (179 loc) · 4.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
.\" Man page generated from reStructuredText.
.
.TH "PYCALLGRAPH" "1" "September 17, 2013" "1.0.1" "Python Call Graph"
.SH NAME
pycallgraph \- Python Call Graph
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.SH SYNOPSIS
.sp
pycallgraph [\fIOPTION\fP]... \fIOUTPUT_MODE\fP [\fIOUTPUT_OPTIONS\fP] \fIpython_file.py\fP
.SH DESCRIPTION
.sp
pycallgraph is a program that creates call graph visualization from Python scripts.
.sp
\fIOUTPUT_MODE\fP can be one of graphviz or gephi. \fIpython_file.py\fP is a python script that will be traced and afterwards, a call graph visualization will be generated.
.SH GENERAL ARGUMENTS
.INDENT 0.0
.TP
.B <OUTPUT_MODE>
A choice of graphviz or gephi.
.UNINDENT
.INDENT 0.0
.TP
.B \-h, \-\-help
Shows a list of possible options for the command line.
.UNINDENT
.INDENT 0.0
.TP
.B \-v, \-\-verbose
Turns on verbose mode which will print out information of pycallgraph\(aqs state and processing.
.UNINDENT
.INDENT 0.0
.TP
.B \-d, \-\-debug
Turns on debug mode which will print out debugging information such as the raw Graphviz generated files.
.UNINDENT
.INDENT 0.0
.TP
.B \-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.
.UNINDENT
.INDENT 0.0
.TP
.B \-s, \-\-stdlib
When running a trace, also include the Python standard library.
.UNINDENT
.INDENT 0.0
.TP
.B \-m, \-\-memory
An experimental option which includes memory tracking in the trace.
.UNINDENT
.INDENT 0.0
.TP
.B \-t, \-\-threaded
An experimental option which processes the trace in another thread. This may or may not be faster.
.UNINDENT
.SH FILTERING ARGUMENTS
.INDENT 0.0
.TP
.B \-i, \-\-include <pattern>
Wildcard pattern of modules to include in the output. You can have multiple include arguments.
.UNINDENT
.INDENT 0.0
.TP
.B \-e, \-\-exclude <pattern>
Wildcard pattern of modules to exclude in the output. You can have multiple include arguments.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-include\-pycallgraph
By default pycallgraph filters itself out of the trace. Enabling this will include pycallgraph in the trace.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-max\-depth
Maximum stack depth to trace. Any calls made past this stack depth are not included in the trace.
.UNINDENT
.SH GRAPHVIZ ARGUMENTS
.INDENT 0.0
.TP
.B \-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.
.UNINDENT
.SH EXAMPLES
.sp
Create a call graph image called pycallgraph.png on myprogram.py:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
pycallgraph graphviz \-\- ./myprogram.py
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
Create a call graph of a standard Python installation script with command line parameters:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
pycallgraph graphviz \-\-output\-file=setup.png \-\- setup.py \-\-dry\-run install
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
Run Django\(aqs \fImanage.py\fP 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:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
pycallgraph \-v \-\-stdlib \-\-include "django.core.*" graphviz \-\- ./manage.py syncdb \-\-noinput
.ft P
.fi
.UNINDENT
.UNINDENT
.SH AUTHOR
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.
.SH COPYRIGHT
2007-2013 Gerald Kaszuba, et al.
.\" Generated by docutils manpage writer.
.