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.
diff --git a/Misc/ACKS b/Misc/ACKS
index 414cda9..0aeb1b1 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -120,6 +120,7 @@
Thomas Bellman
Alexander “Саша” Belopolsky
Eli Bendersky
+Nikhil Benesch
David Benjamin
Oscar Benjamin
Andrew Bennetts
diff --git a/Misc/NEWS b/Misc/NEWS
index 28d9bb1b..a6979dc 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -329,6 +329,8 @@
make time when --with-optimizations is enabled. Also improve our
ability to find the llvm-profdata tool on MacOS and some Linuxes.
+- Issue #21590: Support for DTrace and SystemTap probes.
+
- Issue #26307: The profile-opt build now applys PGO to the built-in modules.
- Issue #26539: Add the --with-optimizations flag to turn on LTO and PGO build