LTTng, LTTV and ltt-control pre-releases for 2.6.23-mm1
Mathieu Desnoyers <[email protected]> Tue, 16 Oct 2007 00:14:00 -0400
| Newsgroups | gmane.linux.kernel.tracing |
|---|---|
| Message-ID | <20071016041400.GA30371@Krystal> |
Hello! I had some time to finally get lttv in sync with lttng last week, so I release things in their current state. Many thanks to Pierre-Marc Fournier for digging into this with me. Most interesting changes: The main feature is a much simplified event addition: add a trace_mark() in the kernel code and you are all set. It now uses ltt-armall and ltt-disarmall to enable/disable all markers. You can look at these scripts to see how to granunarily enable/disable markers. You don't have to create any probe, and no more XML event definition is needed. The event data types and the field names are all taken from the marker format string. It also supports crash dump trace extraction. See http://sourceforge.net/projects/crosscrash/ for more information about the user-space crash extraction app. I suspect it does not support 2.6.23-mm1 though. A new --edebug option has been added: it dumps the events header and variable length data in hexedit-style on the standard output before the events are used by lttv. This can be very useful for debugging lttv. The lttng patchset has been completely refactored to be easier to get into Linux kernel mainline. Its core is even more architecture independant than before, relying on a logical clock fallback when no precise timestamp counter can be found. The only architecture dependent part left is the architecture specific instrumentation (principally trap entry/exit, ipc, syscall entry/exit, kthread creation). The newest versions are : LTTng 0.10.0-pre5 LTTV 0.10.0-pre1 ltt-control 0.45 You will find them on the http://ltt.polymtl.ca website. Testing is very welcome. What is left to be done: - Create a dictionnary file infrastructure in lttv that will map integers to strings (enumerations). I.e., syscalls are currently printed as "syscall X", irq as "irq X"... - User space tracing - Kernel and user space stack dump (sequences are not re-implemented) - Update and reactivate gui disperformance and tutorial plugins. - LTTng : ia64 and s390 build will break because the 8 bit fields used for thread flags cannot hold the kernel trace thread flag. There are probably some features I am missing in this TODO list. Mathieu -- Mathieu Desnoyers Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68