Here is a working prototype for CPython to record all function call/return
using LTTng-UST, a fast tracer.
https://github.com/giraldeau/python-profile-ust
However, there are few issues and questions:
- I was not able to get PyTrace_EXCEPTION using raise or other error
conditions. How can we trigger this event in Python code
(PyTrace_C_EXCEPTION works)?
- How could be the best way to get the full name of an object (such as
package, module, class and function). Maybe it's too Java-ish, and it is
better to record file/lineno instead?
- On the C-API side: I did a horrible and silly function show_type() to run
every Py*_Check() to determine the type of a PyObject *. What would be the
sane way to do that?
Your comments are very valuable. Thanks!
Francis
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com