[lttng-dev] [RELEASE] LTTng-tools 2.1.0-rc5

David Goulet dgoulet at efficios.com
Mon Oct 22 13:06:12 EDT 2012

Greetings everyone (including LTTng elves),

The lttng-tools project provides a session daemon (lttng-sessiond)
that acts as a tracing registry, the "lttng" command line for tracing
control, a lttng-ctl library for tracing control and a lttng-relayd
for network streaming.

This release candidate version contains a lot of fixes and especially
one that fix the lttng_stop_tracing() behavior by adding a new call to
the API (lttng.h).

Here goes. The lttng_stop_tracing() API call, once it returns, there was
suppose to be a guarantee that the tracing data is available for
processing i.e. that any viewer/reader could parse the trace files
without any problem or missing data. We've fixed that with a new API
call, lttng_data_available(). It returns 1 if the data is ready to be
read for a tracing session (for every domain) or else 0. We've added
this call to lttng_stop_tracing() in order for this call to return
*only* if the condition is true (1). It changes the old behavior since
now the stop tracing call can wait an arbitrary amount of time.

Note that, for now, lttng_data_available is called every 2usec on the
client side (liblttng-ctl). So, this call does NOT block nor makes the
session daemon wait for data availability.

We've also added the lttng_stop_tracing_no_wait() that behaves *exactly*
like lttng_stop_tracing() but will NOT wait for data availability.

This is of course integrated in lttng command line and works for both
local consumer (on the file system) or network streaming. For the lttng
UI to _not_ wait when stopping a session, the --no-wait option was added
to "lttng stop".

Here is an example of the expected output of the command line. Each dot
"." is a 2usec period of time.

$ lttng stop mysession
Waiting for data availability....
Tracing stopped for session mysession

We know that this is a big addition to the RC process of lttng-tools but
the data availability on stop tracing is a *very* important aspect of
the lttng tool chain hence fixing it before the stable version
especially with the network streaming support.

Apart from that, here is the ChangeLog for 2.1.0-rc5 which contains a
lot of fixes and tests.

2012-10-22 lttng-tools 2.1.0-rc5
        * Fix: Remove network stream ID ABI calls
        * Tests: Add filtering tests
        * Wait for data availability when stopping a session
        * Relayd data available command support
        * Lib lttng-ctl data available command support
        * Consumer daemon data available command support
        * Add data structure for the data available command
        * Change the metadata hash table node
        * Make stream hash tables global to the consumer
        * Move add data stream to the data thread
        * Rename consumer threads and spawn them in daemon
        * Fix: relayd close stream command was not working
        * Fix: Relayd and consumerd socket leaks
        * Fix: Missing -ENODATA handling in the consumer
        * Fix: Empty metadata buffer(s) on HUP|ERR
        * ABI with support for compat 32/64 bits
        * Fix: Stream allocation and insertion consistency
        * Fix: output number of bytes written by relayd
        * Add hash table argument to helper functions
        * Fix: Add missing call rcu and read side lock
        * Tests: Fix LD_PRELOAD library lookup path for health tests
        * Fix: Add arbitrary wait period for kernel streaming test
        * Fix coding style and add/change debug statements
        * Fix: Build out of src tree
        * Tests: Add health check tests to configure
        * Tests: Add health check thread stall test
        * Tests: Add health check thread exit test
        * Tests: Add a health check utility program
        * Add testpoints in lttng-sessiond for each threads
        * New testpoint mechanism to instrument binaries for testing
        * Fix: off-by-one in comm proto between lttng-ctl and sessiond
        * Fix: Metadata stream leak when received in consumer
        * Fix: consumer_allocate_stream error handling
        * Fix: consumer should await for initial streams
        * Fix: Missing rcu read side lock in consumer

Please feel free to email the list about any questions/comments
concerning this release.

Project website: http://lttng.org/lttng2.0
Download link:
http://lttng.org/files/lttng-tools/lttng-tools-2.1.0-rc5.tar.bz2 (for
the PGP signature, same file with .asc appended)


lttng-dev mailing list
lttng-dev at lists.lttng.org

More information about the lttng-dev mailing list