diff options
author | Łukasz Langa <lukasz@langa.pl> | 2016-09-10 00:37:37 (GMT) |
---|---|---|
committer | Łukasz Langa <lukasz@langa.pl> | 2016-09-10 00:37:37 (GMT) |
commit | a785c87d6eacbed81543a8afe3cb098fabb9610a (patch) | |
tree | ee127bbbef66a386f4c7f7a21d1e69a54eed5a52 /Doc/whatsnew | |
parent | 39b42ae8dbf81ee89dabf1c418c9081243b4ab97 (diff) | |
download | cpython-a785c87d6eacbed81543a8afe3cb098fabb9610a.zip cpython-a785c87d6eacbed81543a8afe3cb098fabb9610a.tar.gz cpython-a785c87d6eacbed81543a8afe3cb098fabb9610a.tar.bz2 |
DTrace support: function calls, GC activity, line execution
Tested on macOS 10.11 dtrace, Ubuntu 16.04 SystemTap, and libbcc.
Largely based by an initial patch by Jesús Cea Avión, with some
influence from Dave Malcolm's SystemTap patch and Nikhil Benesch's
unification patch.
Things deliberately left out for simplicity:
- ustack helpers, I have no way of testing them at this point since
they are Solaris-specific
- PyFrameObject * in function__entry/function__return, this is
SystemTap-specific
- SPARC support
- dynamic tracing
- sys module dtrace facility introspection
All of those might be added later.
Diffstat (limited to 'Doc/whatsnew')
-rw-r--r-- | Doc/whatsnew/3.6.rst | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/Doc/whatsnew/3.6.rst b/Doc/whatsnew/3.6.rst index d3dd337..7b4d0b3 100644 --- a/Doc/whatsnew/3.6.rst +++ b/Doc/whatsnew/3.6.rst @@ -407,6 +407,31 @@ Example of fatal error on buffer overflow using (Contributed by Victor Stinner in :issue:`26516` and :issue:`26564`.) +DTrace and SystemTap probing support +------------------------------------ + +Python can now be built ``--with-dtrace`` which enables static markers +for the following events in the interpreter: + +* function call/return + +* garbage collection started/finished + +* line of code executed. + +This can be used to instrument running interpreters in production, +without the need to recompile specific debug builds or providing +application-specific profiling/debugging code. + +More details in:ref:`instrumentation`. + +The current implementation is tested on Linux and macOS. Additional +markers may be added in the future. + +(Contributed by Łukasz Langa in :issue:`21590`, based on patches by +Jesús Cea Avión, David Malcolm, and Nikhil Benesch.) + + .. _whatsnew-deforder: PEP 520: Preserving Class Attribute Definition Order |