[lttng-dev] Trace synchronization

Geneviève Bastien gbastien+lttng at versatic.net
Tue Aug 6 09:46:46 EDT 2013


Hi Sebastiano,

I think the video you mention refers to lttng 0.x, where the tracepoints 
for the network subsystem were fully integrated in lttng-module and 
trace synchronization had been implemented in lttv.

For lttng 2.x, it is still work in progress.  The patch here 
https://git.eclipse.org/r/#/c/14056/ is fully functionnal, it has just 
not yet been merged in Eclipse, but you may use it.

As for lttng-module, the tracepoint exists in master and latest 
releases, but they do not contain enough information to perform 
synchronization.  There are two methods to have information to 
synchronize traces through network:

1-  Use the net_data_experimental branch here 
http://git.dorsal.polymtl.ca/~gbastien?p=lttng-modules.git;a=summary It 
adds data to the existing tracepoints netif_receive_skb and 
net_dev_queue.  Those patches have been submitted on the lttng-dev 
mailing list and are pending review.  In the meantime, I keep them on my 
personal repository and rebase them once in a while.

2-  Use Francis Giraldeau's addon module here 
https://github.com/giraldeau/lttng-modules/tree/addons  It puts a 
dynamic probe on tcp events so that synchronization uses 
inet_sock_local_in and inet_sock_local_out.  You have to manually 
modprobe lttng-addons and lttng-probe-addons to have those tracepoints 
available.

The trace synchronization patch of the Eclipse plugin includes 
synchronization using the two mentioned methods of lttng kernel traces, 
but it also allows to [easily] add about any other type of 
synchronization, like for ust traces, it just needs events with data 
that can be uniquely matches for both traces.

Here's an article about how it has been implemented in lttv and lttng 
0.x. http://www.dorsal.polymtl.ca/static/publications/poirier-aos.pdf 
The synchronization method is about the same now, it just uses other 
events.  Newer articles on the subject have been written, but they are 
not published yet, so unfortunately I cannot share them here.

Cheers,
Geneviève


On 08/05/2013 03:56 PM, Alexandre Montplaisir wrote:
> Hi,
>
> The trace synchronization feature hasn't been merged in the Eclipse
> plugin yet, although it's very close. You can look at the latest version
> of the patch by Geneviève Bastien here: https://git.eclipse.org/r/#/c/14056/
>
> However, we're currently considering doing a rework of how
> experiments/analyzes are defined in the viewer, so this is why some of
> those more advanced features are taking some time to land (we'd rather
> get the infrastructure right first, rather than having to update every
> single feature separately afterwards...)
> If you are interested, you can follow this discussion at:
> http://dev.eclipse.org/mhonarc/lists//linuxtools-dev/msg02758.html
>
> Some more comments below,
>
> On 13-08-03 05:44 AM, Sebastiano Spicuglia wrote:
>> Hello everyone,
>>
>> I am collecting traces using lttng from different machines.
>> I saw here http://www.youtube.com/watch?v=YzgRglpXdxQ
>> (around 24:06) that it is possible to trace with more details
>> the network subsystem and then synchronise different traces.
>>
>> Even the eclipse page says something about this
>> ("Integration of trace synchronization")
>> http://www.eclipse.org/linuxtools/projectPages/lttng/
>> I read the man of lttng and I look around in the eclipse
>> plugin but I didn't find anything about this two features
>> (extended network instrumentation and traces sychnronization).
>>
>> Is the synchronization somehow performed automatically
>> by the eclipse plugin
> This is still up in the air. It should be possible to take any two
> traces and synchronize them manually (which was the original idea).
> However, in the new "analysis" framework, an analysis could specify
> which types of traces it expects to have, and also specify if they have
> to be synchronized automatically or not.
>
>> and there is no need to enable the extended
>> instrumentation of the network subsystem?
> This I am not sure. I think the patch to lttng-modules was supposed to
> be merged upstream at some point, but I don't know if that was done yet.
> Can you enlighten us Geneviève?
>
>> I have the impression that in the eclipse plugin the term
>> "synchronization" is related to the the different sources of
>> events on the same machine, am I right?
> It could be both on the same machine, or from other hosts. You may
> obviously want to synchronize traces from other hosts, which will have
> different clocks. But you might also want to synchronize a trace from a
> host and from a VM running on the same machine.
>
>> Could you please me provide some resources where I can find
>> more information about the synhcronization of traces coming
>> from different machines?
> I think a couple of articles were written on the subject. Geneviève has
> them stashed somewhere ;)
>
>
> Cheers,
> Alexandre
>
>> Thank you in advance for your help
>> Regards
>> Sebastiano
>>




More information about the lttng-dev mailing list