[ltt-dev] UST 0.3 released

Pierre-Marc Fournier pierre-marc.fournier at polymtl.ca
Mon Mar 1 23:12:38 EST 2010


Hi,

UST (LTTng Userspace Tracer) 0.3 has been released. It is compatible
with LTTV 0.12.30 and libkcompat 0.1.


Changes since version 0.2 (from ChangeLog):
* fix several issues, stabilizing tracing of large applications
* add --set-subbuf-size / --set-subbuf-num options to ustctl
* add a signal safe implementation of snprintf
* manual updates


TODO's, from the TODO file (help welcome):

- support multiple simultaneous traces
- fix FIXME's in the code
- add compilation tests
- test with smaller subbuffer sizes
- correctly destroy buffers at trace destroy
- add option to see subbuffer size and count
- performance testing tool (in progress by Rafik Fahem)
- profile with oprofile or similar to check for perf bottlenecks
- improve support for combined kernel/userspace tracing
- document API
- make sure the proper structures are cacheline aligned, and test
performance, including multi-threaded
- fix header/lib priority problem at compilation
- port changes from recent versions of lttng kernel
- make cli interface for flight recorder
- save_registers: save them only when the marker is active (complicated
because we need to know their value at the address that is put in struct
marker)
- make streaming work, including periodical flush
- make a system (signal-based?) that allow the listener thread to not be
started initially
- ustd should work as a pool of threads
- support more than one marker with the same channel and name on the
same line?
- make a mode where the listener thread can poll buffers to check if
they are ready to be collected
  This is to guarantee there will never be a system call in the tracing
path. Currently there is a system
  call when the buffer is full to notify the listener it can be collected.
- In early tracing mode, the only channels that can be used reliably are
"metadata" and "ust". The "usttrace" tool always uses early tracing and
is hence subject to this limitation. Traces setup with the "ustctl" tool
("manual mode") are not subject to this limitation and can contain
channels that have any name. Also, when loading a library with dlopen(),
in order for markers in the library to generate events in the trace,
these markers must be in the same channel as an event that was in the
executable or its dynamically linked libraries that were loaded at start
time. If using early tracing, only the "ust" channel can be used. Fix
this. (RCU locking of channel structures in progress by Mathieu Desnoyers)




The release can be obtained at the following locations.

UST website:
http://lttng.org/ust

The tarballs:
http://lttng.org/files/ust/releases/

The documentation, including a quick start guide:
http://lttng.org/files/ust/manual/ust.html

The repository:
http://git.dorsal.polymtl.ca/?p=ust.git

--
Pierre-Marc Fournier








More information about the lttng-dev mailing list