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

Jérémie Galarneau jeremie.galarneau at efficios.com
Fri Jul 7 23:25:02 UTC 2017

Hi everyone!

We are happy to announce the release of Babeltrace 2.0.0-pre3. The "pre2"
release was skipped since it erroneously reported itself as pre1.

What's new since pre1?

* Project-wide:
  * Many fixes in all the project's modules (library, CLI, plugins).

  * Add logging to many modules. Improve logging in already instrumented

  * Colorize log messages: INFO messages are printed in blue, WARN
    messages in yellow, and ERROR/FATAL messages in red.

  * Add `BABELTRACE_FORCE_COLORS` environment variable to force color
    support for all modules which can benefit from it. This can be
    useful to pipe babeltrace(1) to less(1) without losing logging

        BABELTRACE_FORCE_COLORS=1 babeltrace ... |& less -R

* Library:
  * Some changes in the library's public API. The API's documentation
    will be available from 2.0.0-rc1.

  * Add "discarded events" and "discarded packets" notifications,
    automatically generated by notification iterators.

* Plugins:
  * source.ctf.fs:
    * Act like Babeltrace 1 regarding implicit metadata parsing rules.
      This fixes issues related to some specific timestamp fields not
      mapped to a clock class and a missing clock class when those
      fields exist.

    * Fix issues related to indexing.

    * Add the `trace-info` query object to support the CLI's stream
      intersection mode (more about this below).

  * source.ctf.lttng-live:
    * Act like Babeltrace 1 regarding implicit metadata parsing rules.
      This fixes issues related to some specific timestamp fields not
      mapped to a clock class and a missing clock class when those
      fields exist.

    * Create stream objects with their stream instance ID, if any, so
      that discarded events/packets messages can show it later.

  * sink.ctf.fs:
    * Add the `single-trace` boolean parameter. When this parameter is
      true (false by default), the component writes the trace directly
      into the directory specified by the `path` parameter. The
      component creates the directory if it does not exist, and refuses
      to create files in it if they already exist. Usage example:

          babeltrace /path/to/trace --component=sink.ctf.fs
                     --path=/output/path --params=single-trace=yes

      NOTE: There is no dedicated --single-trace option for the moment
      as we don't believe this parameter will be popular enough. The new
      parameter exists mostly for other tools which run babeltrace(1) to
      produce CTF traces in specific directories.

    * Use the original stream's name (path to stream file in the case of
      source.ctf.fs) as the prefix of the generated stream file's name.
      The stream class ID and stream instance ID are always appended to
      this prefix. For example, if the original stream is named
      `my-stream`, then the generated stream file could be named

  * source.text.dmesg: new source component class which parses the lines
    printed by dmesg(1), or any tool which outputs the same format, and
    creates one event notification per line. The purpose of this
    component class is to be used by the babeltrace-log(1) tool.

  * sink.text.pretty:
    * Print discarded events and packets warning messages to the
      standard error when consuming the equivalent notifications, much
      like the `text` output format of Babeltrace 1 did.

  * sink.utils.counter: new sink component class which counts the
    consumed notifications and prints the counts and total every N
    notifications, or when its upstream notification iterator ends. This
    is mostly useful for debugging. Usage example:

        babeltrace /path/to/trace --component=sink.utils.counter

* CLI:
  * New --log-level option to specify the default log levels of all the
    project's modules when you don't specify them individually using the
    dedicated environment variables. The available values are `VERBOSE`,
    `DEBUG`, `INFO`, `WARN`, `ERROR`, `FATAL`, and `NONE`. The
    equivalent of not specifying this option is --log-level=WARN.

  * Support stream intersection mode with the --stream-intersection
    option of the `convert` command (default command). We still need to
    document how a given source component class can be made compatible
    with this option. It is currently supported by source.ctf.fs, which
    was also the case of Babeltrace 1's CLI.

  * Fix the babeltrace-log(1) tool so that it works again within the
    Babeltrace 2 project. The tool now executes the babeltrace(1) tool
    with the appropriate arguments to replicate what was done in
    Babeltrace 1.

Let us know of all problems/bugs you encounter with this release!

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

Jérémie Galarneau
EfficiOS Inc.

More information about the lttng-dev mailing list