deliverable/tracecompass.git
10 years agoTMF: Move methods from TmfXYChartViewer to new abstract TmfTimeViewer
Geneviève Bastien [Fri, 14 Feb 2014 19:23:29 +0000 (14:23 -0500)] 
TMF: Move methods from TmfXYChartViewer to new abstract TmfTimeViewer

The TmfXYChartViewer already had time synchronization methods implemented,
but those can be used by other types of viewer. They have been moved to an
abstract class. All viewers who need to synchronize with trace time may extend
this class.

Change-Id: I5d64c4412ea2de06e88ae8000b29770dbeecca83
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/22029
Tested-by: Hudson CI
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
IP-Clean: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
10 years agotmf: Use explicit annotations in ITmfAnalysisModuleWithStateSystems
Alexandre Montplaisir [Wed, 12 Feb 2014 19:29:27 +0000 (14:29 -0500)] 
tmf: Use explicit annotations in ITmfAnalysisModuleWithStateSystems

It seems Eclipse and Maven don't handle nested null annotation
contexts the same way (@NonNullByDefault -> @Nullable -> @NonNull).
To keep both happy, just remove the @NonNullByDefault and use
annotations everywhere in this file. There's acutally only one extra
place that needs it...

Eventually everything should move to package-level annotations.

Change-Id: I84b8c9bb9ea468e6a27e0c1025d0a8f328b2f8bb
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/22045
Tested-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
10 years agotmf: Make it possible to hide trace package elements
Marc-Andre Laperle [Wed, 5 Feb 2014 23:47:45 +0000 (18:47 -0500)] 
tmf: Make it possible to hide trace package elements

Change-Id: Id3fc64625a078dbef6f80ff3774223bdd1227d65
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/22070
Tested-by: Hudson CI
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
IP-Clean: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
10 years agotmf: Reorder Import and Export trace package and add separator
Marc-Andre Laperle [Tue, 4 Feb 2014 19:04:15 +0000 (14:04 -0500)] 
tmf: Reorder Import and Export trace package and add separator

Change-Id: I061051b1fafa8c4abfacb9225034fa5b9fd3ae5c
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/22069
Tested-by: Hudson CI
10 years agotmf: Support renaming traces when importing package
Marc-Andre Laperle [Tue, 28 Jan 2014 21:59:17 +0000 (16:59 -0500)] 
tmf: Support renaming traces when importing package

Change-Id: Ic23169e485d0aa8fb183e32ffea9b3a4c9f60eb0
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/22068
Tested-by: Hudson CI
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
IP-Clean: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
10 years agolttng: Update user guide with latest Import changes
Marc-Andre Laperle [Mon, 10 Feb 2014 22:24:44 +0000 (17:24 -0500)] 
lttng: Update user guide with latest Import changes

Change-Id: I0caa2a202eea0cf0075e6480febc9b50be546515
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/22117
Tested-by: Hudson CI
10 years agotmf: Introduce ManifestReader
Marc-Andre Laperle [Tue, 28 Jan 2014 17:46:07 +0000 (12:46 -0500)] 
tmf: Introduce ManifestReader

Change-Id: I5b24d8339b64e08782c4f1c16c1115b13f1c39df
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/22067
Tested-by: Hudson CI
10 years agoMake trace package import easier to extend
Marc-Andre Laperle [Mon, 27 Jan 2014 22:52:05 +0000 (17:52 -0500)] 
Make trace package import easier to extend

Change-Id: I5ee88bb1243df8904597076244f6399189967783
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/22066
Tested-by: Hudson CI
10 years agotmf: Use auto detection algorithm when using Open Trace File/Directory
Bernd Hufmann [Wed, 12 Feb 2014 18:11:07 +0000 (13:11 -0500)] 
tmf: Use auto detection algorithm when using Open Trace File/Directory

Also the trace viewer user guide was updated to reflect that change.

Change-Id: I698dc8a3dba973f93b148f54f1b12ab23c865d67
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/22065
Tested-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
10 years agolttng: Bump target definitions to use Java 7
Alexandre Montplaisir [Thu, 13 Feb 2014 20:20:05 +0000 (15:20 -0500)] 
lttng: Bump target definitions to use Java 7

This affects the default launch configurations created when
you launch the project for the first time.

Change-Id: If9ae9cabccc42da5f5b3bebf60b07fdff2bd3f17
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/22049

10 years agolttng: Add Guava dependency to help plugins
Alexandre Montplaisir [Wed, 12 Feb 2014 20:23:33 +0000 (15:23 -0500)] 
lttng: Add Guava dependency to help plugins

Recent versions of the Wikitext Ant task depend on Guava
(com.google.common.base.Strings among other things). Maven had it
covered already, but building it from within Eclipse was broken.

Change-Id: I278425489c4334eb5bd6bb699ea193b5e35891df
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/22048
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
10 years agotmf: Remove getStateSystemID() from the module's API
Alexandre Montplaisir [Tue, 4 Feb 2014 22:58:19 +0000 (17:58 -0500)] 
tmf: Remove getStateSystemID() from the module's API

This value is now stored in the state system, callers can now use
ITmfStateSystem.getSSID().

Change-Id: I4fcfa746c7ba3867d6971cfd5a88a00a1d4637a7
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21541

10 years agolttng: Drop the Debian-specific location for Wikitext
Alexandre Montplaisir [Wed, 12 Feb 2014 20:09:19 +0000 (15:09 -0500)] 
lttng: Drop the Debian-specific location for Wikitext

Our distro/OS-agnostic dev setup instructions tell users to install
Wikitext from p2 if they want to build the help plugins. Everybody should
have done this by now, this is much less intrusive than pulling 200+ MB of
packages based on Eclipse 3.x...

Change-Id: I1542b68448ac4b6a3e25cf0321431fd982e0f8d2
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/22047
Tested-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
10 years agotmf: Remove validate methods that are not used
Bernd Hufmann [Tue, 11 Feb 2014 20:29:53 +0000 (15:29 -0500)] 
tmf: Remove validate methods that are not used

Change-Id: I0b2aea99ba6084f8de3a260b6a9cfd5b0387041b
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/21844
Tested-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
10 years agotmf: Fix NPE in Import wizard
Bernd Hufmann [Tue, 11 Feb 2014 19:00:43 +0000 (14:00 -0500)] 
tmf: Fix NPE in Import wizard

Change-Id: I5a7ce6131d15af7d4329716da2be531aff0f5dc8
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/21843
Tested-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
10 years agotmf: Remove HistoryBuilder and TmfStateSystemFactory
Alexandre Montplaisir [Wed, 12 Feb 2014 13:34:42 +0000 (08:34 -0500)] 
tmf: Remove HistoryBuilder and TmfStateSystemFactory

Everything in-tree has been migrated to the state system analysis
module, we can now remove the legacy way of doing things.

Change-Id: I52e5e50dff28588c1609d5a212ef7ede0e4d2514
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21911
Tested-by: Hudson CI
10 years agotmf: Do not use OS String for import trace wizard destination path
Patrick Tasse [Tue, 11 Feb 2014 14:48:35 +0000 (09:48 -0500)] 
tmf: Do not use OS String for import trace wizard destination path

Change-Id: Id6f13335027cbbf748f3251be7ed35d0ec6d1545
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/21842
Tested-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
10 years agoTMF: Add method to get traces with build thread in Time graph view
Geneviève Bastien [Wed, 12 Feb 2014 14:15:24 +0000 (09:15 -0500)] 
TMF: Add method to get traces with build thread in Time graph view

This new method returns the traces for which a build thread will be started
in the abstract time graph view. This will allow a time graph view displaying
results from an experiment to override this method so that only one build
thread for the experiment starts.

Change-Id: I630424b3753f98924fc4c2dfc71a4902cddb0bee
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/21887
Tested-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
10 years agotmf: fix freezing of UI when selection large directory structure
Bernd Hufmann [Mon, 10 Feb 2014 19:56:24 +0000 (14:56 -0500)] 
tmf: fix freezing of UI when selection large directory structure

Change-Id: I40d4dc7ffa5edce23a8fa05ff89af4f7d5a1ec71
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/21841
Tested-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
10 years agotmf/lttng: Migrate remaining users to the state system analysis
Alexandre Montplaisir [Wed, 12 Feb 2014 12:41:21 +0000 (07:41 -0500)] 
tmf/lttng: Migrate remaining users to the state system analysis

- Removed the VerifyHistoryFile program, this dates from long ago,
  these checks can now be done via unit tests.

- Removed the BasicStateSystemExample. Doing a range query on the
  full range of the trace?!? That's a good example of what NOT to do!

- Tweaked the GenerateTestValues program to use the analysis module
  instead.

Change-Id: I224f93642b8b3a9a4a0c1c4ca9a1e2f5f7089130
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21910
Tested-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
10 years agotmf: Unify import and validate methods
Bernd Hufmann [Fri, 7 Feb 2014 13:10:27 +0000 (08:10 -0500)] 
tmf: Unify import and validate methods

There is less duplicate code now.

Change-Id: If7941bc2b812d421a4b17ca6fa872ba424b1c614
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/21840
Tested-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
10 years agotmf: Fix concurrent modification exception when importing many traces
Bernd Hufmann [Fri, 7 Feb 2014 13:21:00 +0000 (08:21 -0500)] 
tmf: Fix concurrent modification exception when importing many traces

Change-Id: I85499c9641a864c93069a3db8eed257e3b6bb53e
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/21839
Tested-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
10 years agotmf: Disable import unrecognized button for non auto detection
Bernd Hufmann [Fri, 7 Feb 2014 12:35:07 +0000 (07:35 -0500)] 
tmf: Disable import unrecognized button for non auto detection

Change-Id: Ie9ee6300ec07cc1272638562b1b33c38343428eb
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/21838
Tested-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
10 years agotmf: Remove dialog to show unrecognized traces during import
Bernd Hufmann [Thu, 6 Feb 2014 19:18:29 +0000 (14:18 -0500)] 
tmf: Remove dialog to show unrecognized traces during import

Change-Id: If8d53aecaaec4658a9a2771b0dbbce7644a3329d
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/21837
Tested-by: Hudson CI
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
IP-Clean: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
10 years agotmf: Add automatic trace type detection to drag & drop
Patrick Tasse [Tue, 4 Feb 2014 18:14:28 +0000 (13:14 -0500)] 
tmf: Add automatic trace type detection to drag & drop

Change-Id: Idc8d8c379e2d2cfba10c77fdcbaf34f331c8c96f
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/21836
Tested-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
10 years agotmf: Add automatic trace type detection to import trace wizard
Patrick Tasse [Wed, 5 Feb 2014 21:21:06 +0000 (16:21 -0500)] 
tmf: Add automatic trace type detection to import trace wizard

Change-Id: I93e16989fcceaebffd4ef745360a09bc45713ff1
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/21835
Tested-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
10 years agotmf: Use full history backend by default
Alexandre Montplaisir [Tue, 11 Feb 2014 23:33:28 +0000 (18:33 -0500)] 
tmf: Use full history backend by default

Full history is used in most places, so instead of having to specify
it in every implementation, set it as such in the abstract state system
module. Sub-classes are then free to override it if they want.

Change-Id: I856155114fd2a189bd2d582acb43b724e71f508d
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21909
Tested-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
10 years agotmf: Update CTF and custom trace validation
Patrick Tasse [Mon, 3 Feb 2014 20:18:09 +0000 (15:18 -0500)] 
tmf: Update CTF and custom trace validation

Change-Id: I991b17c363645aa22c0456309cbdd2db6deee2f4
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/21834
Tested-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
10 years agotmf: Add TextTrace abstract class with trace validation status
Patrick Tasse [Wed, 29 Jan 2014 16:46:12 +0000 (11:46 -0500)] 
tmf: Add TextTrace abstract class with trace validation status

Change-Id: I1e027b4ee4e9581bcee2df99edaf7fde7cc9ee12
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/21833
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
10 years agotmf: support for renaming, overwriting or skipping during import
Bernd Hufmann [Fri, 31 Jan 2014 13:57:14 +0000 (08:57 -0500)] 
tmf: support for renaming, overwriting or skipping during import

If a trace with a given name already exists in the target project
and the checkbox "Overwrite existing trace without warning" is not
checked, then a dialog box will be opened so that the user can
specify if he wants to rename, overwrite or skip the trace. The user
also has the option to apply this for all the imported traces, for
example "Rename all". For the renaming case the import operation will
automatically add a number as suffix to the trace name, for example
(2). This is similar to how it is done for drag and drop or
"Open Trace File/Directory" command in the RCP.

Change-Id: I316752fb7a76f6f448958b147e212af9a1ee2bcb
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/21832
Tested-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
10 years agotmf: Rework trace import wizard
Bernd Hufmann [Wed, 29 Jan 2014 15:20:24 +0000 (10:20 -0500)] 
tmf: Rework trace import wizard

- Use standard directory and file trees from the base import resource
wizard. This fixes the problem of UI freezes in the previous
implementation when setting the checked state of a large file system
tree. Instead of having on single tree for directories and files there
are 2 trees side-by-side, one for directories and one for the files of
the highlighted directory.

- Introduce TraceFileSystemElement class for the tree viewers
This class extends FileSystemElement that is used in the standard
tree viewers of base import wizard class and it supports lazy
loading of the children elements.

- Only import directories as traces if they are valid directory
traces. This avoids directories to be imported when they are selected
in the tree. Right now only CTF traces are considered for that. A
generic solution needs to implemented for that.

- Don't try to validate a trace when changing the selection state
and a trace type is selected. The validation of traces can be very
long if many files and directories are selected and we don't want
to do that for each selection change. The trace type validation
is now only done after pressing the finish button.

- Directories are validated first using trace types for directories
By doing that, valid directory traces are not considered for file
trace types

- Support for auto detection of trace types
When this option is selected the wizard tries to detect automatically
the trace type. For CTF traces (directories) this is working well.
For file traces additional code is needed to detect the valid trace
type.

- Possibly long validation and import operation can now be cancelled.

- New checkbox to import unrecognized traces or to omit them
During auto detection it might happen that a trace type is not found
for a given file. This new checkbox allows the use to import the
unrecognized traces or to omit them. This checkbox value is persisted
in the dialog settings and loaded when opening the wizard afterwards.

- Trace type selection combo box has now sorted entries

Change-Id: I4920ad1d1de40e7665f1394549d3ff945b91d870
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/21831
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Hudson CI
10 years agoRevert "tmf: Remove legacy import wizard"
Bernd Hufmann [Tue, 11 Feb 2014 02:10:58 +0000 (21:10 -0500)] 
Revert "tmf: Remove legacy import wizard"

This reverts commit 38b5d28eb185cdee37a452d312f9ca91a2c7af2f.

Change-Id: I4874e4a9347532df16eae1599d25b4faece0a998
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/21830
Tested-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
10 years agolttng: Migrate LTTng-UST CallStack to the analysis framework
Alexandre Montplaisir [Fri, 7 Feb 2014 21:28:30 +0000 (16:28 -0500)] 
lttng: Migrate LTTng-UST CallStack to the analysis framework

Reworked the tests a bit for less copy-paste.

Change-Id: Ibd8587dfd41464e9f5e54fbaa3f6dd22cfabadfe
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21788
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
IP-Clean: Genevieve Bastien <gbastien+lttng@versatic.net>

10 years agotmf: Transition custom parsers to the new location
Alexandre Montplaisir [Thu, 6 Feb 2014 21:10:36 +0000 (16:10 -0500)] 
tmf: Transition custom parsers to the new location

If a user has some custom parsers defined in their workspace, and
they upgrade past 1b7d4a9, we can still look in the old location
so that they do not have to re-create the parsers manually.

Change-Id: Idd1c5f92f58d925be7494c75b8d1b668f487c119
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21651
Tested-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
10 years agotmf: Move the Statistics tests to the analysis API
Alexandre Montplaisir [Mon, 10 Feb 2014 23:56:08 +0000 (18:56 -0500)] 
tmf: Move the Statistics tests to the analysis API

Also, the TmfLostEventsStatisticsTest was not even run by default,
let's enable it!

Change-Id: I7585691432e136cebc87f659c167fb696030c68c
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21789
Tested-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
10 years agotmf: Protect HTNode accesses with a reader/writer lock
Alexandre Montplaisir [Mon, 27 Jan 2014 21:59:58 +0000 (16:59 -0500)] 
tmf: Protect HTNode accesses with a reader/writer lock

Some funny things could happen in multi-thread scenarios, especially
if someone is querying the node while it is being written to disk.

Change-Id: Icbd5e1a5edf3118f9aa8e4827ba865b9b6f6f8ab
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21159
Tested-by: Hudson CI
IP-Clean: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
10 years agotmf: Synchronize accesses to HistoryTree's latest branch
Alexandre Montplaisir [Tue, 28 Jan 2014 18:38:50 +0000 (13:38 -0500)] 
tmf: Synchronize accesses to HistoryTree's latest branch

Most accesses are punctual, so the synchronizedList wrapper covers
for most of them. There is the iteration in readNode() that is done
by reader threads, but it's usually very quick, so there was not
really much advantage of using a ReadWriteLock - considering the
downside of more verbose locking.

Also made the list final and avoided exposing it publicly - the
backend object only needs the root node.

Change-Id: I46c315d46a5e96d609c052d4cedb4404fe765176
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21219
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Hudson CI
10 years agoctf: Metadata add support for incremental reading
Matthew Khouzam [Tue, 21 Jan 2014 15:47:22 +0000 (10:47 -0500)] 
ctf: Metadata add support for incremental reading

Metadata now supports parseText and parseTextFragment
ParseText is needed to parse the initial trace
ParseFragment is needed to avoid reparsing in full the trace

Change-Id: If1857e0b5bb07e5a97cb635bcd7b960b9037f2c7
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/20881
Tested-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
10 years agotmf: TmfStatisticsModule fixes
Alexandre Montplaisir [Fri, 7 Feb 2014 20:03:04 +0000 (15:03 -0500)] 
tmf: TmfStatisticsModule fixes

Following exta review comments on https://git.eclipse.org/r/#/c/19412/

Change-Id: Ie0200ee7beb6a69c450220ade97a7f5bfe570649
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21700
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
IP-Clean: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Hudson CI
10 years agoTMF: Renamed o.e.l.tmf.analysis.xml.core.tests stubs folder to common
Geneviève Bastien [Wed, 29 Jan 2014 20:08:28 +0000 (15:08 -0500)] 
TMF: Renamed o.e.l.tmf.analysis.xml.core.tests stubs folder to common

As mentioned as a last comment in the https://git.eclipse.org/r/#/c/19914/
patch, this folder contains test traces and not implementation stubs so
the name is more fit as "common".

Change-Id: Ia274cb4de2086a0311ffea4a1b95f6407d584b77
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/21294
Tested-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
IP-Clean: Matthew Khouzam <matthew.khouzam@ericsson.com>

10 years agotmf: Store the ID in the state system itself
Alexandre Montplaisir [Tue, 4 Feb 2014 22:53:18 +0000 (17:53 -0500)] 
tmf: Store the ID in the state system itself

Many components already refer to state systems with an ID, might
as well store it in the state system object itself for better
encapsulation.

Beyond the SSID pun, I like having it *not* be getId(), because that
quickly becomes confusing with IAnalysisModule.getId() (even though
those two values are usually the same).

Change-Id: I51babc177f54b4f8af66544e6c75be53da56b6c4
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21540
Tested-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
10 years agotmf: Cleanup TmfStatisticsViewer
Alexandre Montplaisir [Mon, 3 Feb 2014 21:46:03 +0000 (16:46 -0500)] 
tmf: Cleanup TmfStatisticsViewer

Some elements were supposedly used "for streaming", but now we
actually support steaming, and it's done through the analysis
module, so we can remove them.

Change-Id: I1d4b5ed49c7dc112d1904f050be6145814b58924
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21538
Tested-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
IP-Clean: Matthew Khouzam <matthew.khouzam@ericsson.com>

10 years agotmf: Add a waitForCompletion() with no parameter to analysis modules
Alexandre Montplaisir [Thu, 6 Feb 2014 16:16:28 +0000 (11:16 -0500)] 
tmf: Add a waitForCompletion() with no parameter to analysis modules

This avoids having to instantiate useless NullProgressMonitor's we
can't cancel anyway.

Change-Id: Ibe9464315c7d957722817f9332e1024ab18e9609
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21629

10 years agoTMF: Add memory usage chart for UST traces with libc events enabled
Geneviève Bastien [Tue, 14 Jan 2014 18:35:41 +0000 (13:35 -0500)] 
TMF: Add memory usage chart for UST traces with libc events enabled

It uses the date in the memory usage state system module to display in a xy
chart the memory used by the threads of the system.

Change-Id: Ifd435c318be20b19c8c1367a431c82f0a7152ea2
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/20629
Tested-by: Hudson CI
10 years agotmf: Handle empty traces with the abstract state provider
Alexandre Montplaisir [Wed, 5 Feb 2014 19:20:31 +0000 (14:20 -0500)] 
tmf: Handle empty traces with the abstract state provider

Traces with state systems using the AbstractTmfStateProvider (ie,
all of them) would not get closed correctly if no event was ever
received in the provider - currentEvent would remain null, and the
closing step would be skipped.

This is probably an artifact back from the time where history backends
were optional. Now the closing step should always be run, and if we do
not have a valid end time to define, simply use 0. The dummy state
system will go from MIN_VALUE to 0, and since it will have absolutely
no data in it, it really doesn't matter.

Change-Id: Ia36d7bb2cce0b5712825043c7d9becd85cd7ec35
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21576
Tested-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
IP-Clean: Matthew Khouzam <matthew.khouzam@ericsson.com>

10 years agotmf : fix for CtfIterator getCurrentEvent()
Florian Wininger [Thu, 6 Feb 2014 18:58:57 +0000 (13:58 -0500)] 
tmf : fix for CtfIterator getCurrentEvent()

This function is very costly and is called 3 times per event.
The previous CurrentEvent is cached to accelerate the process of building the state system

Benchmark for the TMF sample trace (13.4 Mo with 697343 events) :

Before :
Build of the state system : 8.896 s
Call of createEvent function : 2 091 982

After :
Build of the state system : 6.829 s
Call of createEvent function : 697 343

Benckmark with a 100Mo kernel trace :
Before : 48.1s
After : 38.0s

Possible gain of the state system building time : 23 %

Change-Id: Ibee6509dc378503ad672ca038b3ab17273a11966
Signed-off-by: Florian Wininger <florian.wininger@polymtl.ca>
Reviewed-on: https://git.eclipse.org/r/21480
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
IP-Clean: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
IP-Clean: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Hudson CI
10 years agotmf: Correctly dispose sub-analyses in the statistics module
Alexandre Montplaisir [Wed, 5 Feb 2014 22:54:59 +0000 (17:54 -0500)] 
tmf: Correctly dispose sub-analyses in the statistics module

Change-Id: I459aed9a7b22173d996afffdb29530a5abb44740
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21591
Tested-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
IP-Clean: Genevieve Bastien <gbastien+lttng@versatic.net>

10 years agotmf: Avoid hanging when waiting on a cancelled analysis
Alexandre Montplaisir [Wed, 5 Feb 2014 22:09:25 +0000 (17:09 -0500)] 
tmf: Avoid hanging when waiting on a cancelled analysis

Also bumped the timeout on await() to 500 ms. It means that, on
average, the user will have to wait 250 ms after clicking on
the cancel button actually cancels the running analysis. 1 ms
was burning CPU cycles for nothing.

Change-Id: Id716c761a60b97d53d6809d0457e4f30b63f655e
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21590
Tested-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
IP-Clean: Genevieve Bastien <gbastien+lttng@versatic.net>

10 years agoTMF: Correction to the state system explorer to avoid AttributeNotFound
Geneviève Bastien [Wed, 5 Feb 2014 22:26:52 +0000 (17:26 -0500)] 
TMF: Correction to the state system explorer to avoid AttributeNotFound

The order of the state systems at creation is not the same as the order at
update, so a tree item was update with the wrong state system.

Change-Id: Ifa75109a1cfd7f47440bf364c11c56cc947a8523
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/21589
Reviewed-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
IP-Clean: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Tested-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Tested-by: Hudson CI
10 years agoTMF: Add the XML analysis module source
Florian Wininger [Wed, 6 Nov 2013 18:43:38 +0000 (13:43 -0500)] 
TMF: Add the XML analysis module source

This patch allows the importation of XML files from the TMF GUI. Analysis
modules described in those XML files will appear under the trace, if
applicable.

Change-Id: I0910946f35fe921c22b319b77ab2aefeb385edf3
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Signed-off-by: Florian Wininger <florian.wininger@polymtl.ca>
Reviewed-on: https://git.eclipse.org/r/20155
Tested-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
IP-Clean: Matthew Khouzam <matthew.khouzam@ericsson.com>

10 years agoChange versions to be >= to 2.2.1 release
Marc-Andre Laperle [Wed, 5 Feb 2014 15:40:15 +0000 (10:40 -0500)] 
Change versions to be >= to 2.2.1 release

Change-Id: I852212efc92802fda0da2cfe86de0692704006b7
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/21569
Tested-by: Hudson CI
10 years agotmf: Fix AOOB exception in Import Trace Package
Marc-Andre Laperle [Fri, 31 Jan 2014 21:56:49 +0000 (16:56 -0500)] 
tmf: Fix AOOB exception in Import Trace Package

The exception would happen when canceling the overwrite prompt
(by clicking on the X in the dialog corner).

Change-Id: I070806b0221ef15c68c7973d777ff66487f57f78
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/21419
Tested-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
IP-Clean: Matthew Khouzam <matthew.khouzam@ericsson.com>

10 years agoTmf: Add analysis module for memory usage with UST libc wrapper
Geneviève Bastien [Tue, 14 Jan 2014 18:33:36 +0000 (13:33 -0500)] 
Tmf: Add analysis module for memory usage with UST libc wrapper

An analysis builds a state system for the memory used per thread in a UST
trace with libc events enabled.

It is based on a draft by Matthew Khouzam.

Change-Id: I18566e0eb6cd87103571f17ce88006b6edc53fd5
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/19878
Tested-by: Hudson CI
10 years agoTMF: Add color alternance to xy line charts
Geneviève Bastien [Fri, 3 Jan 2014 21:36:29 +0000 (16:36 -0500)] 
TMF: Add color alternance to xy line charts

Change-Id: I99d97d9152e3057d1ddadcc05a32cbddf8ca2b89
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/20343
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
IP-Clean: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Hudson CI
10 years agolttng: Add missing entry in swtbot tests' build.properties
Alexandre Montplaisir [Tue, 4 Feb 2014 22:55:10 +0000 (17:55 -0500)] 
lttng: Add missing entry in swtbot tests' build.properties

Change-Id: If0468136e5f5b44e97efd36bc2e2c2c0e6a3a0d2
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
10 years agotmf: Move TmfTraceType and custom parsers to tmf.core
Alexandre Montplaisir [Thu, 30 Jan 2014 23:36:14 +0000 (18:36 -0500)] 
tmf: Move TmfTraceType and custom parsers to tmf.core

This required splitting the UI-specific functionality in
TmfTraceType into a new TmfTraceTypeUiUtils, which remains
in the tmf.ui plugin.

Change-Id: I717cb1676fec530efa99be1056be4010b6ca8bd7
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21360
Tested-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
IP-Clean: Matthew Khouzam <matthew.khouzam@ericsson.com>

10 years agolttng: Use switch-on-strings for the kernel state provider
Alexandre Montplaisir [Mon, 3 Feb 2014 23:53:31 +0000 (18:53 -0500)] 
lttng: Use switch-on-strings for the kernel state provider

Gogo Java 7!

Change-Id: Id293fd0b8c6af5f854f9f325de0da4443ef4e2bb
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21491
Tested-by: Hudson CI
Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
IP-Clean: Patrick Tasse <patrick.tasse@gmail.com>

10 years agotmf: Support live-reading in the Statistics View
Alexandre Montplaisir [Wed, 29 Jan 2014 20:59:42 +0000 (15:59 -0500)] 
tmf: Support live-reading in the Statistics View

Change-Id: If73fecccc2a889308343d7222f93e6b0bd3b4512
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21417
Tested-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
IP-Clean: Matthew Khouzam <matthew.khouzam@ericsson.com>

10 years agotmf: Add a waitForInitialization() to TmfStatisticsModule
Alexandre Montplaisir [Wed, 29 Jan 2014 20:58:49 +0000 (15:58 -0500)] 
tmf: Add a waitForInitialization() to TmfStatisticsModule

Similar to the method in TmfStateSystemAnalysisModule.

Change-Id: I302bce5f46cf535d739ebf50d7abbd7cc5454ba8
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21416
Tested-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
IP-Clean: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
10 years agolttng: Check the state system query results more rigorously
Alexandre Montplaisir [Mon, 3 Feb 2014 23:20:34 +0000 (18:20 -0500)] 
lttng: Check the state system query results more rigorously

Defensive programming dictates we should check for integrity,
correctness, etc. at different layers. And not just once and
assume it's safe at every other levels.

In this case, if we had a trace with a sched_process_free event
arriving first for a new TID, the CFV would assume the Exec_name
attribute would be already set, which was not the case.

Change-Id: I0489937be07282c236978a07e48c4221160bb1d9
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21490
Tested-by: Hudson CI
Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
IP-Clean: Patrick Tasse <patrick.tasse@gmail.com>

10 years agotmf: Make StateValueType and TimeRange exceptions into runtime ones
Alexandre Montplaisir [Mon, 3 Feb 2014 22:38:17 +0000 (17:38 -0500)] 
tmf: Make StateValueType and TimeRange exceptions into runtime ones

After much deliberating, here's a suggestion to make
StateValueTypeException and TimeRangeException subclasses of
RuntimeException instead.

The rationale is that it is possible to check for these in advance
(via ITmfStateValue.getType(), and ITmfStateSystem.getCurrentEndTime()).
If the caller does not do these checks correctly, he deserves getting
a runtime exception in the face.

In practice, somebody doing it correctly would always have to wrap it
in a redudant try/catch, saying "I checked for this, I know, throw new
IllegalStateException()", which kind of defeats the purpose of a
checked exception.

The existing code catching those exceptions will continue to work fine,
it remains possible to do so, but new code may decide to skip it.

Change-Id: I76210eef25a47d3f54c93d9e259c82fc99d80375
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21489
Tested-by: Hudson CI
Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
IP-Clean: Patrick Tasse <patrick.tasse@gmail.com>

10 years agotmf: Remove TmfStatsUpdatedSignal
Alexandre Montplaisir [Thu, 14 Nov 2013 04:55:08 +0000 (23:55 -0500)] 
tmf: Remove TmfStatsUpdatedSignal

Rework the Statistics view to not need a specially-crafted signal to get
its results. Just make it spawn a thread for queries, like every other
view does. This is now easier to do, due to the fact that we can
.waitForCompletion() on the statistics analysis module object.

Change-Id: I4a88146113fe7e8f951cc235940353310de2ec99
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/19413
Tested-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
10 years agotmf: Move the trace statistics to the analysis framework
Alexandre Montplaisir [Tue, 12 Nov 2013 00:47:03 +0000 (19:47 -0500)] 
tmf: Move the trace statistics to the analysis framework

By itself, this patch causes a bug where the Statistics view will not be
populated unless it is re-opened *after* the trace has been loaded.

The patch following this one fixes this (and unfortunately, that one
depends on changes from this one, so it wasn't trivial to re-order them).

Change-Id: I8b6c59d70e84fdc5971665e1e78d096e3abe30db
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/19412
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
IP-Clean: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Hudson CI
10 years agotmf: Rework analysis-returning methods in ITmfTrace
Alexandre Montplaisir [Mon, 27 Jan 2014 19:33:20 +0000 (14:33 -0500)] 
tmf: Rework analysis-returning methods in ITmfTrace

Make the analysis accesses thread-safe: each access is now encased
in a synchronized block (or using the synchronizedMap wrapper).

This also implies exposing only Iterable's in the interface, which
is a good practice in general. If a caller could get a reference to
the map (even through unmodifiableMap), we'd have no guarantee that
they'd correctly lock their iterations, which could result in a
concurrent access error if the map is modified internally at the
same time.

Change-Id: Ibd2f1130ab9839ad20c3df3ac7c92119754ecc42
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21152
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
IP-Clean: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
10 years agolttng: Support live updating of Control Flow view and Resources view
Patrick Tasse [Mon, 27 Jan 2014 22:20:13 +0000 (17:20 -0500)] 
lttng: Support live updating of Control Flow view and Resources view

- Update AbstractTimeGraphView to use a list as input element and to
support a time graph content provider.

- Update AbstractTimeGraphView to create one separate BuildThread per
trace in the trace set. Change buildEventList method to be called
independently for each trace in the trace set.

- Update AbstractTimeGraphView to use a CopyOnWriteArrayList for the
entry list of each trace, and stop exposing the entry list map to
subclasses. Add interface to add or remove a list of entries to/from the
entry list of a trace.

- Update AbstractTimeGraphView refresh method to refresh the time graph
combo or time graph viewer when possible and avoid calling setInput,
which resets all tree elements.

- Update AbstractTimeGraphView to perform packing of tree columns only
once.

- Add support in TimeGraphEntry to update the end time and to replace
the last event with an event starting at the same time.

- Fix TmfEventsEditor sending TmfTraceClosed with null trace.

- Update ControlFlowView and ResourcesView to build the event list for a
trace continuously in a loop until its state system build is complete.
Support continuous updating of the entry list and its tree structure,
and partial updating of the event list at each iteration.

- Update state system history range query to allow punctual time range.

Change-Id: I440c369ddef703f8fbceac221cfea0c0699348c0
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/21161
Tested-by: Hudson CI
Reviewed-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
IP-Clean: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
10 years agotmf: Add support for time graph content provider
Patrick Tasse [Fri, 24 Jan 2014 18:01:06 +0000 (13:01 -0500)] 
tmf: Add support for time graph content provider

The time graph viewer now supports a time graph content provider. This
allows for the input to be something else than an array of
ITimeGraphEntry elements. The refresh method can now detect new or
removed root elements freshly derived from the input by the time graph
content provider.

Change-Id: I4aeaf670d5d459a5a176a6e12645932c13c59413
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/21160
Reviewed-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Tested-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
IP-Clean: Matthew Khouzam <matthew.khouzam@ericsson.com>

10 years agoTMF: Update the target platforms
Geneviève Bastien [Wed, 29 Jan 2014 17:22:50 +0000 (12:22 -0500)] 
TMF: Update the target platforms

Setting target platform in the most recent kepler caused problems because
some plugin references were updated. This patch fixes it.

Change-Id: Ie9fc5911a4104654d7e0022dd28c878a97311017
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/21282
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Hudson CI
10 years agotmf: Move creation of timer to init method instead of constructor
Bernd Hufmann [Mon, 27 Jan 2014 14:04:46 +0000 (09:04 -0500)] 
tmf: Move creation of timer to init method instead of constructor

By the doing this, the timer is not running when creating trace
instances for validation.

Also, cancel timer when trace is disposed.

Change-Id: I4269ddb1faba771c039649d92f2e1477076668c8
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/21138
Reviewed-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
IP-Clean: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Hudson CI
10 years agoFix building tmf/lttng help plugins using Luna platform
Marc-Andre Laperle [Tue, 28 Jan 2014 18:16:12 +0000 (13:16 -0500)] 
Fix building tmf/lttng help plugins using Luna platform

The ant tasks from Mylyn moved so the classpath needed
to be updated.

Change-Id: I92b7b96a3225712a80332f84ad6e589298eda710
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/21214
Tested-by: Hudson CI
Reviewed-by: Alexander Kurtakov <akurtako@redhat.com>
IP-Clean: Alexander Kurtakov <akurtako@redhat.com>
Tested-by: Alexander Kurtakov <akurtako@redhat.com>
10 years agotmf: Fix reading HTNodes while the tree is being built
Alexandre Montplaisir [Thu, 23 Jan 2014 05:16:03 +0000 (00:16 -0500)] 
tmf: Fix reading HTNodes while the tree is being built

A race condition could occur if a node would receive a query
after closeThisNode() was called, but before it was finished
writing itself to disk (in writeSelf()). It would result in
BufferUnderflowException's.

The important part of this patch is moving the "isDone" from
closeThisNode() to the end of writeSelf().

Also renamed the flag to isOnDisk, to reflect better what it
represents. It wouldn't even need to be written to the file,
but since a change in the file format is due soon-ish, might
as well change it all at the same time.

Change-Id: Ib22e3d56538057c7b3fd6655d32597b524fd8b28
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/20984
Tested-by: Hudson CI
Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
IP-Clean: Patrick Tasse <patrick.tasse@gmail.com>
Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
10 years agotmf: Cleanup TmfEventProvider
Alexandre Montplaisir [Thu, 23 Jan 2014 20:50:59 +0000 (15:50 -0500)] 
tmf: Cleanup TmfEventProvider

* Move the fDataQueue, as well as the whole concept of queue size, to
  the test stub. it was only used by that.
* Make some protected fields private.
* Change the ArrayList of pending requests to a linked list. We never
  access a specific index directly, and insertions are faster in a
  linked list.
* Remove fireRequest() from the interface, it should only be used
  internally.
* Remove queueBackgroundRequest(), it's not used anymore (this also
  removes the need for the dispatchRequest() method).

Change-Id: Ie9d2706f90d0afec1b01a35f2684c00eb83217fe
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/20911
Tested-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
IP-Clean: Matthew Khouzam <matthew.khouzam@ericsson.com>

10 years agotmf: Make TransientState really re-entrant
Alexandre Montplaisir [Thu, 23 Jan 2014 23:25:40 +0000 (18:25 -0500)] 
tmf: Make TransientState really re-entrant

Wrap all reading and writing methods under a reader-writer lock.
This will allow much better consistency when querying a state
system while it is being built.

It was also required to rework the hasInfoAbout() method. Since the
state of the TransientState can change between two method invocations,
it was prone to race conditions. Now it will return the interval it
had at the time, if there is one.

Change-Id: I1a34e410eea1a02288c5388d1983e9c16ce56f0f
Reviewed-on: https://git.eclipse.org/r/21019
Tested-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
IP-Clean: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
IP-Clean: Patrick Tasse <patrick.tasse@gmail.com>
Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
10 years agotmf: Dispose analysis modules when the trace is disposed
Alexandre Montplaisir [Fri, 24 Jan 2014 22:06:22 +0000 (17:06 -0500)] 
tmf: Dispose analysis modules when the trace is disposed

There was a dispose() method in the StateSystemAnalysisModule, but
it came from HistoryBuilder, and was about disposing the state provider
only (which we do once the event request is complete, since we will not
need to insert more events in it). It had nothing to do with
ITmfComponent.dispose().

Add a "real" dipose method to the state system module, which disposes
the state system that was built, if any. And then also call that dispose
from TmfTrace.dispose().

This way the analysis module should:
- Correctly deregister from the TmfSignalManager, to be eligible for
  garbage collection.
- Dispose the statesystem object it contains, correctly closing any
  backend files.

Change-Id: I5836009f7172ab4ef9a41e22b5dbc0ef2fccbe4e
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21072

10 years agotmf: Bug 426468: Wrong filter label provider in Control Flow view
Patrick Tasse [Thu, 23 Jan 2014 17:00:17 +0000 (12:00 -0500)] 
tmf: Bug 426468: Wrong filter label provider in Control Flow view

Change-Id: I328db35ffdcb8f872a3277eb309472fd311aab97
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/21005
Tested-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
IP-Clean: Matthew Khouzam <matthew.khouzam@ericsson.com>

10 years agorcp: Add missing swtchart to RCP
Marc-Andre Laperle [Fri, 24 Jan 2014 16:55:35 +0000 (11:55 -0500)] 
rcp: Add missing swtchart to RCP

Change-Id: Ic24fa1f8c53ba6aa94b2c08290aebff6e82fc5d3
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/21066
Tested-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
IP-Clean: Matthew Khouzam <matthew.khouzam@ericsson.com>

10 years agotmf: Synchronize interval accesses in InMemoryBackend
Alexandre Montplaisir [Fri, 24 Jan 2014 23:05:29 +0000 (18:05 -0500)] 
tmf: Synchronize interval accesses in InMemoryBackend

Should fix concurrency issues when doing construction + queries
simultaneously on an InMemoryBackend.

Change-Id: Ie6339d1c1e58f72991be7f594f9361943b2fb051
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21074
Tested-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
IP-Clean: Matthew Khouzam <matthew.khouzam@ericsson.com>

10 years agotmf: Add a waitForInitialization() to the state system module
Alexandre Montplaisir [Fri, 24 Jan 2014 21:06:28 +0000 (16:06 -0500)] 
tmf: Add a waitForInitialization() to the state system module

With this, views and other components can be notified when the
underlying state system is instantiated and ready to be queried.

Change-Id: I0802d95b3311b1124803b55b3c5dd617e26afa48
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21069
Tested-by: Hudson CI
Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
IP-Clean: Patrick Tasse <patrick.tasse@gmail.com>
Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
10 years agotmf: Enforce non-null state sytem backends
Alexandre Montplaisir [Thu, 23 Jan 2014 19:27:21 +0000 (14:27 -0500)] 
tmf: Enforce non-null state sytem backends

We now have a NullBackend for when we want a state system that
discards past intervals.

Change-Id: I8e62412ceac3c72c104cb512adb40b85b1ce9ce9
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/21018
Tested-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
IP-Clean: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
10 years agoctf: Enable the CTF-testsuite tests
Alexandre Montplaisir [Thu, 23 Jan 2014 04:56:58 +0000 (23:56 -0500)] 
ctf: Enable the CTF-testsuite tests

But blacklist those we know we don't currently pass. At least this
allows us to run the ones we *do* pass in CI.

Change-Id: I020d9f1ddfa5537c6f65c5f497c080541e4fb1ba
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/20983
Tested-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
IP-Clean: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
10 years agotmf: Change to timer based coalescing of background requests
Bernd Hufmann [Fri, 17 Jan 2014 20:19:26 +0000 (15:19 -0500)] 
tmf: Change to timer based coalescing of background requests

Coalescing of foreground requests are still based on signal
synchronization using start and end sync signal. Foreground requests
are meant for short and higher priority requests and need to be
processed right away.

Change-Id: Iae0cf886e4c932b1620a13057a9e1242702e2089
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/20824
Tested-by: Hudson CI
Reviewed-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
IP-Clean: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Tested-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
10 years agoTMF: Add XML state provider analysis module and XML utilities
Florian Wininger [Tue, 14 Jan 2014 02:36:50 +0000 (21:36 -0500)] 
TMF: Add XML state provider analysis module and XML utilities

This patch adds an analysis module for an XML-defined state system. It does not
actually build the state system, the details will come in another patch.

It also contains the [stripped-down] XML schema definition and the methods to
read an XML file and validate it.

Change-Id: I2a3d322f96742d995912700d223e2ecb9e07d8f5
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Signed-off-by: Florian Wininger <florian.wininger@polymtl.ca>
Reviewed-on: https://git.eclipse.org/r/19914
Tested-by: Hudson CI
Reviewed-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
10 years agolttng: Don't use deprecated elements in poms.
Alexander Kurtakov [Wed, 22 Jan 2014 07:59:42 +0000 (09:59 +0200)] 
lttng: Don't use deprecated elements in poms.

Get rid of the "[WARNING] Parameter tasks is deprecated, use target
instead" from the build.

Change-Id: I69b3eac788f13dab3f20cb11e8c372833c03ba72
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
Reviewed-on: https://git.eclipse.org/r/20925
Tested-by: Hudson CI
10 years agotmf: Fix usage of readNode() method in HistoryTree
Alexandre Montplaisir [Tue, 21 Jan 2014 19:58:02 +0000 (14:58 -0500)] 
tmf: Fix usage of readNode() method in HistoryTree

Small fix to 726106b, the optimization to not look into the branch
in memory (when looking for a HTNode) should only be done when we
know the node is not in memory. The general case should use the
method from HistoryTree itself.

Change-Id: I3ce114f7f84f14f2dc892c400ab6aa768bab18fc
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/20902
Tested-by: Hudson CI
10 years agotmf: Don't return -1 for interval end times in the TransientState
Alexandre Montplaisir [Tue, 21 Jan 2014 21:09:36 +0000 (16:09 -0500)] 
tmf: Don't return -1 for interval end times in the TransientState

This might make sense locally to this class, but no other component
anywhere uses -1 for an end time value. Plus it breaks the contract
checked at construction that the end time should always be > the start
time.

Instead of returning a dummy -1, return the latest known end time. This
is just as "wrong", but eventually we could augment to API to indicate
if it read a real interval or a current state.

Change-Id: Ia9a23f990dce3301c721996e75219bc34ed1164f
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/20903
Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
IP-Clean: Patrick Tasse <patrick.tasse@gmail.com>
Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
10 years agotmf: Use a foreground request for partial history checkpoints
Alexandre Montplaisir [Mon, 20 Jan 2014 19:07:33 +0000 (14:07 -0500)] 
tmf: Use a foreground request for partial history checkpoints

This will ensure the checkpoint request does not get coalesced with
the "real" state history building request, as this would lead to
a deadlock.

Change-Id: I69f6ab52a75a3344a60869ac2b11332581afddd3
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/20836
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
IP-Clean: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Hudson CI
10 years agotmf: Change IAnalysisModule.getOutputs to return an Iterable
Alexandre Montplaisir [Fri, 17 Jan 2014 21:59:57 +0000 (16:59 -0500)] 
tmf: Change IAnalysisModule.getOutputs to return an Iterable

instead of a List, there is nothing that forces storing the
outputs as a list.

Change-Id: Id0a7105a3e2cce118cc0d48558a85ed2f5f85b0e
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/20777
Tested-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
IP-Clean: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
10 years agotmf: fix coalesced request handling with one request
Bernd Hufmann [Fri, 17 Jan 2014 20:17:47 +0000 (15:17 -0500)] 
tmf: fix coalesced request handling with one request

... and request with certain time stamp and certain number of events
requested. This will read less events than requested events.

This patch contains fix and test for it

Change-Id: I4a88308bccf858f9f8d112b8602cf80f02db06eb
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/20771
Tested-by: Hudson CI
Reviewed-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
IP-Clean: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Tested-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
10 years agoTmf: Port the LTTng Kernel state system to an analysis module
Geneviève Bastien [Thu, 14 Nov 2013 16:47:11 +0000 (11:47 -0500)] 
Tmf: Port the LTTng Kernel state system to an analysis module

And update the views accordingly.

Change-Id: I90975b5772db24a784d99d2d0232f6f76a8e5e03
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/19432
Reviewed-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
IP-Clean: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Tested-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
10 years agotmf: Remove redundant CtfTmfEvent.getEventName() method
Alexandre Montplaisir [Fri, 17 Jan 2014 20:23:35 +0000 (15:23 -0500)] 
tmf: Remove redundant CtfTmfEvent.getEventName() method

ITmfEvent.getType().getName() does the same thing, and is in the
interface.

Change-Id: Ia19b190cda820863955504bf980139a17e1a7ded
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/20770
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Hudson CI
10 years agotmf: Send relevant signals in a separate thread
Bernd Hufmann [Mon, 13 Jan 2014 20:29:41 +0000 (15:29 -0500)] 
tmf: Send relevant signals in a separate thread

This reverts commit be7fc7f31ae52da752bf021e828b9992ebfc44e4.
Instead the TmfTraceUpdatedSignal is sent using the
broadcastAsync() method of the TmfComponent in the case
that the trace index already exists. This ensures that the
the TmfTraceRangeUpdatedSignal is handled by all signal
handlers before handling TmfTraceUpdateSignal.

Also, the TmfTraceRangeUpdated signal is sent using the
broadcastAsync() method instead of spawning an own thread.

Change-Id: Idfb6660da90cbe7f21db8d838e2f151c008756a0
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/20591
Tested-by: Hudson CI
IP-Clean: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Tested-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
10 years agotmf: Add asynchronous way of broadcasting signals
Bernd Hufmann [Mon, 13 Jan 2014 20:02:25 +0000 (15:02 -0500)] 
tmf: Add asynchronous way of broadcasting signals

For that the signal manager queues signals and executes them in order
of arrival in a separate thread.

Unit tests were added for the signal manager.

Change-Id: If3957bcdcc30dec3f25804586c6ee5aa10a102a1
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/20590
Reviewed-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
IP-Clean: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Tested-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Tested-by: Hudson CI
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
10 years ago[TMF] Optimize TimeGraphControl.drawState() method.
Xavier Raynaud [Thu, 16 Jan 2014 08:56:28 +0000 (09:56 +0100)] 
[TMF] Optimize TimeGraphControl.drawState() method.

Gain on Linux after optimization is about 25%.
Note that it changes a bit the way events are displayed.

Change-Id: I0ff437c0d4ba832de73d6deb04c381015393617d
Signed-off-by: Xavier Raynaud <xavier.raynaud@kalray.eu>
Reviewed-on: https://git.eclipse.org/r/20415
Tested-by: Hudson CI
10 years agoTMF: Add abstract XY line chart viewer on top of SWT chart
Geneviève Bastien [Wed, 24 Apr 2013 12:35:01 +0000 (08:35 -0400)] 
TMF: Add abstract XY line chart viewer on top of SWT chart

* Provides a viewer for line charts. With this viewer, all series will use
the same X axis data.
* It automatically creates series as values are provided for a key.
* A tooltip shows the values for each series at the selected x position.
* Series can also be manually added and the returned series can be modified,
so while "line chart" is the default representation, it can be used in other
ways.

Change-Id: I90b63e1dc87a1dbd49d37ff99fb22e04eecad2be
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/20342
Reviewed-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Tested-by: Hudson CI
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
IP-Clean: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
10 years ago[TMF] add public getters for fields used in TimeGraphControl.drawState
Xavier Raynaud [Tue, 14 Jan 2014 08:56:36 +0000 (09:56 +0100)] 
[TMF] add public getters for fields used in TimeGraphControl.drawState

TimeGraphControl.drawState() is protected, and therefore can be overridden.
Unfortunately, this method uses two private fields: fEventColorMap and
fTimeGraphProvider. Therefore, in order to be able to override this method,
these two fields must have accessible getters.

Change-Id: Ia82d422f33b8a8c205b761104340b4d293fae33a
Signed-off-by: Xavier Raynaud <xavier.raynaud@kalray.eu>
Reviewed-on: https://git.eclipse.org/r/20424
Tested-by: Hudson CI
Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
IP-Clean: Patrick Tasse <patrick.tasse@gmail.com>

10 years agotmf: Add a ITmfStateSystem.waitUntilBuilt() method with timeout
Alexandre Montplaisir [Wed, 15 Jan 2014 18:46:36 +0000 (13:46 -0500)] 
tmf: Add a ITmfStateSystem.waitUntilBuilt() method with timeout

This allows callers to "unblock" after a specified delay has elapsed.
Extremely simple to implement, as CountDownLatch already has a method
to do exactly this!

Change-Id: I1029729e8197b0f69af6072f4563145badeb3048
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/20678
Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
IP-Clean: Patrick Tasse <patrick.tasse@gmail.com>
Tested-by: Hudson CI
10 years agotmf: Split ITmfStateSystem.waitUntilBuilt() in separate methods
Alexandre Montplaisir [Wed, 15 Jan 2014 18:27:49 +0000 (13:27 -0500)] 
tmf: Split ITmfStateSystem.waitUntilBuilt() in separate methods

Decouple the return value of waitUntilBuilt() in a new isCancelled()
method, so that it can be checked independently.

This is because we are planning to add a new waitUntilBuilt(long) method
with a timeout, and that one will have to return a boolean to indicate
if it returned due to the thing being built, or due to the timeout.

We will still want to check for the cancellation state afterwards.
Furthermore, it would be very confusing if both methods (with and without
the timeout) returned a boolean that meant different things.

Change-Id: If7a954d2368d55c99e30e31e17e39b39bca5f432
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/20677
Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
IP-Clean: Patrick Tasse <patrick.tasse@gmail.com>
Tested-by: Hudson CI
10 years agoTMF: Add Analysis API documentation
Geneviève Bastien [Wed, 18 Dec 2013 14:46:38 +0000 (09:46 -0500)] 
TMF: Add Analysis API documentation

Change-Id: Ia8dfc072073555d4f969ec811c07c420fe3a60af
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/20125
Tested-by: Hudson CI
Reviewed-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
IP-Clean: Alexandre Montplaisir <alexmonthy@voxpopuli.im>

10 years agoLttng: smoke test
Matthew Khouzam [Wed, 6 Nov 2013 20:12:37 +0000 (15:12 -0500)] 
Lttng: smoke test

This is a sample of how to make a test using SWTBOT.
It should be a useful stepping stone to gain test
case coverage and control what we're reading.

The test features:
* opening a trace
* navigation in a trace
* testing lttng kernel perspective

What would be nice to have:
* closing a trace
* test views more thoroughly
* all the other functional test on all the trace types!

Change-Id: I2cb6b7a7f5a78206dfa8429f4e0111249ae9d933
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/18154

10 years agotmf: Work around SWTBot test hang in the presence of GTK3
Marc-Andre Laperle [Thu, 9 Jan 2014 05:31:00 +0000 (00:31 -0500)] 
tmf: Work around SWTBot test hang in the presence of GTK3

With GTK3, the SWTBot test hangs as soon as a Display.syncExec
is called on the swtbot thread (non-UI) which seems like a bug
in SWT. For now, GTK3 can be disabled by setting the SWT_GTK3
environment variable to 0. Note that for Kepler GTK2 is still
used by default so this is not a problem.

Change-Id: I4a5026f616ab032d95e90e4ad80cea665d552d3c
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/20407
Tested-by: Hudson CI
10 years agotmf: Add proper API to statesystem.backends.historytree
Alexandre Montplaisir [Mon, 16 Dec 2013 23:04:25 +0000 (18:04 -0500)] 
tmf: Add proper API to statesystem.backends.historytree

Change-Id: If860d2ba73cb001eb72dedb95c3982604b4c1b8e
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/19885
Tested-by: Hudson CI
This page took 0.128375 seconds and 5 git commands to generate.