Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Linux Tools Project/LTTng Eclipse Plug-in Development Documentation
{{#eclipseproject:technology.linux-distros}}
Linux Tools | |
Website | |
Download | |
Community | |
Mailing List • Forums • IRC • mattermost | |
Issues | |
Open • Help Wanted • Bug Day | |
Contribute | |
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.
Contents
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.