Welcome!
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:
-
Get and extract the tarball:
Babeltrace 2.0.6 (latest stable release)
-
Configure, build and install Babeltrace 2:
$ ./configure $ make # make install
Git repository
To build from source using the project's Git repository:
-
Clone the repository:
$ git clone https://git.efficios.com/babeltrace.git -b stable-2.0
-
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
-
-
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
-
Refresh the package database and install Babeltrace 1:
# zypper refresh # zypper install babeltrace
-
- Buildroot
-
-
Enter the configuration menu:
$ make menuconfig
-
Under Debugging, profiling and benchmark, check the lttng-babeltrace package.
-
- OpenEmbedded and Yocto
-
The
babeltrace
recipe is available in theopenembedded-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:
-
Get and extract the tarball:
Babeltrace 1.5.11 (latest stable release)
-
Configure, build and install Babeltrace 1:
$ ./configure $ make # make install
Git repository
To build from source using the project's Git repository:
-
Clone the repository:
$ git clone https://git.efficios.com/babeltrace.git -b stable-1.5
-
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
- 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