[issue28909] Adding LTTng-UST tracing support

Peter McCormick report at bugs.python.org
Sun Feb 19 01:02:47 EST 2017


Peter McCormick added the comment:

A few suggestions:

 * Disallow `--with-lttngust` on anything other than Linux (on macOS `configure` dies due to differences in acceptable `mktemp` arguments if you even attempt it)
 * Rename `cpython_inst.h` to `pytrace.h` and rename `pylttngust_probes.h` to `pytrace_lttngust_probes.h`
	- While we're at it, rename `pydtrace.h` to `pytrace_dtrace.h`, and other mentions of `PyDTrace_*` to `PyTrace_DTrace_*`?
 * Define a `WITH_TRACE` or `Py_TRACE` or similar preprocessor symbol 
 * Using that symbol, in `Python/ceval.c` ifdef-guard the static function prototypes and function calls
	- Otherwise when BOTH DTrace and LTTng-UST are disabled, Clang on macOS gives `warning: code will never be executed` warnings on the various arms of the `if (PyTraceEnabled(...))` statements, and GCC on Linux warn about unused variables `lineno`, `funcname` and `filename` in `pytrace_function_{entry,return}`, since the actual use of those variables as arguments is preprocessed out of existance

If everyone was in agreement, would it make sense to sequence this as first the generalization-renames to the existing DTrace/SystemTap code, and then recast the LTTng addition patch on top of those? I'd be happy to do this.

So, `PyTrace` or `PyTracing`?

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue28909>
_______________________________________


More information about the Python-bugs-list mailing list