Babeltrace

Babeltrace /ˈbæbəltreɪs/ is an open source trace format converter.

The Babeltrace project provides a library, Python bindings of this library, as well as a handy little command-line tool—aptly named babeltrace—which makes it very easy for mere mortals to view and convert traces.

Babeltrace is also the reference parser implementation of the Common Trace Format (CTF), a very versatile trace format. The Babeltrace library and its Python bindings can read and write CTF traces.


Getting Babeltrace

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

Distribution packages

Babeltrace is packaged for most major desktop and embedded Linux distributions:

Ubuntu

sudo apt-get install babeltrace

The LTTng Stable PPA always offers the latest stable version of Babeltrace. To get the PPA version of Babeltrace, follow these steps:

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

Debian

sudo apt-get install babeltrace

Fedora

sudo yum install babeltrace

openSUSE

First, add the appropriate repository, depending on your version of openSUSE.

openSUSE 13.1:

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

openSUSE 13.2:

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

openSUSE Factory:

sudo zypper addrepo http://download.opensuse.org/repositories/devel:/tools:/lttng/openSUSE_Factory/devel:tools:lttng.repo

Refresh the package database and install Babeltrace:

sudo zypper refresh
sudo zypper install babeltrace

Arch Linux

Babeltrace is available in the AUR.

If you have Yaourt:

yaourt -S babeltrace

Or, if you prefer the latest Git master version:

yaourt -S babeltrace-git

Buildroot

Enter the configuration menu:

make menuconfig

Then, 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.

Building from source

See the project's README file for dependencies and detailed build instructions.

Tarballs

Extract, then do:
./configure
make
sudo make install

Git

Clone, then do:
./bootstrap
./configure
make
sudo make install

Documentation

Documentation is available for the Babeltrace Python bindings.

You may also be interested in the babeltrace command-line tool's man page.

Babeltrace 2.0 is imminent!

The Babeltrace project is currently going through a major overhaul. New APIs in both the C and Python languages will come out of this work.

Upcoming features include:

Stay tuned!

Community

Babeltrace was born to parse CTF traces produced by LTTng 2.0 and display them as a human-readable text output. Even though Babeltrace is independant from the LTTng project, their communities remain very close, which is why they share some services.