Writing babeltrace 2 plugins



This is a write up of Simon Marchi's talk, "Writing babeltrace 2 plugins" that he gave at the Tracing Summit 2019. Links to the video are here, and the slides can be found here.

Babeltrace 2 is a framework for viewing, converting, and analyzing trace data. The original Babeltrace project was started in 2010, but over the years developers noticed a number of shortcomings. For one, the Intermediate Representation (IR) was tightly coupled to the Common Trace Format (CTF), and even though the CTF is an expressive trace format used by popular tracing tools such as LTTng and barectf, the goal of Babeltrace was always to support as many formats as possible. The second shortcoming was that the original Babeltrace project didn't have any support for plugins which, again, made it difficult to support new input and output formats.

Babeltrace 2 begins the project's new scope for tailor-made trace analyses


Building new features in Babeltrace

Babeltrace 2.0 was released on 22 January 2020 and it includes some major changes. We've realized that users need a simple way to work with traces, so we're expanding the project's scope to make that possible, and also to encourage sharing of tracing analysis tools. Starting with Babeltrace 2.0, the project has switched from a trace converter to a trace manipulation tool.

Announcing the release of LTTng 2.11



We're happy to announce the release of LTTng 2.11 "Lafontaine".

This is a combined release announcement for the 2.11.0 - "Lafontaine" release of the LTTng Tools, LTTng UST, and LTTng modules projects.

This release is named after a modern Saison beer from Montréal's Oshlag microbrewery. It is a refreshing, zesty, rice beer with hints of fruit and spices. Some even say it makes for a great Somaek when mixed with Chamisul Soju, not that we've tried!

Lafontaine is also a tongue-in-cheek reference to a water leak that affected EfficiOS's offices during the development of this release.

The most notable features of this new release are:

  • Session rotation,
  • Dynamic tracing of user-space (LTTng-modules),
  • Support for arrays and bitwise binary operators in filters,
  • User and kernel space call stack capture from the LTTng-modules kernel tracer (LTTng-modules),
  • Improved networking performance of the relay daemon,
  • Take NUMA configuration into account for UST buffer allocation (LTTng-UST),
  • Support unloading of probe providers (dlclose) (LTTng-UST).

The new dynamic user space tracing feature in LTTng



LTTng’s upcoming 2.11 release brings several exciting new features, including session rotation and user and kernel space call stack capture. This post takes a look at another new feature that's currently available in the 2.11 RC releases: dynamic user space tracing. This feature allows you to instrument functions in user space apps and shared libraries at run time by adding and removing user space probes.