Skip to main content

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.

Jump to: navigation, search

Linux Tools Project/LTTng Eclipse Plug-in Development Documentation

{{#eclipseproject:technology.linux-distros}}

Linux Tools
Website
Download
Community
Mailing ListForumsIRCmattermost
Issues
OpenHelp WantedBug 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.

Projects listing

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

TracingProjectsListing.png

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

Traces

State System

Signals

Views

Howtos

How to add a new view

API

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

Copyright © Eclipse Foundation, Inc. All Rights Reserved.