Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: for the plan.

Jump to: navigation, search

Difference between revisions of "Linux Tools Project/LTTng Eclipse Plug-in Development Documentation"

(New page for TMF developer documentation)
m (Some new titles where to fill documentation)
Line 35: Line 35:
== Views ==
== Views ==
= Howtos =
== How to add a new view ==
= API =
''Any API?  What are the hooks new functionnality can be hooked to/registered?''

Latest revision as of 09:15, 10 January 2013


Linux Tools
Mailing ListForumsIRCmattermost
OpenHelp WantedBug Day
Browse Source

This page is intended as a short introduction for a new developer of LTTng Eclipse viewer.

This supposes you have read the TMF development environment setup page and have a working development environment.

Projects listing

Upon first opening the workspace, we see a number of projects as shown in the image below:


They can be divided into 4 different features:

  • org.eclipse.linuxtools.ctf (CTF) - Implements the Common trace format specification.
  • org.eclipse.linuxtools.tmf (TMF) - Base trace analyzer. Depends on CTF. That is where most of the trace analysis is implemented: the [#State System | state system], [#Signals | signals], most of the [#Views | views], etc. It corresponds to the "Generic CTF trace" when selecting the type of a trace. The classes in this project could be extended for any new type of CTF trace to analyze.
  • org.eclipse.linuxtools.lttng2 - These projects (except the .kernel*) are for the lttng2 tracing control. The Eclipse LTTng plugin provides the capability to directly control a tracing session, either locally or remotely and these projects are where it is implemented. See Linux Tools Project/LTTng2/User Guide
  • org.eclipse.linuxtools.lttng2.kernel - Contains code specific to the "kernel trace" type of trace. These projects depend on TMF and CTF.

For each of those features, the main project (no extension) is just a placeholder for project configurations and information, it does not contain any code.

The *.core projects contain the sources not ui dependent. *.core.tests are the tests for the core classes.

The *.ui projects contain the sources to control the user interface of each features. *.ui.tests contain the tests for the ui classes.

Implementation details


State System




How to add a new view


Any API? What are the hooks new functionnality can be hooked to/registered?

Back to the top