[lttng-dev] Merge two LTTng CTF traces into one

Geneviève Bastien gbastien at versatic.net
Wed Jan 7 09:25:44 EST 2015


Hi Divya,

On 15-01-07 01:24 AM, Divya Vyas wrote:
>
> Hi Genevieve,
>
> My target to is merge the traces of two different machines taken on
> different time or same time .
Trace synchronization works by first matching events corresponding to
the sending and the reception of a TCP packet from both traces, and then
taking those matched events and computing a formula that will transform
timestamps from one trace to the same clock as another trace. So only
traces taken at the same time (meaning together, not the same clock time
of course) will work.

>
> Actually synchronization was not working on different machine so I
> tried on same machine.  But now I got it correctly I think so :)
Indeed, you have the right events now, with the net_dev_queue and
netif_receive_skb. So you should be OK. But I *think* this method works
only when on a LAN. If your computers communicate through internet,
you're better off with the inet_sock_local_[in|out] method
>
> For different time we need to apply offset so that their beginning
> matches. I think I need to do this .
>
> I tried applying offset on eclipse luna ( I added linux tools in
> install new software)   but I am not getting this option " Apply time
> offset ".
It is in master only so far, so you should use tracecompass to have this
option.
>
> I tried on tracecompass also, where I am getting time offset option
> but the synchronization view is empty . The window is not showing
> anything. The tracecompass version is 0.1.0
The time offset does not involve synchronization at all, it is just an
offset, so you would not see anything in the synchronization view. But
in the "Properties" view, when you select the trace, the time offset is
displayed.


Geneviève

>
> Is there any other plugin for  synchronization ?
>
> On Tue, Jan 6, 2015 at 9:58 PM, Geneviève Bastien
> <gbastien at versatic.net <mailto:gbastien at versatic.net>> wrote:
>
>     Hi Divya,
>
>     I'm bringing this discussion back to lttng-dev, as it may benefit
>     others in the future.
>
>     You now have the right fields to synchronize traces. It uses
>     packets of type TCP and fields seq, ack_seq and flags to match
>     packets.
>
>     But what are you trying to achieve exactly? The traces you sent me
>     are taken on the same machine at different times. They can never
>     be synchronized. Trace synchronization allows you to synchronize
>     traces taken at the same time on different machines (clocks) so
>     that their events can have the same reference clock.
>
>     You can apply a time offset to one of the traces so that their
>     beginning matches (Right-click on the experiment -> Apply time
>     offset... More documentation on this feature is available in the
>     master code). If that's what you want. Otherwise, please explain
>     your specific need.
>
>     Geneviève
>
>
>
>     On 01/06/2015 01:33 AM, Divya Vyas wrote:
>>     Hi,
>>
>>     I am attaching the traces . I tried to synchronize the traces of
>>     same machine  but still quality is absent .
>>
>>     I am in urgent need to get these traces synchronized .
>>
>>     On Tue, Jan 6, 2015 at 11:00 AM, Divya Vyas <dvyas at mvista.com
>>     <mailto:dvyas at mvista.com>> wrote:
>>
>>         Hi ,
>>
>>         I tried again the steps.
>>
>>         net_dev_queue: { cpu_id = 0 }, { skbaddr =
>>         18446612135892807424, len = 98, name = "eth0", network_header
>>         = ( _nhtype_ip : container = 1 ), network_fields = {
>>         nhtype_ip = { ihl_version = 0x45, tos = 0, tot_len = 84, id =
>>         0x560A, frag_off = 16384, ttl = 64, protocol = 0x1, checksum
>>         = 0xFFF4, saddr = 0xAA267D8, daddr = 0xAA2678E } },
>>         transport_header = ( _thtype_none : container = 0 ),
>>         transport_fields = { thtype_none = { } } }
>>
>>         net_dev_queue: { cpu_id = 0 }, { skbaddr =
>>         18446612135892807424, len = 98, name = "eth0", network_header
>>         = ( _nhtype_ip : container = 1 ), network_fields = {
>>         nhtype_ip = { ihl_version = 0x45, tos = 0, tot_len = 84, id =
>>         0x560A, frag_off = 16384, ttl = 64, protocol = 0x1, checksum
>>         = 0xFFF4, saddr = 0xAA267D8, daddr = 0xAA2678E } },
>>         transport_header = ( _thtype_none : container = 0 ),
>>         transport_fields = { thtype_none = { } } }
>>
>>
>>         Is this kind of data should be added in the trace log ?
>>
>>
>>
>>         On Tue, Jan 6, 2015 at 3:21 AM, Divya Vyas <dvyas at mvista.com
>>         <mailto:dvyas at mvista.com>> wrote:
>>
>>             Hi,
>>
>>             Can you please help me what kind of extra fields will be
>>             added in trace data. Because I think I followed all the
>>             steps.
>>
>>             The branch I was not able to got ,getting some git error.
>>             So I downloaded snapshot from website.
>>
>>             On Jan 5, 2015 9:14 PM, "Geneviève Bastien"
>>             <gbastien at versatic.net <mailto:gbastien at versatic.net>> wrote:
>>
>>                 Hi Divya,
>>
>>                 I looked at your traces and you do not seem to be
>>                 using the 'net_data_experimental' special branch to
>>                 get the extra fields for synchronization. You have
>>                 the net_dev_queue and netif_receive_skb events, but
>>                 they do not have the required fields to be able to
>>                 synchronize. See the section "Obtain synchronizable
>>                 traces" in
>>                 http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.linuxtools.lttng.help%2Fdoc%2FTrace-synchronization.html
>>                 for how to compile with that branch.
>>
>>                 Geneviève
>>
>>
>>                 On 12/28/2014 12:44 AM, Divya Vyas wrote:
>>>                 Hi,
>>>
>>>                 I am getting Synchronization quality is absent. The
>>>                 workload I am using is ssh and scp .
>>>
>>>                 I have attached the traces . Can you please look at
>>>                 it and give em some advise where I am going wrong?
>>>
>>>                 Thanks,
>>>                 Divya
>>>
>>>                 On Wed, Dec 24, 2014 at 1:54 AM, Geneviève Bastien
>>>                 <gbastien at versatic.net
>>>                 <mailto:gbastien at versatic.net>> wrote:
>>>
>>>                     Hi Divya,
>>>
>>>                     If you followed the instructions in the help,
>>>                     then you have compiled
>>>                     LTTng-modules with the right tracepoints enabled
>>>                     on all the machines you
>>>                     want to synchronize. Which method did you choose?
>>>
>>>                     Make sure you enabled either
>>>                     net_dev_queue/netif_receive_skb or
>>>                     inet_sock_local_in/inet_sock_local_out on all
>>>                     machines. Also make sure
>>>                     all machines exchange TCP packets during the
>>>                     trace, otherwise there will
>>>                     be nothing to synchronize them on.
>>>
>>>                     When you say you are not getting anything, what
>>>                     do you mean? Do you have
>>>                     output in the Synchronization view? If the
>>>                     synchronization was OK, but
>>>                     nothing was found, you should get a
>>>                     Synchronization Quality of "Absent".
>>>                     If the output is empty, either you have long
>>>                     traces and you didn't get
>>>                     anything yet (there is no progress bar for the
>>>                     synchronization yet). Or
>>>                     you may have gotten an exception.
>>>
>>>                     Can you provide us with your traces so we can
>>>                     take a closer look?
>>>
>>>                     Geneviève
>>>
>>>
>>>                     On 14-12-23 02:40 PM, Matthew Khouzam wrote:
>>>                     > So you have traces with network stuff, I would
>>>                     suggest seeing what
>>>                     > events are enabled in your trace. Maybe you
>>>                     are missing some key events,
>>>                     > maybe the synchronization worked and we're
>>>                     chasing a ghost...
>>>                     >
>>>                     > I am ccing Genevieve Bastien, and Masoume
>>>                     Jabbarifar, the two people who
>>>                     > designed and implemented synchronisation.
>>>                     >
>>>                     > I am not as much an expert as I would like to
>>>                     be in that field.
>>>                     >
>>>                     > For offsetting though, it's in tracecompass,
>>>                     the next version of the
>>>                     > Eclipse LTTng viewer
>>>                     >
>>>                     > Here is a link to the page.
>>>                     >
>>>                     http://projects.eclipse.org/projects/tools.tracecompass
>>>                     >
>>>                     > On 14-12-23 12:19 AM, Divya Vyas wrote:
>>>                     >> Hi,
>>>                     >>
>>>                     >> Is there any document which describes how to
>>>                     synchronize the traces on
>>>                     >> same machine as well as different machine (
>>>                     setting offset also ) .
>>>                     >>
>>>                     >> I exported the two trace in experiment and
>>>                     clicked on synchronize
>>>                     >> traces . But not getting anything.
>>>                     >>
>>>                     >> I followed this page
>>>                     >>
>>>                     >>
>>>                     http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.linuxtools.lttng.help%2Fdoc%2FTrace-synchronization.html
>>>                     >>
>>>                     >> Thanks,
>>>                     >> Divya
>>>                     >>
>>>                     >>
>>>                     >>
>>>                     >> On Mon, Dec 22, 2014 at 11:24 PM, Matthew Khouzam
>>>                     >> <matthew.khouzam at ericsson.com
>>>                     <mailto:matthew.khouzam at ericsson.com>
>>>                     <mailto:matthew.khouzam at ericsson.com
>>>                     <mailto:matthew.khouzam at ericsson.com>>>
>>>                     >> wrote:
>>>                     >>
>>>                     >>     Sorry, I was a little hasty in my reply.
>>>                     You can export traces,
>>>                     >>     but not
>>>                     >>     experiments yet, this is a feature to
>>>                     expect soon if people want it.
>>>                     >>
>>>                     >>
>>>                     >>     On 14-12-22 10:17 AM, Matthew Khouzam wrote:
>>>                     >>     > Michel has hit the nail on the head there.
>>>                     >>     >
>>>                     >>     > I would just like to add that one can
>>>                     export an experiment in trace
>>>                     >>     > compass. This means that the two traces
>>>                     are shipped in a zip
>>>                     >>     with the
>>>                     >>     > synchronization. You can also apply a
>>>                     constant clock offset if
>>>                     >>     network
>>>                     >>     > events are unavailable. If you really
>>>                     really want to make a CTF
>>>                     >>     trace as
>>>                     >>     > an output, perhaps look at the python
>>>                     bound babeltrace?
>>>                     >>     >
>>>                     >>     > BR
>>>                     >>     >
>>>                     >>     > Matthew
>>>                     >>     >
>>>                     >>     >
>>>                     >>     > On 14-12-22 08:07 AM, Michel Dagenais
>>>                     wrote:
>>>                     >>     >> Normally, the two traces are stored
>>>                     separately and they are
>>>                     >>     "merged"
>>>                     >>     >> at display time in TraceCompass. If
>>>                     they were taken on the same
>>>                     >>     host,
>>>                     >>     >> they use the same clock and should be
>>>                     naturally aligned. If
>>>                     >>     they come
>>>                     >>     >> from different hosts and you want very
>>>                     fine symchronization,
>>>                     >>     you need
>>>                     >>     >> some communication events from which
>>>                     to synchronize the traces. TCP
>>>                     >>     >> packet send and receive events are
>>>                     typically used. If you want
>>>                     >>     to look
>>>                     >>     >> at two traces simultaneously, it
>>>                     normally implies that the two are
>>>                     >>     >> related, the two nodes communicating
>>>                     through the network.
>>>                     >>     >>
>>>                     >>     >>
>>>                     >>   
>>>                      ------------------------------------------------------------------------
>>>                     >>     >>
>>>                     >>     >>     Hi,
>>>                     >>     >>
>>>                     >>     >>     Is there any way to merge the two
>>>                     CTF traces and see them
>>>                     >>     in one
>>>                     >>     >>     with trace synchronization ?
>>>                     >>     >>
>>>                     >>     >>     How it is related to trace
>>>                     synchronization using network
>>>                     >>     events ?
>>>                     >>     >>
>>>                     >>     >>
>>>                     >>     >>     Thanks,
>>>                     >>     >>     Divya
>>>                     >>     >>
>>>                     >>     >>   
>>>                      _______________________________________________
>>>                     >>     >>     lttng-dev mailing list
>>>                     >>     >>     lttng-dev at lists.lttng.org
>>>                     <mailto:lttng-dev at lists.lttng.org>
>>>                     <mailto:lttng-dev at lists.lttng.org
>>>                     <mailto:lttng-dev at lists.lttng.org>>
>>>                     >>     >>   
>>>                      http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
>>>                     >>     >>
>>>                     >>     >>
>>>                     >>     >>
>>>                     >>     >>
>>>                     >>     >>
>>>                     _______________________________________________
>>>                     >>     >> lttng-dev mailing list
>>>                     >>     >> lttng-dev at lists.lttng.org
>>>                     <mailto:lttng-dev at lists.lttng.org>
>>>                     <mailto:lttng-dev at lists.lttng.org
>>>                     <mailto:lttng-dev at lists.lttng.org>>
>>>                     >>     >>
>>>                     http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
>>>                     >>     >
>>>                     >>     >
>>>                     _______________________________________________
>>>                     >>     > lttng-dev mailing list
>>>                     >>     > lttng-dev at lists.lttng.org
>>>                     <mailto:lttng-dev at lists.lttng.org>
>>>                     <mailto:lttng-dev at lists.lttng.org
>>>                     <mailto:lttng-dev at lists.lttng.org>>
>>>                     >>     >
>>>                     http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
>>>                     >>
>>>                     >>
>>>                     >>   
>>>                      _______________________________________________
>>>                     >>     lttng-dev mailing list
>>>                     >>     lttng-dev at lists.lttng.org
>>>                     <mailto:lttng-dev at lists.lttng.org>
>>>                     <mailto:lttng-dev at lists.lttng.org
>>>                     <mailto:lttng-dev at lists.lttng.org>>
>>>                     >>   
>>>                      http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
>>>                     >>
>>>                     >>
>>>
>>>
>>>
>>
>>
>>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lttng.org/pipermail/lttng-dev/attachments/20150107/c526e43b/attachment-0001.html>


More information about the lttng-dev mailing list