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 ==
Latest revision as of 09:15, 10 January 2013
|Mailing List • Forums • IRC • mattermost|
|Open • Help Wanted • Bug Day|
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.
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.
How to add a new view
Any API? What are the hooks new functionnality can be hooked to/registered?