Weekly update and news of lttng-tools:
Multiple changes were made to the kernel consumer by Julien Desfossez including a mmap/unmap cleanup and context structure added to the lib kernel consumer. This lib was renamed to liblttngkconsumerd and exported by lttng-tools with the headers lttng-kconsumerd.h installed.
Three new API calls were introduced to the liblttngctl (lttng.h) being:
1) Register consumer to a tracing session, for the case when a custom consumer could be used.
2) The create/destroy handle.
The handle (lttng_handle) is basically context information for the library. Each call of the API must give an handle which for now contains the session name and the domain. This makes the library safer in a multithreaded environment.
Multiple fixes were also made to the liblttngctl to make it safer by checking each variables of each call and adding copy function for strings and lttng_domain.
Tests were added to the git tree. Those tests are aimed at testing the liblttngctl API and session daemon for the kernel tracer. Simply do "sudo make check" at the git tree root. Following this, I wrote a first draft to create a complete set of tests and performance measurements of each components. The goal is to find regressions/improvements and find performance bottlenecks.