lttng-dev.lists.lttng.org archive mirror
 help / color / mirror / Atom feed
* Re: Java code for CTF trace writing?
@ 2013-04-15 22:01 Philippe Proulx
  0 siblings, 0 replies; 12+ messages in thread
From: Philippe Proulx @ 2013-04-15 22:01 UTC (permalink / raw)
  To: Aaron Spear; +Cc: lttng-dev@lists.lttng.org, Linux Tools developer discussions

Actually, that was the exact purpose of my internship at Ericsson last summer.

I designed a new architecture for the CTF part of TMF, but it is still
not merged/integrated with mainline TMF (I don't even know if it's
still planned). See
<http://git.dorsal.polymtl.ca/~pproulx?p=javeltrace.git;a=summary>.

This new architecture is able to read _and write_ CTF packets in a
generic way. The "Javeltrace" name is just a portmanteau of Java and
Babeltrace, although should this refined library be integrated into
TMF, it's not planned to be named like this. However, there exist a
command-line tool that I made which is officially named Javeltrace and
uses the aforementioned library. It is described here:
<http://www.dorsal.polymtl.ca/~pproulx/javeltrace/>. As explained on
the webpage, the main goal of this utility is to test my work
interactively.

Keep in mind that everything mentioned here is not thoroughly tested
and for sure there are a few bugs remaining. Also, the code didn't
evolve with the latest CTF versions, so there must be incompatibility
at some level.

The main use case at Ericsson was to synthesize a precise fake trace
from scratch using a human readable input format that could be
versioned. The generated CTF traces would then be used to exercise
parts of TMF to test specific behaviours without having to produce an
actual real trace. After a few discussions, we chose JSON as an
interchange format. So you will see lots of JSON related code out
there. The command-line Javeltrace utility is able to translate
from/to binary CTF.

At the end of my internship, I started writing docs for what I did.
It's here: <http://wiki.eclipse.org/Linux_Tools_Project/TMF/CTF_guide>.
It's not finished, but almost, so it should be up-to-date with my Git
codebase.

I also made this as a proof of concept:
<http://git.dorsal.polymtl.ca/~pproulx?p=javeltrace.git;a=tree;f=lttng/org.eclipse.linuxtools.ctf.core/src/org/eclipse/linuxtools/ctf/core/trace/out;h=67ab3097e9f3fc52a685d29620e4c40ee26ee896;hb=47b4cef68eb4524fc9e1865f58474e0bc81eba77>
(see all Mug*.java files). MugTracer is a simple Java tracer that
produces native CTF without even using the rest of my library since
CTF is so easy to *write*. It has a consumer thread and worked well,
although I didn't run any benchmark and I believe it's really slow
compared to UST.

Feel free to contact me, should you have any question about this.

On 15 April 2013 17:14, Aaron Spear <aspear@vmware.com> wrote:
> Hi all,
>
> I was wondering if anyone knew of some open source Java library that could WRITE CTF traces? I am using the linuxtools/TMF plugins to read CTF traces, but now need to write them from Java as well.
>
> I have a use case where I have an "event bus" in the Java app world and I would like to persist this event stream as a CTF trace. In this particular use case, the speed/low intrusiveness of LTTng UST is not as important as the portability, so a pure Java solution is ideal, though not strictly required.
>
> Also, please let me know if there are others out there who are interested in collaborating in writing such a library.
>
> regards,
> Aaron Spear
>
> _______________________________________________
> lttng-dev mailing list
> lttng-dev@lists.lttng.org
> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

^ permalink raw reply	[flat|nested] 12+ messages in thread
[parent not found: <1979434593.1654651.1366060059638.JavaMail.root@vmware.com>]

end of thread, other threads:[~2013-05-09 11:05 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <CAB4xu_1zOHUD03dQ57DxKpQ1RWorocGK_0URCaxnohHB1FLEDw@mail.gmail.com>
     [not found] ` <CAB4xu_1zOHUD03dQ57DxKpQ1RWorocGK_0URCaxnohHB1FLEDw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-23 15:38   ` [lttng-dev] Java code for CTF trace writing? Matthew Khouzam
     [not found]     ` <5176AAFA.8060905-IzeFyvvaP7pWk0Htik3J/w@public.gmane.org>
2013-04-23 18:21       ` Aaron Spear
     [not found]         ` <1962635283.7490228.1366741297558.JavaMail.root-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2013-04-23 18:39           ` Matthew Khouzam
     [not found]             ` <5176D556.8040801-IzeFyvvaP7pWk0Htik3J/w@public.gmane.org>
2013-04-23 20:50               ` Aaron Spear
2013-05-06 14:33                 ` Ostermueller, Erik
     [not found]                 ` <A94B468263DDE2448A14367F590EB97301D4DA41@ltcfiswmsgmb15>
2013-05-06 15:26                   ` Philippe Proulx
2013-05-06 17:53                   ` Aaron Spear
     [not found]                     ` <1670315418.908522.1367862807840.JavaMail.root-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2013-05-08 11:38                       ` Bernd Hufmann
     [not found]                         ` <1EE6FD30D622B345AF385887190055E3085C45-37wnTBQGOYLKJFWPz4pdheaU1rCVNFv4@public.gmane.org>
2013-05-08 14:53                           ` Aaron Spear
     [not found]                             ` <1100886.2797960.1368024815323.JavaMail.root-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2013-05-09 11:05                               ` Bernd Hufmann
2013-04-15 22:01 Philippe Proulx
     [not found] <1979434593.1654651.1366060059638.JavaMail.root@vmware.com>
     [not found] ` <1979434593.1654651.1366060059638.JavaMail.root-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2013-04-15 21:14   ` Aaron Spear

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).