A long time passed since my last update...

I have now started my Ph. D. I am still focusing on using the tracing as a useful and efficient problem-solving facility, but this time it will deal with the scalability. One of the early goal being to use the tracing in large data center as a highly granular monitoring interface. A lot remains to be defined, but that is the general idea.

In the past weeks/months I have been working on the release of LTTng 2.0, especially the babeltrace API part. Once that was done I have updated LTTngTop to use it (instead of having a copy of babeltrace tree), so it was a major cleanup of this code and the application is now public on http://git.lttng.org.

This new LTTng rearchitecture broke the live support (again) because the LTTng API was not ready to be public so most of the headers and libraries I was using for live tracing are now internal only, so currently I am working on a workaround to provide live support to LTTngTop.

Also last week, more related to my Ph.D subject, I started and published lttng-graph (on git.dorsal.polymtl.ca/~jdesfossez). In this git tree there is a script that uses babeltrace and a lot of cut/grep/sed and rrdtool to generate graphs from a LTTng 2.0 trace and a C version that does a lot more (I kept the bash version just as an example if anyone is interested). The C version uses the new babeltrace API and allows the user to generate the following graphs from a trace (or a set of traces) :

 

  • number of events per second
  • number of specific events per second
  • number of events for a specific list of processes
  • number of specific events for a specific list of processes

It generates a rrd database and exports it in a png graph.

I made this tool because I want to be able to quickly prototype and see what is in the trace, identify quickly the top consumers and represent it.

I think this tool is useful and I'd like to get some feedback about it.

My next phase on the developmnent side is to generate the index while tracing which will speedup a lot the trace parsing, and on the research side I'm starting to look into the datacenters and cluster environment communication with the message queuing daemons. I'm trying to integrate (as a prototype just to test) google Rocksteady with LTTng/Babeltrace, the results should be interesting.

More next week...