[lttng-dev] Babeltrace Patch

Jonathan Rajotte-Julien jonathan.rajotte-julien at efficios.com
Thu Apr 12 10:53:04 EDT 2018


Hi Nesrine,

> I have already tried Tracecompass and lttng-scope and they match exactly my
> project use case.
> 
> But as I said in the beginning, I am working on my *graduation project* and
> I have to develop *client/server applications communicating through TCP
> socket (in C language).*

Unless you expose an actual problem that is not taken care of by one
of the existing tools and that you are willing to actually work on solving it,
I do not think this mailing list is appropriate for what you are trying to achieve.

> 
> This is a short description of my project requirements:
> My project is divided into two parts:
> 
> *      1)* Collecting traces from Qemu (It is already an instrumented user
> space application).
> 
> *       2)* Sending the collected traces to a third-party tool for analysis.
> 
> * Qemu, LTTng demons and my server application are running on the same
> Linux machine.

I guess this take care of 1.

> 
> * The client application is running on a remote WINDOWS machine.

Sure why not, we do not have anything against Windows.

There is already efforts to port Babeltrace 1.5/2 to Windows using
Cygwin.[1] [2]

[1] https://ci.lttng.org/view/Babeltrace/job/babeltrace_stable-1.5_winbuild/
[2] https://ci.lttng.org/view/Babeltrace/job/babeltrace_stable-2.0_winbuild/

>    Client is able now to control the trace remotely (start and stop) and
> get the trace collected in a text file.
> 
> 
> *This is what I am trying to do right now:*
> 
> Instead of writing the traces to a text file, I would like to send those
> traces over TCP to my client application.
> So I think that the problem now is* how to make Babeltrace convert CTF
> traces and send them to my client application through TCP.*

If you absolutely do not want to use the available tools and do not want
to use ctf and/or live protocol as the intermediate format for transfer then you
could simply pipe the output from babeltrace to netcat (or your "application/server") and have a
process on the other side (Windows) listening on a port and do whatever you like. This will
come with all the pitfalls of piping text over the network.

I do think that the live protocol need some love and could profit from another
client implementation (apart from babeltrace). As for the actual ctf conversion
there is some java ctf reader [3] [4] that "should work out of the box" on
Windows. A java live ctf reader library/utility could be a nice project actually.

Based on the artifact found here [5], you can run babeltrace on Windows and pipe it
to your application directly.

Based on the artifact found here [6], lttng-relayd works on Windows.

So you got, lttng-relayd and babeltrace available on Windows giving you a lot of
possibilities on how to transfer your data to your analysis pipeline. But as you
said, this does not fit your "graduation project".

[3] https://github.com/efficios/ctf-java/tree/master/ctfreader
[4] http://git.eclipse.org/c/tracecompass/org.eclipse.tracecompass.git/tree/ctf
[5] https://ci.lttng.org/view/Babeltrace/job/babeltrace_stable-1.5_winbuild/19/arch=cygwin,build=std,conf=std/artifact/build/bin/
[6] https://ci.lttng.org/view/LTTng-tools/job/lttng-tools_stable-2.10_winbuild/arch=cygwin,babeltrace_version=stable-1.5,build=std,conf=relayd-only,liburcu_version=stable-0.9/50/artifact/build/bin/

> 
> I would be grateful if you will give me some hints or another idea to
> satisfy my project requirements.

Since that you are more interested in the limited scope of your project I doubt
that we have any incentive to provide you ideas. This is not the point of this
mailing list. This mailing list is about improving the LTTng ecosystem.

Cheers

-- 
Jonathan Rajotte-Julien


More information about the lttng-dev mailing list