py_profile.d 1m "$Date:: 2007-10-03 #$" "USER COMMANDS"
NAME
py_profile.d - sample stack traces with Python translations using DTrace.
SYNOPSIS
py_profile.d { -p PID | -c cmd }
DESCRIPTION
This samples stack traces for the process specified. This stack trace will cross the Python engine and system libraries, and insert translations for Python stack frames where appropriate. This is best explained with an example stack frame output, libpython2.4.so.1.0`PyEval_EvalFrame+0x2fbf [ ./func_loop.py:5 (func_c) ] libpython2.4.so.1.0`fast_function+0xa8 libpython2.4.so.1.0`call_function+0xda libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf [ ./func_loop.py:11 (func_b) ] libpython2.4.so.1.0`fast_function+0xa8 libpython2.4.so.1.0`call_function+0xda libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf [ ./func_loop.py:14 (func_a) ] libpython2.4.so.1.0`fast_function+0xa8 libpython2.4.so.1.0`call_function+0xda libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf [ ./func_loop.py:16 (?) ] The lines in square brackets are the native Python frames, the rest are the Python engine.
OS
Any
STABILITY
Evolving - uses the DTrace Python provider, which may change as additional features are introduced. Check Python/Readme to see what version these scripts are based on.
EXAMPLES

Default output, # py_profile.d

DOCUMENTATION
See the DTraceToolkit for further documentation under the Examples, Notes and Docs directories. The example files may be especially useful as they aim to demonstrate how to interpret the output.
EXIT
py_profile.d will run until Ctrl-C is hit.
AUTHOR
Brendan Gregg [CA, USA]
SEE ALSO
dtrace(1M)