deliverable/tracecompass.git
6 years agoreleng: Add tmf.ctf.ui plugin to the build and to the RCP trace-cutting-stream-intersection
Alexandre Montplaisir [Mon, 10 Jul 2017 18:17:24 +0000 (14:17 -0400)] 
releng: Add tmf.ctf.ui plugin to the build and to the RCP

Change-Id: Id8d613b29ce21bfaf6366fb4ba5823f648d51762
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
6 years agolttng: Add test for kernel trace stream intersection
Alexandre Montplaisir [Fri, 7 Jul 2017 20:59:45 +0000 (16:59 -0400)] 
lttng: Add test for kernel trace stream intersection

Change-Id: Ia7b16253c269bf1ebab2fc035d4bcaab966a7c78
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
6 years agoreleng: Update to test-traces 1.7.2
Alexandre Montplaisir [Fri, 7 Jul 2017 20:59:37 +0000 (16:59 -0400)] 
releng: Update to test-traces 1.7.2

Contains a trace to test stream intersection operations.

Change-Id: I209819705ec267be715945a0b9cc419b4b491450
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
6 years agoctf: Add "Stream intersection" UI action
Alexandre Montplaisir [Fri, 7 Jul 2017 20:59:31 +0000 (16:59 -0400)] 
ctf: Add "Stream intersection" UI action

This action only applies to CTF traces, so it is only
visible for CTF traces.

Change-Id: Ief16a7f17bf971831b77986dfe01c8d5e88ddfb8
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
6 years agotmf: Move TmfWorkspaceModifyOperation to public package
Alexandre Montplaisir [Fri, 7 Jul 2017 21:00:33 +0000 (17:00 -0400)] 
tmf: Move TmfWorkspaceModifyOperation to public package

That way it can be used by actions defined in other plugins.

Change-Id: I561d93211c75344a07f8b649d1561db1af46f781
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
6 years agoctf: Introduce new empty tmf.ctf.ui plugin
Alexandre Montplaisir [Fri, 7 Jul 2017 20:59:19 +0000 (16:59 -0400)] 
ctf: Introduce new empty tmf.ctf.ui plugin

Change-Id: I90ae29de94712b7e1e64199f142147f43d32fd09
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
6 years agoctf: Add streamIntersection() method for CTF traces
Alexandre Montplaisir [Fri, 7 Jul 2017 20:59:16 +0000 (16:59 -0400)] 
ctf: Add streamIntersection() method for CTF traces

Stream intersection consists of trimming the trace to the time range
intersecting all CTF streams. This allows dropping events from areas
where only partial data is available.

This would be a good contender for re-using the trim() method. However
since trim() is currently implemented by calling Babeltrace, and
Babeltrace already has a stream intersection function, we can simply
call Babeltrace's function.

Change-Id: I9d38fbddccb2bee88aa4bca3f068efed24c295d5
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
6 years agodoc: Add user doc for the time selection export
Alexandre Montplaisir [Fri, 7 Jul 2017 20:59:13 +0000 (16:59 -0400)] 
doc: Add user doc for the time selection export

Only the "Export Time Selection as New Trace" option exists for now,
but the doc can be organized so that eventually a sub-menu with
different options can be made available.

Change-Id: Ia1edcbbb8a0aa815a9dbf3b51134268f7c1f8f46
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
6 years agolttng: Add test for kernel trace trimming
Alexandre Montplaisir [Fri, 7 Jul 2017 20:59:10 +0000 (16:59 -0400)] 
lttng: Add test for kernel trace trimming

This test will verify that the statedump is saved
and restored correctly.

Change-Id: I808736ed6e3694ac7e6ab632cce507559ea698b4
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
6 years agoctf: Add tests for CTF trace trimming
Alexandre Montplaisir [Fri, 7 Jul 2017 20:59:06 +0000 (16:59 -0400)] 
ctf: Add tests for CTF trace trimming

Attempt to trim all existing CTF test traces.

Change-Id: I4fe15265dfe36a2aa561ed2c19365b0879e90342
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
6 years agotmf: Preload the statedump when building state systems, if there is one
Alexandre Montplaisir [Fri, 7 Jul 2017 20:59:03 +0000 (16:59 -0400)] 
tmf: Preload the statedump when building state systems, if there is one

Change-Id: I57e363367713f0a9eb6a05a476662a45bae18eb1
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
6 years agotmf: Save a snapshot of the state when doing a trim operation
Alexandre Montplaisir [Fri, 7 Jul 2017 20:59:00 +0000 (16:59 -0400)] 
tmf: Save a snapshot of the state when doing a trim operation

A "statedump" consisting of a full query at the start of the trim
range is done for every single state-system-driven analysis of this
trace.

This will ensure that the new trimmed trace does not lose any kind
of state information that could be inferred from the previous
events of the original trace.

Change-Id: Ia60585eaa117d75d45cc576ed39646fa1d0f3ad0
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
6 years agoctf: Make CtfTmfTrace trimmable
Alexandre Montplaisir [Fri, 7 Jul 2017 20:58:57 +0000 (16:58 -0400)] 
ctf: Make CtfTmfTrace trimmable

Invoke Babeltrace 2, if it is available, to trim the trace to the time
range specified by the user. This will create and import a new, trimmed
trace, so that the original remains available.

Change-Id: Ia2413bb0c5c9e1d67e7b810ddaa17a177eb1d364
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
6 years agoss: Add class to serialize/deserialize a statedump
Alexandre Montplaisir [Fri, 7 Jul 2017 20:58:51 +0000 (16:58 -0400)] 
ss: Add class to serialize/deserialize a statedump

This will allow saving and restoring the equivalent of an
"ongoing state", to serve as a statedump for trimmed traces
for example.

Change-Id: I95581bfb746eb8579aaf669ca3dccd4663137d67
Signed-off-by: Philippe Proulx <pproulx@efficios.com>
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
6 years agotmf: Add Export Time Selection action and related interface
Alexandre Montplaisir [Fri, 7 Jul 2017 20:58:45 +0000 (16:58 -0400)] 
tmf: Add Export Time Selection action and related interface

Traces implementing the new ITmfTrimmableTrace interface should provide
the "Export Time Selection" action, which will prompt the user for a
directory, and trim the trace (using the current selected time range) and
save the new cut trace in said directory.

The implementation of the trim operation itself is trace-type specific.

Change-Id: I02440b49dc7b84465f4ce02ecacc2604bbb90946
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
6 years agotmf: Move HandlerUtils to TMF
Alexandre Montplaisir [Fri, 7 Jul 2017 20:58:40 +0000 (16:58 -0400)] 
tmf: Move HandlerUtils to TMF

This class in the LAMI plugins can actually be useful to all
handlers.

Change-Id: I019980ca92d00d6480afe9ef4a6c72a33cb91d33
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
6 years agoAdd missing @Override annotation
Alexandre Montplaisir [Fri, 7 Jul 2017 20:58:14 +0000 (16:58 -0400)] 
Add missing @Override annotation

Change-Id: I655bf34074f35050eac4387d5db4cca3d66a3b4c
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
7 years agoreleng: add checks to python scripts
Matthew Khouzam [Mon, 30 Jan 2017 19:29:35 +0000 (14:29 -0500)] 
releng: add checks to python scripts

This will helps the ux of the scripts.

Change-Id: Ifd5375f13328c415d406afbee4436b12c2563178
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/89899
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Reviewed-by: Hudson CI
7 years agotmf.xml: Fix XML analysis manager dialog
Jean-Christian Kouame [Fri, 4 Nov 2016 21:15:58 +0000 (17:15 -0400)] 
tmf.xml: Fix XML analysis manager dialog

The Edit button is now disable just after a delete file.

Change-Id: I8b1e6c0607d3049f5e4dac79f2232e9ec1d09f13
Signed-off-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/87178
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agocharts: Add units to numerical descriptors
Geneviève Bastien [Tue, 24 Jan 2017 18:36:30 +0000 (13:36 -0500)] 
charts: Add units to numerical descriptors

Like durations, any numerical descriptor could have units. Duration can
now inherit more of its parent behavior.

Change-Id: I151936bf5700dd6bb9b60b2d60a51350b5ec8083
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/89467
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agolami: bug 510984: allocate new formatter for each axis
Jonathan Rajotte [Tue, 24 Jan 2017 19:10:16 +0000 (14:10 -0500)] 
lami: bug 510984: allocate new formatter for each axis

When two axis show the same data type both have
the same formatter with the Y-axis internal and external ranges.

Allocate a new formatter each time with the corresponding internal and
external ranges.

Formatters are now immutable.

Change-Id: If01d5cb4f9a396fa37fad8295ad2a41cc6401e3c
Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Reviewed-on: https://git.eclipse.org/r/89465
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Reviewed-by: Hudson CI
7 years agocharts: Fix numerical data that can be null
Geneviève Bastien [Tue, 24 Jan 2017 18:34:54 +0000 (13:34 -0500)] 
charts: Fix numerical data that can be null

The numerical consumer assumed the data received could not be null, but
it can be null.

If the test predicate passes, null values are mapped to zero.

Change-Id: If819bf29044a207581b36be1d35e846948c20650
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/89466
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agocustom charts: Add unit tests for core classes
Geneviève Bastien [Thu, 5 Jan 2017 20:57:22 +0000 (15:57 -0500)] 
custom charts: Add unit tests for core classes

Change-Id: Ib5d4e40d031beb38f8bf4d543b3c1ca95a450eed
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/88122
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agocharts: Move a few classes from .ui to .core
Geneviève Bastien [Mon, 30 Jan 2017 16:14:01 +0000 (11:14 -0500)] 
charts: Move a few classes from .ui to .core

Some interfaces for the consumers and aggregators that were previously in
the .ui package can be moved to core as they do not depend on anything ui.
The data can be consumed in the core plugin and only displayed in the
.ui.

Change-Id: I50e2f73407bc912a6236df04012d7f9468945ea5
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/89881
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agolami: add toString method to lami aspects
Geneviève Bastien [Wed, 25 Jan 2017 16:55:14 +0000 (11:55 -0500)] 
lami: add toString method to lami aspects

This makes debugging the lami code much easier

Change-Id: I958a7f6594620802299862f5aa8d99a629d42075
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/89544
Reviewed-by: Hudson CI
Reviewed-by: Jonathan Rajotte Julien <jonathan.rajotte-julien@efficios.com>
7 years agocustom charts: Have chart data return a collection
Geneviève Bastien [Thu, 5 Jan 2017 20:56:21 +0000 (15:56 -0500)] 
custom charts: Have chart data return a collection

It is read-only, so returning a list does not make sense, it cannot be
modified anyway.

Change-Id: I458dcd83b60f9a2d7960746ff370dc63d94c0332
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/88121
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotmf.core: Add failure causes to analyses
Geneviève Bastien [Thu, 27 Oct 2016 16:45:25 +0000 (12:45 -0400)] 
tmf.core: Add failure causes to analyses

And state system analyses can fail when their event requests failed.

Change-Id: Id3bcaf88378cd16e8f0f7ac7aa4d2f0c7c574392
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/84037
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Hudson CI
7 years agotiming: Deprecate SegmentStoreStatistics
Geneviève Bastien [Tue, 17 Jan 2017 21:00:03 +0000 (16:00 -0500)] 
timing: Deprecate SegmentStoreStatistics

Change-Id: Ib2fbea317cfc8e561a524c56d03ab1eef54eedc1
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/88905
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotiming.ui: Update callgraph density viewer test to Statistics
Geneviève Bastien [Tue, 17 Jan 2017 20:59:18 +0000 (15:59 -0500)] 
timing.ui: Update callgraph density viewer test to Statistics

Change-Id: I564d48cbcd692c68e612f7872aa65f633bc07a4e
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/88904
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotiming: Update callgraph to use Statistics
Geneviève Bastien [Tue, 17 Jan 2017 20:47:19 +0000 (15:47 -0500)] 
timing: Update callgraph to use Statistics

The aggregated function statistics have one statistics object for
durations, one for self times.

Change-Id: I6f36f653bb082915d7cc7a03a09e9bcc4947aa48
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/88903
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotiming: ss statistics use the common statistics
Geneviève Bastien [Tue, 17 Jan 2017 16:39:19 +0000 (11:39 -0500)] 
timing: ss statistics use the common statistics

This patch has the SegmentStoreStatistics class use a Statistics object
instead of calculating the statistics themselves (it will later be
deprecated entirely, but there are too many things to fix for one patch)

It deprecates the methods of the AbstractSegmentStoreAnalysis that used
the SegmentStoreStatistics class.

It also deprecates the current abstract statistics view and viewer in
the UI and replaces them with one using the new statistics class.

Change-Id: Idfdeed3198d70d0eae7b75b90453f67ddb138809
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/88901
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotiming: Add/update some toString methods in callgraph
Geneviève Bastien [Tue, 17 Jan 2017 20:41:43 +0000 (15:41 -0500)] 
timing: Add/update some toString methods in callgraph

It makes it easier to debug the callgraph code without having to deeply
inspect each object.

Change-Id: I9c35d570e13f1d4b506df4d83450e83a1c1dfd64
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/88902
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agoswtbot: Fix time graph item bounds and menu detect event coordinates
Patrick Tasse [Tue, 20 Dec 2016 19:04:20 +0000 (14:04 -0500)] 
swtbot: Fix time graph item bounds and menu detect event coordinates

The method TimeGraphControl.getItemBounds(ITimeGraphEntry) should return
bounds relative to the item's parent, e.g. the time graph control, not
its parent.

The method SWTBotTimeGraphEntry.contextMenu(Control) should fire a
SWT.MenuDetect event where the coordinates are relative to the display.
The item should also be selected after firing the SWT.MenuDetect event
but before firing the SWT.Show menu event.

The method SWTBotTimeGraphEntry.select() should replace the selection
with the selected item, not add it to the selection. It should also fire
a SelectionEvent and a SelectionChangedEvent.

Change-Id: I5743af433c51b97255aafb0ce433d69069858e50
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/87498
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotmf: Add an XML trace stub with timestamps in seconds
Geneviève Bastien [Wed, 11 Jan 2017 21:43:37 +0000 (16:43 -0500)] 
tmf: Add an XML trace stub with timestamps in seconds

This trace takes exactly the same format as the original TmfXmlTraceStub, but
in this case, the timestamps are interpreted as seconds instead of nano.
This will allow to test analyses with various time units and make sure they
have the appropriate results.

Change-Id: I8cf90d39507cb0733872d8551e189b6ffa1103cc
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/88514
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotmf: Add lower bound on vertical zoom adjustment
Patrick Tasse [Thu, 19 Jan 2017 16:30:32 +0000 (11:30 -0500)] 
tmf: Add lower bound on vertical zoom adjustment

This prevents to zoom-out further when all items have the minimum
height, so that subsequent zoom-in has an immediate effect.

Change-Id: I2c8d2707862a9b7a45390b6d36b5897046e0b545
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/89129
Reviewed-by: Hudson CI
7 years agotmf: Fix zoom with mouse drag on time graph scale
Patrick Tasse [Fri, 13 Jan 2017 19:49:06 +0000 (14:49 -0500)] 
tmf: Fix zoom with mouse drag on time graph scale

The time graph scale no longer has a name space. It is now occupied by
the time graph viewer's tree header.

Change-Id: I3f28227b66b83510e871eaeaeac522f09e424d1e
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/88683
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agoreleng: Update staging target with Oxygen M4 sites
Bernd Hufmann [Fri, 20 Jan 2017 14:39:20 +0000 (09:39 -0500)] 
releng: Update staging target with Oxygen M4 sites

Change-Id: I76b222a9f504f1f23482501b1ee904bdb49141af
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/89249
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agoreleng: Update 4.6 target with Neon.2 sites
Bernd Hufmann [Fri, 20 Jan 2017 14:38:08 +0000 (09:38 -0500)] 
releng: Update 4.6 target with Neon.2 sites

Change-Id: I443893ab9f0c846486468360d354a6dee5f09a84
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/89248
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Marc-André Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-André Laperle <marc-andre.laperle@ericsson.com>
7 years agotiming: Extract statistics to a generic class
Geneviève Bastien [Mon, 16 Jan 2017 20:56:02 +0000 (15:56 -0500)] 
timing: Extract statistics to a generic class

These statistics receive any object in parameter and allow to specify a
function that returns the value of the object on which to do the stats.

Change-Id: I16fb1801dd8639fa8cd4da02c095163e53e6709b
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/88689
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Hudson CI
7 years agoss: Remove the synchronized from the full query
Geneviève Bastien [Wed, 14 Dec 2016 18:02:00 +0000 (13:02 -0500)] 
ss: Remove the synchronized from the full query

The full queries do not need to be synchronized. Only the transient state
does and it is.

Change-Id: I0f3b0327b0edb331f77b267a14cbbb02a83f120a
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/87150
Reviewed-by: Hudson CI
7 years agotmf: Fix some critical and major Sonar warnings
Patrick Tasse [Mon, 16 Jan 2017 22:34:49 +0000 (17:34 -0500)] 
tmf: Fix some critical and major Sonar warnings

Security - Array is stored directly
Naming - Suspicious constant field name
Performance - Should be a static inner class

Change-Id: Ifeed507f41dd40562a8863e2847bcd39e7c44c5c
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/88797
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Hudson CI
7 years agoanalysis: Fix concurrent data access violations
Patrick Tasse [Mon, 16 Jan 2017 22:39:29 +0000 (17:39 -0500)] 
analysis: Fix concurrent data access violations

Fixes CID 160189, 160190

Change-Id: I7046182081d2f754821c4938874f81d6efef870e
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/88800
Reviewed-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
7 years agotmf: Scale tree images in time graph
Patrick Tasse [Fri, 13 Jan 2017 21:37:17 +0000 (16:37 -0500)] 
tmf: Scale tree images in time graph

If the item height is smaller than the image height, scale the image.

Change-Id: I9393a7d0d7eebf28c30c4a51e271d7c6ea8e2216
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/88688
Reviewed-by: Hudson CI
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
7 years agotmf: Bug 509691: Changes to mutable trace context can be lost
Patrick Tasse [Fri, 23 Dec 2016 16:04:13 +0000 (11:04 -0500)] 
tmf: Bug 509691: Changes to mutable trace context can be lost

The method TmfTraceManager.updateTraceContext() is now used to apply all
changes to a trace context under synchronization of the trace manager.

Change-Id: Id8cecd92c7f7c4c7203d965ce7fb36a6fed74626
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/87711
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agoss.test: Fix nullness warnings
Matthew Khouzam [Fri, 13 Jan 2017 18:13:22 +0000 (13:13 -0500)] 
ss.test: Fix nullness warnings

Add a few @NonNull annotations to remove warnings on code that is never
null.

Change-Id: I92bf7e77fea99e465b31932d5eb2b1c1711233f6
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/88674
Reviewed-by: Hudson CI
Reviewed-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Tested-by: Alexandre Montplaisir <alexmonthy@efficios.com>
7 years agotmf: Update XML trace stub to use ns directly
Geneviève Bastien [Wed, 11 Jan 2017 21:34:52 +0000 (16:34 -0500)] 
tmf: Update XML trace stub to use ns directly

Now that custom parsers support nanoseconds timestamps, the custom XML trace
stub does not need to convert the timestamps to nanoseconds anymore, it can
be defined directly in the XML trace definition.

Change-Id: I2791b350c303bb82df9f83f0cabbb663e1166a75
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/88513
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotmf: Deprecate TimeGraphCombo and support columns in TimeGraphViewer
Patrick Tasse [Mon, 24 Oct 2016 14:18:13 +0000 (10:18 -0400)] 
tmf: Deprecate TimeGraphCombo and support columns in TimeGraphViewer

The class TimeGraphCombo is deprecated and AbstractTimeGraphView method
getTimeGraphCombo() is deprecated and returns null.

The TimeGraphViewer supports columns and label provider with new methods
setTimeGraphLabelProvider(), setColumns(String[]), setWeights(int[]) and
getTree(). The tree contains no tree items and is only used to show
column headers and allow for column handling.

If no column names are specified, a single nameless column is used.

If no label provider is specified, the time graph entry's name and the
time graph presentation provider's item image is shown in the first
column.

The TimeGraphViewer is made to extend the Viewer class.

The TimeGraphControl supports auto resize of columns to grow columns at
the item text's preferred width. Auto resize turns off automatically the
first time that a user resizes a column to be narrower than its
preferred width.

The tree expand and collapse controls are changed to be triangle widgets
that are bound in size by the item's height.

The name space split line is made easier to hover with the mouse.
Double-clicking it snaps the name space to the right of the last visible
column text's preferred width. The split line can now be dragged even if
the viewer has no input model.

The TimeGraphControl methods getTree(), getLabelProvider() and
getItemBounds(ITimeGraphEntry) are added to help with UI testing.

Change-Id: I1061371b083499298da4f7c5640929e63ed651db
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/84135
Reviewed-by: Hudson CI
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agoreleng: Update maven plugins version
Jean-Christian Kouame [Thu, 12 Jan 2017 18:57:02 +0000 (13:57 -0500)] 
releng: Update maven plugins version

Change-Id: I4b3c4598490ddf508051fc3e7b55185e581c385e
Signed-off-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/88588
Reviewed-by: Hudson CI
Reviewed-by: Marc-André Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-André Laperle <marc-andre.laperle@ericsson.com>
7 years agocommon.core: clean up ProcessUtils a bit
Matthew Khouzam [Tue, 10 Jan 2017 19:26:59 +0000 (14:26 -0500)] 
common.core: clean up ProcessUtils a bit

While the code does work, it has some issues that could potentially be
problems with the code if not used in the way it should.

* Extract magic number to constants

This is simple, it makes modifying the behaviour easier.

* Explicitly fill code blocks for catch blocks

Improve code readability. It makes it clear that it is intentional.

* Remove redundant modifier on interfaces

An interface is always static, there is no need to add the keyword
"static" to it.

* Add charsets to inputstream

This explicitly expects the default encoding (UTF8). However, this is
not the ideal solution, it would be much better, later to have an
interface with the charset passed in it. It can be used if we want to
launch a process in another machine.

Change-Id: I5ef919e724dc28d9e73c5276811af88b4de12f67
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/88407
Reviewed-by: Hudson CI
Reviewed-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Tested-by: Alexandre Montplaisir <alexmonthy@efficios.com>
7 years agotmf: Bug 510144: IndexOutOfBoundsException in CallStackView
Patrick Tasse [Mon, 9 Jan 2017 21:41:02 +0000 (16:41 -0500)] 
tmf: Bug 510144: IndexOutOfBoundsException in CallStackView

Get the quarks list before doing the full query, and when accessing the
full query result later, do a bounds check and redo the full query if
necessary.

Change-Id: Ica9ab6d414fb2286ad41deceff0b2be911be64d9
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/88304
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Hudson CI
Reviewed-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agoss: Move the safe byte buffer to datastore plugin
Geneviève Bastien [Fri, 25 Nov 2016 20:07:54 +0000 (15:07 -0500)] 
ss: Move the safe byte buffer to datastore plugin

The unit tests also moved

Change-Id: I9118cb56bad032ce61065a5a81513c03a47fcc84
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/85799
Reviewed-by: Hudson CI
Reviewed-by: Alexandre Montplaisir <alexmonthy@efficios.com>
7 years agoss: Change datastore.tests to a fragment plug-in
Alexandre Montplaisir [Wed, 14 Dec 2016 19:24:57 +0000 (14:24 -0500)] 
ss: Change datastore.tests to a fragment plug-in

This will allow us to use the same package names in the test
classes as the runtime ones. That way tests will have access
to package-visible (default visibility methods).

This will remove the need of having tons of public methods just
for testing. Default-visibility methods (or even protected, where
needed) are arguably much safer, and won't risk confusing future
clients.

Change-Id: I0393ac9103f94afcb9a818cbe2e7c8dfcadcac18
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/87163
Reviewed-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
7 years agotmf: Bug 509613: Trace Manager loses Linux trace context data
Patrick Tasse [Wed, 21 Dec 2016 20:40:24 +0000 (15:40 -0500)] 
tmf: Bug 509613: Trace Manager loses Linux trace context data

The trace context classes are updated to provide a builder that can be
extended and that is used to create a duplicate of a trace context with
some data that can be modified.

Change-Id: Icd3de5891cb37976795f485c837ac2e0e66f5501
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/87588
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agodoc: Add futex analysis user guide
Jean-Christian Kouame [Mon, 19 Dec 2016 16:10:48 +0000 (11:10 -0500)] 
doc: Add futex analysis user guide

Add the futex doc and update the name of associated timegraph views.

Change-Id: Ia94940935d8516a1ff5a8e35bb5c283cb26d5a69
Signed-off-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/87448
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotmf: Fix concurrent data access violations
Patrick Tasse [Mon, 12 Dec 2016 22:10:03 +0000 (17:10 -0500)] 
tmf: Fix concurrent data access violations

Fixes CID 157631, 157632, 157633, 157634, 157635, 157636.

Change-Id: I04ef3f396ce8fcf68b18e384cbde296434640daa
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/86996
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Hudson CI
7 years agotmf: Fix remaining TmfSignalManager leaking listeners
Patrick Tasse [Thu, 15 Dec 2016 18:00:15 +0000 (13:00 -0500)] 
tmf: Fix remaining TmfSignalManager leaking listeners

Change-Id: Ie85771e159ae0ff7bfc23047c5d76915dc3999f3
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/87263
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotmf.ui: replace size()==0 with isEmpty()
Matthew Khouzam [Mon, 19 Dec 2016 15:13:46 +0000 (10:13 -0500)] 
tmf.ui: replace size()==0 with isEmpty()

Changes CustomTxtParserInputWizardPage to better handle checks. Size is
not guaranteed to be O(1) whereas isEmpty() is.

Change-Id: I5646fa6fd019bcfb14697d748170462c38fd099b
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/87412
Reviewed-by: Marc-André Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-André Laperle <marc-andre.laperle@ericsson.com>
Reviewed-by: Hudson CI
7 years agotmf: Fix unresponsive UI when mouse wheel zooming in TimeGraphViewer
Patrick Tasse [Thu, 15 Dec 2016 15:30:15 +0000 (10:30 -0500)] 
tmf: Fix unresponsive UI when mouse wheel zooming in TimeGraphViewer

When developing the time graph marker axis, it was noticed under Windows
that there was a delay in painting the marker axis when compared to the
time graph state area. It seems that if a new redraw request occurs
while the time graph state area is being painted, the following control
in the draw order (the marker axis) is not painted before until the next
paint event. The visual effect is that the time graph state area follows
the user input while the marker axis does not update until the user
input stops.

The solution found was to call Control.update() on those parts, which
would block the UI thread until all parts have been painted.

However, under Linux this can cause pending user inputs to be queued.
While the time graph is painting, rapid mouse wheel scrolling queues
many MouseEvent that each individually trigger blocking paint events.
This also prevents many mouse wheel scroll events to eventually combine
into triggering a single paint event. After quickly scrolling the mouse
wheel many times then stopping, the user can see the queued events
triggering a multitude of paint events that can last a few seconds even
while there is no user input. Any new user input needs to wait for all
the queued paint events to be completed before being processed.

The blocking calls to update() are therefore removed. This can cause a
temporary visual misalignment under Windows, but this effect is much
less noticeable under Linux.

Change-Id: I12d3d17eff0d8a443822083e0aa2113c3b23fedc
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/87246
Reviewed-by: Hudson CI
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
7 years agotmf.xml: Fix xml timegraph resolution
Jean-Christian Kouame [Fri, 16 Dec 2016 21:03:26 +0000 (16:03 -0500)] 
tmf.xml: Fix xml timegraph resolution

When the window range is less than the display width, the resolution was
then equal to 0. The time event was not shown until the user change the
zoom level. Now we set the resolution value to 1 instead of 0.

Change-Id: I4f0ae39576c452f0bdfbaf23b836f3af758f0b91
Signed-off-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/87339
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotmf.xml: Add SWTBot XML timegraph view test
Jean-Christian Kouame [Fri, 16 Dec 2016 21:04:59 +0000 (16:04 -0500)] 
tmf.xml: Add SWTBot XML timegraph view test

This test the loading and and viewing of xml trace. An
Xml view is created then validated.

Change-Id: I908771685129942eb044a2dbb497e377180a202e
Signed-off-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com>
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/87340
Reviewed-by: Hudson CI
7 years agolinux.swtbot: add KernelMemoryUsage SWTBot test
Matthew Khouzam [Thu, 15 Dec 2016 04:07:32 +0000 (23:07 -0500)] 
linux.swtbot: add KernelMemoryUsage SWTBot test

This test will make sure range selection and the data chart
have sane values.

Change-Id: I69f348d49164991a1466a63ef4c2d536371171e4
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/87193
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Reviewed-by: Hudson CI
7 years agolinux.core: fix memory allocation issue.
Matthew Khouzam [Wed, 14 Dec 2016 22:07:03 +0000 (17:07 -0500)] 
linux.core: fix memory allocation issue.

The order field in page alloc/free say how many pages are allocated.
It was ignored, which gave false totals.

It is artificially limited to 2^62 page size, as larger would garanty
an overflow.

With this patch, memory overflows can occur much faster, but only on
systems which trace or report over Long.MAX_VALUE memory.

Change-Id: I5c805115cb3aaa5c6bc6146a6dc0db20f11854ef
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/87181
Reviewed-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
7 years agotmf.ui: bug 503678 The ss explorer should not execute analyses
Geneviève Bastien [Tue, 4 Oct 2016 19:46:53 +0000 (15:46 -0400)] 
tmf.ui: bug 503678 The ss explorer should not execute analyses

And because the state system does not execute the analyses, the state
systems may not exist when the tree is built. The hierarchy is thus
changed so that the analyses themselves appear as top-level items and
their children are the state system. This way, if the state system did
not exist at first and appears later, it will show when the view
refreshes (without having to refresh the whole view).

Change-Id: Icc750abcdfb27d74d486b9fdcf8b3e910310684f
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/83811
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotmf: Simplify boolean expression in handleEvent()
Sonia Farrah [Wed, 4 May 2016 21:37:49 +0000 (17:37 -0400)] 
tmf: Simplify boolean expression in handleEvent()

Change-Id: I59f992cf166050f80d8db50c2740596fc3135ff1
Signed-off-by: Sonia Farrah <sonia.farrah@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/72105
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Marc-André Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-André Laperle <marc-andre.laperle@ericsson.com>
7 years agolinux.core: add Order to fields of Kernel Analysis Event layout
Matthew Khouzam [Wed, 14 Dec 2016 21:30:06 +0000 (16:30 -0500)] 
linux.core: add Order to fields of Kernel Analysis Event layout

This will allow getting the number of pages allocated.

Change-Id: I16a0aa00cb4b32f83c964cecc9543d2e0add4e85
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/87180
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Reviewed-by: Hudson CI
7 years agotmf.ui: add FIXME to TmfSymbolProviderUpdatedSignal
Matthew Khouzam [Tue, 8 Nov 2016 21:26:45 +0000 (16:26 -0500)] 
tmf.ui: add FIXME to TmfSymbolProviderUpdatedSignal

Change-Id: I97672005feee87627f5613526176169eb7231b6b
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/84703
Reviewed-by: Hudson CI
Reviewed-by: Marc-André Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-André Laperle <marc-andre.laperle@ericsson.com>
7 years agolttng.swtbot: add state system explorer SWTBot test
Matthew Khouzam [Wed, 9 Nov 2016 04:29:06 +0000 (23:29 -0500)] 
lttng.swtbot: add state system explorer SWTBot test

This test runs three passes, opens the view, re-opens the view
then re-opens the trace.

Future tests can look at the content of the state system. This
test enumerates the state systems available.

Change-Id: I3136bb4bfc802d958d63981d7ca358f44248f0be
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/84711
Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-by: Hudson CI
7 years agotmf.ui: Avoid creating two Files for an archive import
Matthew Khouzam [Thu, 15 Dec 2016 15:50:20 +0000 (10:50 -0500)] 
tmf.ui: Avoid creating two Files for an archive import

Change-Id: I2f74d283d07da528101b3e44715afe6b2dc35971
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/87248
Reviewed-by: Hudson CI
Reviewed-by: Marc-André Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-André Laperle <marc-andre.laperle@ericsson.com>
7 years agotmf.ui: Gracefully handle invalid tar import operations
Matthew Khouzam [Thu, 15 Dec 2016 15:46:31 +0000 (10:46 -0500)] 
tmf.ui: Gracefully handle invalid tar import operations

A tar.gz file may have an invalid tar file in the gzip. The
getNextEntry would return null in such a case. This performs
that null check in order to validate the tar and avoid a user-
facing NPE.

Change-Id: I28ae7c787d77a0f1c9136264cfc678d7e52cda1a
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/87247
Reviewed-by: Hudson CI
Reviewed-by: Marc-André Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-André Laperle <marc-andre.laperle@ericsson.com>
7 years agotmf: Replace Array Loops to copy arrays with System.ArrayCopy
Sonia Farrah [Tue, 3 May 2016 18:53:42 +0000 (14:53 -0400)] 
tmf: Replace Array Loops to copy arrays with System.ArrayCopy

This yields a performance improvement as well as an increase
in legibility.

Change-Id: Ia7be6a54476a8263d8b5e99f203d7fc3cf374a1d
Signed-off-by: Sonia Farrah <sonia.farrah@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/71939
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agoss: replace a for loop with a foreach operation
Matthew Khouzam [Thu, 1 Dec 2016 18:24:40 +0000 (13:24 -0500)] 
ss: replace a for loop with a foreach operation

And extract a constant

Change-Id: If4e65223ed4e9ce617eb9da3023db0294ede151e
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/86172
Reviewed-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-by: Hudson CI
Tested-by: Marc-André Laperle <marc-andre.laperle@ericsson.com>
7 years agotmf.ui: fix state system explorer ID
Matthew Khouzam [Wed, 14 Dec 2016 21:11:44 +0000 (16:11 -0500)] 
tmf.ui: fix state system explorer ID

It now matches the plugin.xml's ID

Change-Id: I56d99447c9bd41ed10cfdf41aa285f33647f1236
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/87179
Reviewed-by: Hudson CI
Reviewed-by: Marc-André Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-André Laperle <marc-andre.laperle@ericsson.com>
7 years agoss: remove linear component from node search.
Loïc Prieur-Drevon [Fri, 9 Dec 2016 18:34:04 +0000 (13:34 -0500)] 
ss: remove linear component from node search.

Before, nodes had their intervals only sorted by end times,
which meant finding the first interval which started later
than time t implied a binary search for any interval ending
at time t, then a linear iteration to the first interval
ending before (inclusively) t.
We remove this component by ordering intervals by end times
then by start times, so that the binary search can directly
return the first interval ending before (inclusively) t.

Change-Id: I3e4fd02880d56360fc082023c08b92f8a6e4350e
Signed-off-by: Loïc Prieur-Drevon <loic.prieurdrevon@gmail.com>
Reviewed-on: https://git.eclipse.org/r/86865
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Hudson CI
Reviewed-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Tested-by: Alexandre Montplaisir <alexmonthy@efficios.com>
7 years agokernel.swtbot: test resources view filters
Matthew Khouzam [Fri, 11 Nov 2016 02:26:22 +0000 (21:26 -0500)] 
kernel.swtbot: test resources view filters

This tests the filter functionalities of the resources view.

Change-Id: Ifdf76ab29e843e1b8d91d6483373abf86e8763b7
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/84849
Reviewed-by: Hudson CI
Reviewed-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com>
Tested-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com>
7 years agoust: Add swtbot for callstack view responsiveness
Geneviève Bastien [Thu, 1 Sep 2016 20:12:31 +0000 (16:12 -0400)] 
ust: Add swtbot for callstack view responsiveness

This swtbot test navigates a trace with the callstack view opened. This
test is not meant to be run in the performance test suite, but enabling
JUL logging with it allows to have a reproducible series of UI operations
and analyze its output.

Change-Id: If4081a4581bb1c774c3643fc0bb0dd418c421379
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/80258
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotmf.ui: fix Bug 479996 infinite loop
Loïc Prieur-Drevon [Wed, 7 Dec 2016 17:38:22 +0000 (12:38 -0500)] 
tmf.ui: fix Bug 479996 infinite loop

Opening an empty trace called queryFullStates an infinite number
of times resulting in OOM. Checking the arguments will avoid
this.

Bug 479996

Change-Id: I0ac29da7a883d154fffb5c4d24aa50db32796a6f
Signed-off-by: Loïc Prieur-Drevon <loic.prieurdrevon@gmail.com>
Reviewed-on: https://git.eclipse.org/r/86862
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
7 years agoUpdate Oomph setup with latest API baseline
Marc-Andre Laperle [Tue, 13 Dec 2016 16:07:22 +0000 (11:07 -0500)] 
Update Oomph setup with latest API baseline

Change-Id: Ic9e42bb1730464a7367636310b46beabdcfc0be9
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/87063

7 years agoxml: support any aspects to be used in XML analysis
Bernd Hufmann [Tue, 29 Nov 2016 22:36:11 +0000 (23:36 +0100)] 
xml: support any aspects to be used in XML analysis

Some traces have aspects to show special data in a column. With this
commit it is possible to use any aspect in the XML anlysis.

Change-Id: I9dedc910e9465ac94f82912dc9095e9d315b0882
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/86002
Reviewed-by: Hudson CI
Tested-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com>
Reviewed-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com>
7 years agoBump versions for 2.3.0 release
Marc-Andre Laperle [Thu, 8 Dec 2016 15:34:52 +0000 (10:34 -0500)] 
Bump versions for 2.3.0 release

Change-Id: I78996a7b4dd3b1fd8fea308163f3ac1fb008e153
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/86733
Reviewed-by: Hudson CI
Reviewed-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Tested-by: Alexandre Montplaisir <alexmonthy@efficios.com>
7 years agoreleng: Add 2.2.0 baseline and fix API errors
Marc-Andre Laperle [Thu, 8 Dec 2016 15:33:36 +0000 (10:33 -0500)] 
releng: Add 2.2.0 baseline and fix API errors

Change-Id: Ibd9762699e2bd4616c34d6641d678f89eafafb65
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/86730
Reviewed-by: Hudson CI
Reviewed-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Tested-by: Alexandre Montplaisir <alexmonthy@efficios.com>
7 years agocommon: Add a ProcessUtils for external process launching
Alexandre Montplaisir [Tue, 25 Oct 2016 00:32:36 +0000 (20:32 -0400)] 
common: Add a ProcessUtils for external process launching

Consolidate the existing external-process-launching utility
methods into a new common class. Right now this includes the
FileOffsetMapper, which calls addr2line for debug-info symbol
resolution, as well as the LamiAnalysis class which calls
the LAMI analysis scripts.

Bug: 508406

Change-Id: I685fb461a93cd6726575b5df771233f37e423e5f
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/85973
Reviewed-by: Hudson CI
7 years agotest: Make CtfTmfTrace stubs of the right class
Patrick Tasse [Fri, 2 Dec 2016 22:40:53 +0000 (17:40 -0500)] 
test: Make CtfTmfTrace stubs of the right class

Kernel and UST traces created with CtfTestTraceUtils were not of the
right type, which prevented the corresponding analyses to execute.

Add LttngKernelTestTraceUtils and LttngUstTestTraceUtils which create
similar stubs of the right type (LttngKernelTrace and LttngUstTrace).

Change-Id: I8a873b5ff7c558f68ffbc3141c66b8a35e6053c1
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/86297
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotmf: Fix TmfSignalManager leaking listeners
Patrick Tasse [Wed, 30 Nov 2016 22:57:23 +0000 (17:57 -0500)] 
tmf: Fix TmfSignalManager leaking listeners

Change-Id: I28c23d2cf88a4280d2b81fd463a4c5fac6af5143
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/86107
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotmf.core: add resource leak detector
Matthew Khouzam [Thu, 27 Oct 2016 15:36:50 +0000 (11:36 -0400)] 
tmf.core: add resource leak detector

If the signal manager is disposed, it should be empty. Anything still
there is a resource leak.

The output looks like this:

Resource leak: org.eclipse.tracecompass(...) was not deregistered.
org.eclipse.tracecompass.tmf.c(...)TmfSignalManager.java:77)
        (...)

Change-Id: Ie3950604b743423d2f7e136def5e7ef7077f629d
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/84030
Reviewed-by: Hudson CI
Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
7 years agosegstore: Add assert on item count for iteration benchmarks
Geneviève Bastien [Thu, 24 Nov 2016 20:53:26 +0000 (15:53 -0500)] 
segstore: Add assert on item count for iteration benchmarks

This patch adds asserts on the item count when iterating the segment
store in the benchmark. It makes sure that all iterations actually
iterate over all the elements of the segment and does not give a false
impression of performance if there is a bug in the iterator.

Also remove the System.gc() that are not useful to the test

Change-Id: I87acbb264703f06a166239655f3911697c17126e
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/85724
Reviewed-by: Hudson CI
Reviewed-by: Alexandre Montplaisir <alexmonthy@efficios.com>
7 years agotmf: Add missing icons in XML analysis
Marc-Andre Laperle [Wed, 7 Dec 2016 04:47:07 +0000 (23:47 -0500)] 
tmf: Add missing icons in XML analysis

Change-Id: I6fd068cb5214a4f482f78e934de007dd334fcd2f
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/86561
Reviewed-by: Hudson CI
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
7 years agoos.linux: Manage sched_waking events
Alexandre Montplaisir [Thu, 1 Dec 2016 21:28:42 +0000 (16:28 -0500)] 
os.linux: Manage sched_waking events

LTTng 2.8 (and kernels around that time) introduced the
sched_waking event. This event has the same fields as the
sched_wakeup one, and should cause the same state changes.

Since the linux-generic KernelStateProvider has no knowledge
of specific LTTng event layouts, we have to bring this
definition up into the base interface. Older traces simply
won't have any of these events.

Change-Id: Idf9eaf1ecba0346b22283adfbe71ad56d52b045f
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/85804
Reviewed-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
7 years agotmf.ui: use binary search when adding child to TimeGraphEntry
Loïc Prieur-Drevon [Wed, 30 Nov 2016 07:21:32 +0000 (02:21 -0500)] 
tmf.ui: use binary search when adding child to TimeGraphEntry

This brings the search time complexity to O(log(n)) down from
O(n).

Change-Id: I5b97c0f341bfe712d1bb8f9fd95cffc9ccd8686c
Signed-off-by: Loïc Prieur-Drevon <loic.prieurdrevon@gmail.com>
Reviewed-on: https://git.eclipse.org/r/86000
Reviewed-by: Hudson CI
Reviewed-by: Jonathan Rajotte Julien <jonathan.rajotte-julien@efficios.com>
Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
7 years agotmf.swtbot: Stabilize and enhance TestImportExportPackageWizard
Matthew Khouzam [Thu, 17 Nov 2016 03:26:25 +0000 (22:26 -0500)] 
tmf.swtbot: Stabilize and enhance TestImportExportPackageWizard

The test would fail if ran 1000 times in a row. File#createTempFile
appears to be the culprit.

Remove a useless "waitForJobs()" should accelerate by 500ms.

Add tests of the output size, removes two manual tests from Trace
Compass test spec.

Change-Id: Ia8bc3a517752a121874cd559d192fa0378221716
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/85191
Reviewed-by: Hudson CI
7 years agocommon: Fix @since tags in DecimalUnitFormat and DataSizeWithUnitFormat
Patrick Tasse [Sat, 3 Dec 2016 13:40:05 +0000 (08:40 -0500)] 
common: Fix @since tags in DecimalUnitFormat and DataSizeWithUnitFormat

Change-Id: I7bb99c6f966cdd4e66138c71e0806f8caf9e68ea
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/86303
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agocommon: Support parsing in DataSizeWithUnitFormat
Patrick Tasse [Thu, 1 Dec 2016 22:45:23 +0000 (17:45 -0500)] 
common: Support parsing in DataSizeWithUnitFormat

This allows parsing strings which represent a number with an optional
unit and binary prefix, such as "1 kB" (1024), "8 B" (8), "1.5M"
(1572864), "10 Gb" (10737418240), etc.

Change-Id: Iaaa222fb57b930f54ca9f0961b8240fe7b8e02ef
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/86185
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agocommon: Support parsing in DecimalUnitFormat
Patrick Tasse [Wed, 30 Nov 2016 20:27:51 +0000 (15:27 -0500)] 
common: Support parsing in DecimalUnitFormat

This allows parsing strings which represent a number with an optional
unit and SI-prefix, such as "1.2 kb" (1200), "1.2" (1.2), "1.2 m"
(0.0012), "12 ns" (0.000000012), etc.

Change-Id: Icd00870903bd22da6d322237ab1302276072217a
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/86097
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agocommon: Add StreamUtils method to wrap an Iterator into a Stream
Alexandre Montplaisir [Tue, 29 Nov 2016 21:55:46 +0000 (16:55 -0500)] 
common: Add StreamUtils method to wrap an Iterator into a Stream

Change-Id: Ib3027589bdfe4b328596dabdd572e77ca434dd68
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/85990
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotmf: Add extension point to add custom trace types to plugins
Marc-Andre Laperle [Sun, 27 Nov 2016 00:54:51 +0000 (01:54 +0100)] 
tmf: Add extension point to add custom trace types to plugins

This new extension point is used to contribute custom Text or XML
trace types so that they are available automatically without the need
to be imported by the user manually.

Change-Id: Iff481d659626a8ed8d756d333ec6a240b4316b49
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/85831
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Reviewed-by: Hudson CI
7 years agoss: Change getIteratorOverQuark to a public class
Loïc Prieur-Drevon [Wed, 30 Nov 2016 18:53:24 +0000 (13:53 -0500)] 
ss: Change getIteratorOverQuark to a public class

This patch allows iteration to go backwards and forwards,
introduces a unit test and uses the new iterator for:
KernelThreadInformationProvider.getExecutableName

Change-Id: I41f35e30bd1984662f55b8809e2497a6c19d5468
Signed-off-by: Loïc Prieur-Drevon <loic.prieurdrevon@gmail.com>
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/85798
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Reviewed-by: Hudson CI
7 years agoanalysis.lami: Fix internal signaling with several views on the same report
Jonathan Rajotte [Wed, 30 Nov 2016 21:03:58 +0000 (16:03 -0500)] 
analysis.lami: Fix internal signaling with several views on the same report

Use the parent LAMI tab page instance as the key for internal signaling.

The signal key is designed to restrict the signal to interested objects.
It was based on the hash of the immutable fResultTable field. Since for multiple
view of the same report the fResultTable is the same object, signals were
processed by objects that were not concerned. Using the result table
instance/hash as a key is not sufficient.

Bug: 495322

Change-Id: Ifba2056b10cd254d1a8c6c030c4b7263463ac834
Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/86103
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agocommon: Annotate java.util.Iterator
Alexandre Montplaisir [Wed, 23 Nov 2016 20:23:49 +0000 (15:23 -0500)] 
common: Annotate java.util.Iterator

Just add an annotation to forEachRemaining(). The goal is to have
_some_ annotation in there so that the next() method makes use
of the declared type, and we don't get the "this type doesn't
seem designed with null annotations in mind" warning.

Change-Id: Idbd8b9e6e62ddd876f390280edb3d2b46d264602
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/85622
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotmf.core: Add unit tests for state system re-read
Geneviève Bastien [Thu, 27 Oct 2016 16:28:02 +0000 (12:28 -0400)] 
tmf.core: Add unit tests for state system re-read

This adds a unit test for a state system with full backend where the
results are re-read from a previously existing file.

Change-Id: Iab5fab6c6282f2411d2e4a0d3b0da3824653cb36
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/84036
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotmf.core: Throw exception when no state system assigned
Geneviève Bastien [Thu, 27 Oct 2016 16:26:23 +0000 (12:26 -0400)] 
tmf.core: Throw exception when no state system assigned

Instead of just logging an error that will happen for each event and
willl be very verbose, it should throw an exception.

Change-Id: Iaedcf461ffa5e8d9ac8abd4f11e98e9f70f6259e
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/84035
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotmf.ctf: Delete supplementary files after tests
Geneviève Bastien [Thu, 27 Oct 2016 16:24:27 +0000 (12:24 -0400)] 
tmf.ctf: Delete supplementary files after tests

This way, each test has a reproducible state: without supplementary
file, otherwise some tests were using the supplementary files from
previous runs. It found bugs in other patches, but they were not related
to this.

Change-Id: I92cabd22d2193e1cd0fe43ce1f32be0e05b9fd20
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/84034
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
This page took 0.047003 seconds and 5 git commands to generate.