[Python-Dev] DTRACE support

Charles-François Natali cf.natali at gmail.com
Fri Sep 6 17:29:12 CEST 2013

> As far as I know, Erlang, Ruby, PHP, Perl, etc., support Dtrace.
> Python is embarrasingly missing from this list.
> Some examples:
> <http://crypt.codemancers.com/posts/2013-04-16-profile-ruby-apps-dtrace-part1/>
> <http://www.phpdeveloper.org/news/18859>
> <http://www.erlang.org/doc/apps/runtime_tools/DTRACE.html>
> I have spend a very long time on a patch for Dtrace support in most
> platforms with dtrace available. Currently working under Solaris and
> derivatives, and MacOS X. Last time I checked, it would crash FreeBSD
> because bugs in the dtrace port, but that was a long time ago.
> I would like to push this to Python 3.4, and the window is going to be
> closed soon, so I think this is the time to ask for opinions and
> support here.
> Does Python-Dev have any opinion or interest in this project?. Should
> I push for it?

IMO, that's a large, intrusive patch, which distracts the reader from
the main code and logic.

Here's an extract from Modules/gcmodule.c:

static void
dtrace_gc_done(Py_ssize_t value)
PYTHON_GC_DONE((long) value);
* Currently a USDT tail-call will not receive the correct arguments.
* Disable the tail call here.
#if defined(__sparc)

Also have a look at cevalc.c:

IMO it's not worth it (personally strace/gdb/valgrind are more than
enough for me, and we''re about to gain memory tracing with Victor's


More information about the Python-Dev mailing list