[lttng-dev] Human read-writeable format for CTF traces
Geneviève Bastien
gbastien+lttng at versatic.net
Mon Feb 3 09:59:34 EST 2014
Hello all,
Short question:
As we develop analyses in TMF for LTTng traces, we'd like to unit test
them with very specific sequences of events, something no real-life
trace can provide. We'd like to build our own traces manually.
Does a human read-writeable format already exist to work with CTF traces
or convert from/to CTF traces? I heard of a few CTF trace generators,
some which haven't been rebased in a while. What's their status?
Anything that answers our need there?
Thanks,
==================
Detailed specification of what I'm looking for and why:
* In TMF, analyses use event requests and they handle events. It does
not matter at all whether the event came from a CTF binary stream or
from a text file, as long as they have the same name and fields, it will
be handled the same.
* Also, while we may want to hand make a full test trace, we may also
wish to take (part of) a real life CTF trace, convert it to a human
read-writeable format, tweak it to our needs and... as far as TMF is
concerned, we'll be perfectly happy with this format, but it may
eventually be desirable to convert it back to a CTF trace.
* XML-defined analyses are about to make it into TMF master. That means
users will be able to develop in XML their own state providers, but
eventually also their own views, filters, analyses, etc. Before trying
them on real traces, it must be possible to test them on controlled
hand-made traces. So that trace format is not just a feature for unit
tests, it should be made available in the main TMF for users to use.
* We must keep in mind that users of this format may not have access to
the complete LTTng toolchain, or even to a linux command line as they
may be working... on Windows! That's even more true now that work is
being done to convert Windows traces to CTF format. So the solution must
be completely standalone in TMF.
* In a quick prototype last week, I came up with this format for the
human read-writeable test traces:
<trace>
<event>
<timestamp value="1" />
<eventName value="A" />
<source value="0" /> /** the cpu */
<field name="b" value="1" type="int" />
<field name="c" value="abcdef" type="string" />
</event>
</trace>
Why XML? Because it's easy to validate with a XSD and we can use
existing tool to automatically generate from this XSD a user interface
to edit the events. But that's just a suggestion.
* Lastly and not least, whatever we end up implementing in TMF must use
or at least play nice with other tools around CTF that do more or less
the same thing. I wouldn't want to reinvent the wheel here.
Any thoughts? Any thing I should look at?
Thanks,
Geneviève
More information about the lttng-dev
mailing list