[lttng-dev] BlkKin: A GSOC 2014 LTTng project
Marios-Evaggelos Kogias
marioskogias at gmail.com
Mon Nov 17 14:53:20 EST 2014
Hello everyone, my name is Marios Kogias and I was a Google Summer of
Code student working on LTTng this summer under the supervision of
Jeremie Galarneau. In my work I created a tracing infrastructure
backed
by LTTng that implements the Google's Dapper tracing semantics[1] and
is
specially designed for low-overhead applications. Its purpose is to
depict the causal relationships between the different software layers
that a distributed application may have.
To do that I had to implement an instrumentation library which which
wraps LTTng tracepoints and helps the user to instrument C/C++
applications. This information can be visualized using Twitter's
Zipkin[3]. So, I created a pair of Babeltrace plugins to send the
aggregated information to a Scribe server[2]. One of my babeltrace
plugins sends the tracing data created by applications instrumented
with
my library to a Zipkin instance.
A prototype of this work can be found here:
https://github.com/marioskogias/blkin
However, one major thing missing from the above repo is the live
tracing
support, which during the GSOC was implemented in a really hackish
way.
I plan to extend the project when the new plugins systems is
available.
Then, I intend to create probably a Python package for the plugins
which
will have live tracing support as well.
Finally, I need to add that I used this infrastructure to trace Ceph
RADOS. After this attempt I am in close contact with the Ceph
community
since they liked my approach and want to merge BlkKin into their
master
branch for their RADOS tracing support. So, they also expect the next
step in this project.
I am writing here to make my work public and state my intention to
continue working on that until it is something complete and stable.
[1] http://research.google.com/pubs/pub36356.html
[2]https://github.com/facebookarchive/scribe
[3]http://twitter.github.io/zipkin/
More information about the lttng-dev
mailing list