1 The following are examples of py_profile.d.
3 This samples stack traces for the process specified. This stack trace will
4 cross the Python engine and system libraries, and insert translations for
5 Python stack frames where appropriate. Here you can see it running on
6 Code/Python/func_slow.py
8 # py_profile.d -c ./func_slow.py
9 Sampling 10-level stacks at 1001 Hertz... Hit Ctrl-C to end.
13 Top 25 most frequently sampled stacks,
16 libpython2.4.so.1.0`PyEval_EvalFrame+0x266
17 [ ./func_slow.py:3 (func_c) ]
18 libpython2.4.so.1.0`fast_function+0xa8
19 libpython2.4.so.1.0`call_function+0xda
20 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
21 [ ./func_slow.py:16 (func_b) ]
22 libpython2.4.so.1.0`fast_function+0xa8
23 libpython2.4.so.1.0`call_function+0xda
24 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
25 [ ./func_slow.py:24 (func_a) ]
26 libpython2.4.so.1.0`fast_function+0xa8
27 libpython2.4.so.1.0`call_function+0xda
28 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
29 [ ./func_slow.py:26 (?) ]
32 libpython2.4.so.1.0`PyEval_EvalFrame+0x278
33 [ ./func_slow.py:3 (func_c) ]
34 libpython2.4.so.1.0`fast_function+0xa8
35 libpython2.4.so.1.0`call_function+0xda
36 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
37 [ ./func_slow.py:16 (func_b) ]
38 libpython2.4.so.1.0`fast_function+0xa8
39 libpython2.4.so.1.0`call_function+0xda
40 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
41 [ ./func_slow.py:24 (func_a) ]
42 libpython2.4.so.1.0`fast_function+0xa8
43 libpython2.4.so.1.0`call_function+0xda
44 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
45 [ ./func_slow.py:26 (?) ]
48 libpython2.4.so.1.0`PyEval_EvalFrame+0x278a
49 [ ./func_slow.py:10 (func_b) ]
50 libpython2.4.so.1.0`fast_function+0xa8
51 libpython2.4.so.1.0`call_function+0xda
52 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
53 [ ./func_slow.py:24 (func_a) ]
54 libpython2.4.so.1.0`fast_function+0xa8
55 libpython2.4.so.1.0`call_function+0xda
56 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
57 [ ./func_slow.py:26 (?) ]
58 libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732
59 libpython2.4.so.1.0`PyEval_EvalCode+0x22
60 libpython2.4.so.1.0`run_node+0x35
63 libpython2.4.so.1.0`PyEval_EvalFrame+0x205
64 [ ./func_slow.py:18 (func_a) ]
65 libpython2.4.so.1.0`fast_function+0xa8
66 libpython2.4.so.1.0`call_function+0xda
67 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
68 [ ./func_slow.py:26 (?) ]
69 libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732
70 libpython2.4.so.1.0`PyEval_EvalCode+0x22
71 libpython2.4.so.1.0`run_node+0x35
72 libpython2.4.so.1.0`run_err_node+0x1f
73 libpython2.4.so.1.0`PyRun_FileExFlags+0x5e
74 libpython2.4.so.1.0`PyRun_SimpleFileExFlags+0x12f
77 libpython2.4.so.1.0`PyEval_EvalFrame+0x1fe
78 [ ./func_slow.py:10 (func_b) ]
79 libpython2.4.so.1.0`fast_function+0xa8
80 libpython2.4.so.1.0`call_function+0xda
81 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
82 [ ./func_slow.py:24 (func_a) ]
83 libpython2.4.so.1.0`fast_function+0xa8
84 libpython2.4.so.1.0`call_function+0xda
85 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
86 [ ./func_slow.py:26 (?) ]
87 libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732
88 libpython2.4.so.1.0`PyEval_EvalCode+0x22
89 libpython2.4.so.1.0`run_node+0x35
92 libpython2.4.so.1.0`PyEval_EvalFrame+0x35d
93 [ ./func_slow.py:10 (func_b) ]
94 libpython2.4.so.1.0`fast_function+0xa8
95 libpython2.4.so.1.0`call_function+0xda
96 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
97 [ ./func_slow.py:24 (func_a) ]
98 libpython2.4.so.1.0`fast_function+0xa8
99 libpython2.4.so.1.0`call_function+0xda
100 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
101 [ ./func_slow.py:26 (?) ]
102 libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732
103 libpython2.4.so.1.0`PyEval_EvalCode+0x22
104 libpython2.4.so.1.0`run_node+0x35
107 libpython2.4.so.1.0`PyEval_EvalFrame+0x1f5
108 [ ./func_slow.py:10 (func_b) ]
109 libpython2.4.so.1.0`fast_function+0xa8
110 libpython2.4.so.1.0`call_function+0xda
111 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
112 [ ./func_slow.py:24 (func_a) ]
113 libpython2.4.so.1.0`fast_function+0xa8
114 libpython2.4.so.1.0`call_function+0xda
115 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
116 [ ./func_slow.py:26 (?) ]
117 libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732
118 libpython2.4.so.1.0`PyEval_EvalCode+0x22
119 libpython2.4.so.1.0`run_node+0x35
122 libpython2.4.so.1.0`PyEval_EvalFrame+0x149
123 [ ./func_slow.py:3 (func_c) ]
124 libpython2.4.so.1.0`fast_function+0xa8
125 libpython2.4.so.1.0`call_function+0xda
126 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
127 [ ./func_slow.py:16 (func_b) ]
128 libpython2.4.so.1.0`fast_function+0xa8
129 libpython2.4.so.1.0`call_function+0xda
130 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
131 [ ./func_slow.py:24 (func_a) ]
132 libpython2.4.so.1.0`fast_function+0xa8
133 libpython2.4.so.1.0`call_function+0xda
134 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
135 [ ./func_slow.py:26 (?) ]
138 libpython2.4.so.1.0`PyEval_EvalFrame+0x5aa
139 [ ./func_slow.py:3 (func_c) ]
140 libpython2.4.so.1.0`fast_function+0xa8
141 libpython2.4.so.1.0`call_function+0xda
142 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
143 [ ./func_slow.py:16 (func_b) ]
144 libpython2.4.so.1.0`fast_function+0xa8
145 libpython2.4.so.1.0`call_function+0xda
146 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
147 [ ./func_slow.py:24 (func_a) ]
148 libpython2.4.so.1.0`fast_function+0xa8
149 libpython2.4.so.1.0`call_function+0xda
150 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
151 [ ./func_slow.py:26 (?) ]
154 libpython2.4.so.1.0`PyEval_EvalFrame+0x58f
155 [ ./func_slow.py:3 (func_c) ]
156 libpython2.4.so.1.0`fast_function+0xa8
157 libpython2.4.so.1.0`call_function+0xda
158 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
159 [ ./func_slow.py:16 (func_b) ]
160 libpython2.4.so.1.0`fast_function+0xa8
161 libpython2.4.so.1.0`call_function+0xda
162 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
163 [ ./func_slow.py:24 (func_a) ]
164 libpython2.4.so.1.0`fast_function+0xa8
165 libpython2.4.so.1.0`call_function+0xda
166 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
167 [ ./func_slow.py:26 (?) ]
170 libpython2.4.so.1.0`PyEval_EvalFrame+0x58f
171 [ ./func_slow.py:10 (func_b) ]
172 libpython2.4.so.1.0`fast_function+0xa8
173 libpython2.4.so.1.0`call_function+0xda
174 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
175 [ ./func_slow.py:24 (func_a) ]
176 libpython2.4.so.1.0`fast_function+0xa8
177 libpython2.4.so.1.0`call_function+0xda
178 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
179 [ ./func_slow.py:26 (?) ]
180 libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732
181 libpython2.4.so.1.0`PyEval_EvalCode+0x22
182 libpython2.4.so.1.0`run_node+0x35
185 libpython2.4.so.1.0`PyEval_EvalFrame+0x254
186 [ ./func_slow.py:3 (func_c) ]
187 libpython2.4.so.1.0`fast_function+0xa8
188 libpython2.4.so.1.0`call_function+0xda
189 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
190 [ ./func_slow.py:16 (func_b) ]
191 libpython2.4.so.1.0`fast_function+0xa8
192 libpython2.4.so.1.0`call_function+0xda
193 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
194 [ ./func_slow.py:24 (func_a) ]
195 libpython2.4.so.1.0`fast_function+0xa8
196 libpython2.4.so.1.0`call_function+0xda
197 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
198 [ ./func_slow.py:26 (?) ]
201 libpython2.4.so.1.0`PyEval_EvalFrame+0x286
202 [ ./func_slow.py:3 (func_c) ]
203 libpython2.4.so.1.0`fast_function+0xa8
204 libpython2.4.so.1.0`call_function+0xda
205 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
206 [ ./func_slow.py:16 (func_b) ]
207 libpython2.4.so.1.0`fast_function+0xa8
208 libpython2.4.so.1.0`call_function+0xda
209 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
210 [ ./func_slow.py:24 (func_a) ]
211 libpython2.4.so.1.0`fast_function+0xa8
212 libpython2.4.so.1.0`call_function+0xda
213 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
214 [ ./func_slow.py:26 (?) ]
217 libpython2.4.so.1.0`PyEval_EvalFrame+0x2fbf
218 [ ./func_slow.py:3 (func_c) ]
219 libpython2.4.so.1.0`fast_function+0xa8
220 libpython2.4.so.1.0`call_function+0xda
221 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
222 [ ./func_slow.py:16 (func_b) ]
223 libpython2.4.so.1.0`fast_function+0xa8
224 libpython2.4.so.1.0`call_function+0xda
225 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
226 [ ./func_slow.py:24 (func_a) ]
227 libpython2.4.so.1.0`fast_function+0xa8
228 libpython2.4.so.1.0`call_function+0xda
229 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
230 [ ./func_slow.py:26 (?) ]
233 libpython2.4.so.1.0`PyEval_EvalFrame+0x35d
234 [ ./func_slow.py:3 (func_c) ]
235 libpython2.4.so.1.0`fast_function+0xa8
236 libpython2.4.so.1.0`call_function+0xda
237 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
238 [ ./func_slow.py:16 (func_b) ]
239 libpython2.4.so.1.0`fast_function+0xa8
240 libpython2.4.so.1.0`call_function+0xda
241 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
242 [ ./func_slow.py:24 (func_a) ]
243 libpython2.4.so.1.0`fast_function+0xa8
244 libpython2.4.so.1.0`call_function+0xda
245 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
246 [ ./func_slow.py:26 (?) ]
250 libpython2.4.so.1.0`_init+0x25
251 ld.so.1`call_init+0xff
254 ld.so.1`_rt_boot+0x56
258 libpython2.4.so.1.0`PyEval_EvalFrame+0x5a4
259 [ ./func_slow.py:18 (func_a) ]
260 libpython2.4.so.1.0`fast_function+0xa8
261 libpython2.4.so.1.0`call_function+0xda
262 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
263 [ ./func_slow.py:26 (?) ]
264 libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732
265 libpython2.4.so.1.0`PyEval_EvalCode+0x22
266 libpython2.4.so.1.0`run_node+0x35
267 libpython2.4.so.1.0`run_err_node+0x1f
268 libpython2.4.so.1.0`PyRun_FileExFlags+0x5e
269 libpython2.4.so.1.0`PyRun_SimpleFileExFlags+0x12f
272 libpython2.4.so.1.0`PyEval_EvalFrame+0x5ba
273 [ ./func_slow.py:3 (func_c) ]
274 libpython2.4.so.1.0`fast_function+0xa8
275 libpython2.4.so.1.0`call_function+0xda
276 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
277 [ ./func_slow.py:16 (func_b) ]
278 libpython2.4.so.1.0`fast_function+0xa8
279 libpython2.4.so.1.0`call_function+0xda
280 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
281 [ ./func_slow.py:24 (func_a) ]
282 libpython2.4.so.1.0`fast_function+0xa8
283 libpython2.4.so.1.0`call_function+0xda
284 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
285 [ ./func_slow.py:26 (?) ]
288 libpython2.4.so.1.0`PyEval_EvalFrame+0x583
289 [ ./func_slow.py:10 (func_b) ]
290 libpython2.4.so.1.0`fast_function+0xa8
291 libpython2.4.so.1.0`call_function+0xda
292 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
293 [ ./func_slow.py:24 (func_a) ]
294 libpython2.4.so.1.0`fast_function+0xa8
295 libpython2.4.so.1.0`call_function+0xda
296 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
297 [ ./func_slow.py:26 (?) ]
298 libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732
299 libpython2.4.so.1.0`PyEval_EvalCode+0x22
300 libpython2.4.so.1.0`run_node+0x35
303 libpython2.4.so.1.0`PyEval_EvalFrame+0x5a4
304 [ ./func_slow.py:10 (func_b) ]
305 libpython2.4.so.1.0`fast_function+0xa8
306 libpython2.4.so.1.0`call_function+0xda
307 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
308 [ ./func_slow.py:24 (func_a) ]
309 libpython2.4.so.1.0`fast_function+0xa8
310 libpython2.4.so.1.0`call_function+0xda
311 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
312 [ ./func_slow.py:26 (?) ]
313 libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732
314 libpython2.4.so.1.0`PyEval_EvalCode+0x22
315 libpython2.4.so.1.0`run_node+0x35
318 libpython2.4.so.1.0`PyEval_EvalFrame+0x278a
319 [ ./func_slow.py:3 (func_c) ]
320 libpython2.4.so.1.0`fast_function+0xa8
321 libpython2.4.so.1.0`call_function+0xda
322 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
323 [ ./func_slow.py:16 (func_b) ]
324 libpython2.4.so.1.0`fast_function+0xa8
325 libpython2.4.so.1.0`call_function+0xda
326 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
327 [ ./func_slow.py:24 (func_a) ]
328 libpython2.4.so.1.0`fast_function+0xa8
329 libpython2.4.so.1.0`call_function+0xda
330 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
331 [ ./func_slow.py:26 (?) ]
334 libpython2.4.so.1.0`PyEval_EvalFrame+0x205
335 [ ./func_slow.py:10 (func_b) ]
336 libpython2.4.so.1.0`fast_function+0xa8
337 libpython2.4.so.1.0`call_function+0xda
338 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
339 [ ./func_slow.py:24 (func_a) ]
340 libpython2.4.so.1.0`fast_function+0xa8
341 libpython2.4.so.1.0`call_function+0xda
342 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
343 [ ./func_slow.py:26 (?) ]
344 libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732
345 libpython2.4.so.1.0`PyEval_EvalCode+0x22
346 libpython2.4.so.1.0`run_node+0x35
349 libpython2.4.so.1.0`PyEval_EvalFrame+0x583
350 [ ./func_slow.py:3 (func_c) ]
351 libpython2.4.so.1.0`fast_function+0xa8
352 libpython2.4.so.1.0`call_function+0xda
353 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
354 [ ./func_slow.py:16 (func_b) ]
355 libpython2.4.so.1.0`fast_function+0xa8
356 libpython2.4.so.1.0`call_function+0xda
357 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
358 [ ./func_slow.py:24 (func_a) ]
359 libpython2.4.so.1.0`fast_function+0xa8
360 libpython2.4.so.1.0`call_function+0xda
361 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
362 [ ./func_slow.py:26 (?) ]
365 libpython2.4.so.1.0`PyEval_EvalFrame+0x5a4
366 [ ./func_slow.py:3 (func_c) ]
367 libpython2.4.so.1.0`fast_function+0xa8
368 libpython2.4.so.1.0`call_function+0xda
369 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
370 [ ./func_slow.py:16 (func_b) ]
371 libpython2.4.so.1.0`fast_function+0xa8
372 libpython2.4.so.1.0`call_function+0xda
373 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
374 [ ./func_slow.py:24 (func_a) ]
375 libpython2.4.so.1.0`fast_function+0xa8
376 libpython2.4.so.1.0`call_function+0xda
377 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
378 [ ./func_slow.py:26 (?) ]
381 libpython2.4.so.1.0`PyEval_EvalFrame+0x205
382 [ ./func_slow.py:3 (func_c) ]
383 libpython2.4.so.1.0`fast_function+0xa8
384 libpython2.4.so.1.0`call_function+0xda
385 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
386 [ ./func_slow.py:16 (func_b) ]
387 libpython2.4.so.1.0`fast_function+0xa8
388 libpython2.4.so.1.0`call_function+0xda
389 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
390 [ ./func_slow.py:24 (func_a) ]
391 libpython2.4.so.1.0`fast_function+0xa8
392 libpython2.4.so.1.0`call_function+0xda
393 libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
394 [ ./func_slow.py:26 (?) ]
397 The lines in square brackets are the native Python frames, the rest
398 are the Python engine.