Welcome! DiaMon Workgroup Linux Foundation

Babeltrace /ˈbæbəltreɪs/, an EfficiOS project, is an open-source trace manipulation toolkit.

The Babeltrace 2 project offers a library with a C API, Python 3 bindings, and a command-line tool which makes it very easy for mere mortals to view, convert, transform, and analyze traces.

Babeltrace 2 is also the reference parser implementation of the Common Trace Format (CTF), a very versatile trace format followed by various tracers and tools such as LTTng and barectf. The Babeltrace 2 library and its Python bindings can read and write CTF traces.

See babeltrace2-intro(7) to learn more about the project and its core concepts.

Babeltrace 1 vs. Babeltrace 2

The Babeltrace project exists since 2010. In 2020, Babeltrace 2 was released. Babeltrace 2 is a complete rewrite of the library, Python bindings, and CLI. It is plugin based and offers much more features and potential than Babeltrace 1.

Because Babeltrace 2 is still a young released project, some distributions still provide packages for the Babeltrace 1 project. Both projects can coexist on the same system as there are no common installed files.

This website documents the Babeltrace 2 project.

Get Babeltrace 2

Here are a few methods to obtain your own copy of Babeltrace 2.

Distribution packages

Ubuntu

The LTTng Latest Stable PPA always offers the latest stable version of Babeltrace 2. To get the PPA version of Babeltrace 2:

# apt-add-repository ppa:lttng/ppa
# apt-get update
# apt-get install babeltrace2
Arch Linux

Install Babeltrace 2:

# pacman -Sy babeltrace2
Fedora

Install Babeltrace 2:

# yum install babeltrace2

Build from source

See the project's README for build-time requirements and detailed build instructions.

The procedures below show how to build and install a default version of the project.

Tarballs

To build from source using a tarball:

  1. Get and extract the tarball:

  2. Configure, build and install Babeltrace 2:

    $ ./configure
    $ make
    # make install

Git repository

To build from source using the project's Git repository:

  1. Clone the repository:

    $ git clone https://git.efficios.com/babeltrace.git -b stable-2.0
  2. Configure, build and install Babeltrace 2:

    $ ./bootstrap
    $ ./configure
    $ make
    # make install

Get Babeltrace 1

Here are a few methods to obtain your own copy of Babeltrace 1.

Distribution packages

Ubuntu

Install Babeltrace 1:

# apt-get install babeltrace

The LTTng Latest Stable PPA always offers the latest stable version of Babeltrace 1. To get the PPA version of Babeltrace 1:

# apt-add-repository ppa:lttng/ppa
# apt-get update
# apt-get install babeltrace
Debian

Install Babeltrace 1:

# apt-get install babeltrace
Arch Linux

Install Babeltrace 1:

# pacman -Sy babeltrace
Fedora

Install Babeltrace 1:

# yum install babeltrace
openSUSE
  1. Add the appropriate repository, depending on your version of openSUSE:

    # zypper addrepo http://download.opensuse.org/repositories/devel:/tools:/lttng/openSUSE_13.1/devel:tools:lttng.repo

    or

    # zypper addrepo http://download.opensuse.org/repositories/devel:/tools:/lttng/openSUSE_13.2/devel:tools:lttng.repo

    or

    # zypper addrepo http://download.opensuse.org/repositories/devel:/tools:/lttng/openSUSE_Factory/devel:tools:lttng.repo
  2. Refresh the package database and install Babeltrace 1:

    # zypper refresh
    # zypper install babeltrace
Buildroot
  1. Enter the configuration menu:

    $ make menuconfig
  2. Under Debugging, profiling and benchmark, check the lttng-babeltrace package.

OpenEmbedded and Yocto

The babeltrace recipe is available in the openembedded-core layer of OpenEmbedded.

Build from source

See the project's README for build-time requirements and detailed build instructions.

The procedures below show how to build and install a default version of the project.

Tarballs

To build from source using a tarball:

  1. Get and extract the tarball:

  2. Configure, build and install Babeltrace 1:

    $ ./configure
    $ make
    # make install

Git repository

To build from source using the project's Git repository:

  1. Clone the repository:

    $ git clone https://git.efficios.com/babeltrace.git -b stable-1.5
  2. Configure, build and install Babeltrace 1:

    $ ./bootstrap
    $ ./configure
    $ make
    # make install

Community

NoteBabeltrace was born to parse CTF traces produced by LTTng 2.0 and pretty-print them.

Even though Babeltrace is independant from the LTTng project today, their communities remain very close, which is why they share some communication channels and services.

Mailing list

lttng-dev (lttng-dev@lists.lttng.org).

IRC channel
#lttng on the OFTC network
Bug tracker
Babeltrace bug tracker
GitHub project
efficios/babeltrace
Continuous integration
Babeltrace's master build on LTTng's CI
Code review
babeltrace project on LTTng Review