[Python-Dev] DTRACE support (original) (raw)

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/runtimetools/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); /*

#if defined(__sparc) asm("nop"); #endif }

Also have a look at cevalc.c: http://bugs.python.org/review/13405/diff/6152/Python/ceval.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 tracemalloc).

cf



More information about the Python-Dev mailing list