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