[lttng-dev] Viewing userspace apps traces

Alexandre Montplaisir alexandre.montplaisir at polymtl.ca
Wed Oct 3 23:41:53 EDT 2012

Sorry for the late reply, I had to update/rebase some of the stuff first...

(Cross-posting linuxtools-dev, as it might interest some people who
follow that list too. This is about extending TMF to implement a
graphical view for a specific UST trace type.)

On 12-10-03 01:50 AM, Paul Chavent wrote:
> [...]
> On 10/02/2012 10:29 PM, Alexandre Montplaisir wrote:
>> [...]
>> What would you like see in your "timeline representation" exactly? Maybe
>> we could give you some pointers as to how to implement such a view.
>> (We're currently working on making it easy to extend the framework to
>> implement new views, so this could be a good exercise!)
> I would like to see, eg, one line per tid, and on each line, the value
> of one context or argument value.
> I'm ready to follow an exercise for extending the framework !

Ok good! We don't have a nice tutorial ready yet, as most parts are
still working their way upstream. But if you want to dig into it and try
it out now, you can:

1 - Set up the development environment for TMF:

2 - Checkout the "lttng-kepler" branch in the git. This is where the
latest development happens.

3 - Apply those two patches, in that order:
(you can copy-paste the "cherry-pick" command shown on the page)

4 - Download the example program and view from:

Now at this point you should be able to import and build the example
plugins (ust.example.core and ust.example.ui) and the TMF/LTTng ones in
the same workspace.

You can try it to make sure it works correctly : take a UST trace of the
"myprog" program, and then load it into TMF, and show the "Example ->
Connections" view. It should display the yellow and green rectangles
corresponding to the states that were defined.

After that, it shouldn't be too hard (famous last words...) to rework
the ust.example.* code to fit your application. The points of interest
will be (before renames):

MyUstTraceInput, line 85+: This is where you assign your trace events to
ConnectionsPresentationProvider, line 31-34: This is where you assign
the colors to each state in the view
and same file, lines 64-68 and 81-85 : This is where you assign the
trace's states to the ones in the view.
(one place is for the actual colored rectangle, the other is for the
tooltips, iirc).

If you have any question or problem, please let me know!

Good luck ;)

Alexandre Montplaisir
École Polytechnique de Montréal

More information about the lttng-dev mailing list