Thomas Applencourt
Thomas Applencourt is an Computational Scientist at Argonne National Laboratory interested in HPC. He is working now on Aurora. He is interested in various programming models (OpenMP, SYCL) and low-level programming.
Session
Generating and maintaining thousands of LTTng tracepoints for an existing C API—and then unpacking them with Babeltrace2—can quickly become tedious and error‑prone. In this talk, we’ll introduce two complementary open source tools that automate the end‑to‑end process:
h2yaml (https://github.com/TApplencourt/h2yaml)
A Clang‑based Python utility that parses your C header files and emits a human‑readable YAML description used to generate futures tracepoint (names, arguments, types, etc.). Under the hood, it use libclang’s python binding undocumented idiosyncrasies.
Metababel (https://github.com/TApplencourt/metababel)
A Babeltrace2 plugin generator that consumes the YAML manifest produced by h2yaml and generates the corresponding unpacking code. Making writing Babeltrace plugins a breeze
We’ll demonstrate both tools in action—using CUDA, MPI, and Intel Level Zero as concrete examples—and show how this workflow reduces development time, eliminates copy‑paste errors, and keeps your trace instrumentation, and bt2 sync in sync with API changes.