CTF has proven to be a flexible, compact, and high-performance tracing format since 2010. The format is generated by the LTTng tracers as well as other tools such as barectf and the CTF writer library which perf uses. That said, as we continue the development of tracers and trace analyzers, and assess their needs in terms of trace representation, we begin to see the limitations of the current CTF specification and how a major revision could fix them and keep the format malleable enough to allow future, forward compatible addons.

This presentation introduces the main features of CTF 2 and the changes since CTF 1.


  1. What is CTF?
  2. Why a major version bump?
  3. Major design goals of CTF 2
  4. What’s new in CTF?
  5. Potential future extensions
  6. Planned adoption by existing tools


Tracer and trace analysis developers. Tracing users who use CTF-generating tracers (LTTng-UST, LTTng-modules, barectf, CTF writer library and Python bindings).


Philippe Proulx is a software developer at EfficiOS. He’s the author of barectf (a tracer generator), a major author of Babeltrace 2, and he leads the design of CTF 2.