Mirror of the main Trace Compass git repository
Switch branches/tags
Nothing to show
Clone or download
PatrickTasse tmf.core: clamp State system snaphots fixes
The future end time in state snapshots was -1 off.

Future state changes should always be inserted before actual event
handler state changes, so they should be inserted when they have an
equal (or greater) start time than the currently processed event.

Change-Id: Ie81669cf66d6488ee7c3dc40128aa7f621ceec3b
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/124916
Reviewed-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com>
Tested-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com>
Tested-by: CI Bot
Latest commit 250263b Jun 22, 2018
Failed to load latest commit information.
.mvn releng: upgrade to tycho 1.0.0 Feb 17, 2017
analysis profiling: Bug 535772: Fix NLS warning Jun 11, 2018
btf manifest: Add 'Automatic-Module-Name' header to all plug-ins Jun 1, 2018
common tmf.core: clamp State system snapshots Jun 22, 2018
ctf ctf.test: re-enable Dynscope Jun 22, 2018
doc manifest: Add 'Automatic-Module-Name' header to all plug-ins Jun 1, 2018
gdbtrace manifest: Add 'Automatic-Module-Name' header to all plug-ins Jun 1, 2018
lttng control: Remove trailing / in control view tests Jun 14, 2018
pcap manifest: Add 'Automatic-Module-Name' header to all plug-ins Jun 1, 2018
rcp manifest: Add 'Automatic-Module-Name' header to all plug-ins Jun 1, 2018
releng releng: Add target 4.8 to target pom.xml Jun 19, 2018
statesystem tmf.core: clamp State system snaphots fixes Jun 22, 2018
tmf tmf.core: clamp State system snaphots fixes Jun 22, 2018
.gitattributes tmf: Fix remote.ui test on Windows due to line separators Jan 5, 2016
.gitignore Add workspace/ to the gitignore Nov 12, 2015
.gitreview Add git-review configuration to repository Mar 24, 2016
README.md releng: Provide a build property to skip automated UI tests Oct 24, 2016
TraceCompass.setup releng: Remove support for Eclipse 4.5 (Mars) Apr 2, 2018
components.dia Update README to reflect new plugin organization Jun 16, 2015
components.svg Update README to reflect new plugin organization Jun 16, 2015
pom.xml releng: Make Trace Compass build on target 4.8 for Photon RC2 May 29, 2018
sync_settings.sh Update sync_settings.sh for the new directory layout Jun 16, 2015


Eclipse Trace Compass

This source tree contains the source code for the Trace Compass plugins for Eclipse.

The plugins are categorized as follows:

analysis/    | Generic extensions to the base framework
btf/         | Best Trace Format (BTF) integration
common/      | Generic utilities that can be used by other plugins
ctf/         | Common Trace Format (CTF) reader library
doc/         | Documentation and code examples
gdbtrace/    | Support for reading and viewing GDB traces
lttng/       | LTTng integration
pcap/        | libpcap integration
rcp/         | Code specific to the RCP version
releng/      | Releng-related plugins
statesystem/ | State System library
tmf/         | Core framework

See the components.svg file for a diagram showing the dependencies between the different components.

Setting up the development environment

To set up the environment to build Trace Compass from within Eclipse, see this wiki page: http://wiki.eclipse.org/Trace_Compass/Development_Environment_Setup

Compiling manually

The Maven project build requires version 3.3 or later. It can be downloaded from http://maven.apache.org or from the package management system of your distro.

To build the project manually using Maven, simply run the following command from the top-level directory:

mvn clean install

The default command will compile and run the unit tests. Running the tests can take some time, to skip them you can append -Dmaven.test.skip=true to the mvn command:

mvn clean install -Dmaven.test.skip=true

Stand-alone application (RCP) packages will be placed in rcp/org.eclipse.tracecompass.rcp.product/target/products.

The p2 update site, used for installation as plugins inside Eclipse, will be placed in releng/org.eclipse.tracecompass.releng-site/target/repository.

Maven profiles and properties

The following Maven profiles and properties are defined in the build system. You can set them by using -P[profile name] and -D[property name]=[value] in mvn commands.

  • -Dtarget-platform=[target]

    Defines which target to use. This is used to build against various versions of the Eclipse platform. Available ones are in releng/org.eclipse.tracecompass.target. The default is usually the latest stable platform. To use the staging target for example, use -Dtarget-platform=tracecompass-eStaging.

  • -Dskip-automated-ui-tests

    Skips the automated UI integration tests. Not required when using -Dmaven.test.skip=true, which already skips all the tests.

  • -Dskip-rcp

    Skips building the RCP archives and related deployment targets. Only works in conjunction with -Dskip-automated-ui-tests, due to a limitation in Maven.

  • -Pctf-grammar

    Re-compiles the CTF grammar files. This should be enabled if you modify the .g files in the ctf.parser plugin.

  • -Prun-custom-test-suite

    Runs a test suite present in releng/org.eclipse.tracecompass.alltests. The test suite to run has to be defined by -DcustomTestSuite=[name], for example -DcustomTestSuite=RunAllPerfTests.

  • -Pdeploy-rcp

    Mainly for use on build servers. Copies the generated RCP archives, as well as the RCP-specific update site, to the paths specified by -DrcpDestination=/absolute/path/to/destination and -DrcpSiteDestination=/absolute/path/to/destination, respectively.

  • -Pdeploy-update-site

    Mainly for use on build servers. Copies the standard update site (for the Eclipse plugin installation) to the destination specified by -DsiteDestination=/absolute/path/to/destination.

  • -Psign-update-site

    Mainly for use on build servers. Signs all the generated update sites using the Eclipse signing server.

  • -Pdeploy-doc

    Mainly for use on build servers. Copies the generated HTML documentation to the destination specified by -DdocDestination=/absolute/path/to/destination. Some directories may need to already exist at the destination (or Maven will throw related errors).