[lttng-dev] [RELEASE] Babeltrace 2.0.0-pre1

Jérémie Galarneau jeremie.galarneau at efficios.com
Fri Jun 9 23:36:16 UTC 2017


Hi everyone!

After a long time in the making, we are proud to release Babeltrace 2.0.0-pre1.

Babeltrace 2 is a rewrite of the original Babeltrace which expands the scope of
the project from a reference implementation of a CTF reader and writer to
a complete trace processing framework.

We want to make it easy to consume, produce, trim, add, and remove information
from traces in any format both from the command line, the Python interface, or
using the C/C++ API. See the examples below!

While the C/C++ API was completely overhauled, Babeltrace 2.0 maintains a
backward compatible Python API which should work as a drop-in replacement. A
new, Python package exposing the new features is also provided.

This first "pre" release marks a big milestone on the road to Babeltrace 2.0:
the development branch has now been merged in the official master branch.

Our objective, with this first release, is to gather some early feedback as we
make our way to the official Babeltrace 2.0 release. Interfaces are not frozen
yet, so now is your chance to propose some big changes.


What's new?
-----------

* Stable plugin interface
* Trace processing graphs: Babeltrace now allows you to create trace processing
  graphs that connect user-provided source, filter, and sink components

  Babeltrace 2.0 provides the following components out of the box:
    - CTF filesystem source (source.ctf.fs)
    - LTTng live source (source.ctf.lttng-live)
    - Trace trimmer (filter.utils.trimmer)
    - Trace muxer (filter.utils.muxer)
    - Debug information filter (filter.lttng-utils.debug-info)
    - CTF filesystem sink (sink.ctf.fs)
    - Text pretty-printer (now with colors!) (sink.text.pretty)
    - Dummy sink (sink.utils.dummy)
* Overhauled documentation
* LTTng live source usable from the CLI, C/C++, and Python interfaces
* Removed a lot of limitations from the original API
* Windows support (MinGW-based build)


Trying out the new features
---------------------------

Here are a couple of short examples demonstrating the use of some of the new
Babeltrace 2.0 features.

* Trim trace, pretty-print events:

      babeltrace my-trace --begin=22:55:43.658582931 --end=22:55:46.967687564
      babeltrace my-trace --begin=22:55:43.658582931
      babeltrace my-trace --end=22:55:46.967687564
      babeltrace my-trace --timerange=22:55:43.658582931,22:55:46.967687564

* Trim trace, generate a CTF trace:

      babeltrace my-trace --begin=22:55:43.658582931 --end=22:55:46.967687564 \
                 -o ctf --output /path/to/generated/trace

* Record LTTng live traces to the file system:

      babeltrace -i lttng-live \
                 net://localhost/host/myhostname/auto-20170411-134512 \
                 -o ctf --output /path/to/generated/traces


Known limitations
-----------------

Being a "pre" release, a number of features are still in active development and
bugs are being worked on.

This first release does not expose the Python packages (present in the Git tree)
as we are reworking them to accomodate the latest round of API changes.

* The "--stream-intersection" mode is not available.
* Traces without their packet context field type's `timestamp_begin` and
  `timestamp_end` fields mapped to a clock class fail to be read
  (traces produced by old versions of LTTng and CTF Writer).
* The man page has not been updated to match the new CLI.
* Performance has not been a focus yet and "verbose" logging is built-in by
  default to facilitate bug reporting. We expect this to slow down Babeltrace
  significantly.
* API documentation is incomplete.
* Plugin man pages are not available.
* Discarded events and dropped packets notifications are not emitted.
* A number of tests are failing.
* Built-in plugins are not re-linked into the application if they are modified.
* The babeltrace-log utility is not present.
* This version does not build on Windows (patches pending).
* API cleanups are planned (mostly namespacing changes).

Let us know of all problems/bugs you encounter with this release!
Jérémie

Project website: http://diamon.org/babeltrace/
Download link: http://www.efficios.com/files/babeltrace/babeltrace-2.0.0-pre1.tar.bz2
CTF specification: http://diamon.org/ctf/


-- 
Jérémie Galarneau
EfficiOS Inc.
http://www.efficios.com


More information about the lttng-dev mailing list