deliverable/tracecompass.git
7 years agoss: Improve attribute tree encoding to disk
Loïc Prieur-Drevon [Fri, 6 May 2016 20:16:03 +0000 (16:16 -0400)] 
ss: Improve attribute tree encoding to disk

The attribute tree used to be encoded as a list of full attribute
paths.

This patch improves the encoding by replacing common subpaths from
one attribute to the next by "*".

For example, if the previous attribute was "Threads/42/Status", and the
current attribute is "Threads/42/Prio", we encode the current
attribute as "*/*/Prio".

On common Kernel Analysis State Systems, the Attribute Tree is 1 MiB
per 50k attributes, with this patch the Attribute Tree size on disk
is reduced by 75%.

Change-Id: I53b119eba760c10b720e9a3c173ed2996c02c2a2
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/72213
Reviewed-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
7 years agoreleng: Update outdated Maven plugins
Marc-Andre Laperle [Mon, 25 Jul 2016 04:34:26 +0000 (00:34 -0400)] 
releng: Update outdated Maven plugins

Change-Id: Ibe9af7134d99c788e9466371714c2650ddded277
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/77825
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 agotiming: show callStack segments in a density view
Sonia Farrah [Thu, 30 Jun 2016 15:25:56 +0000 (11:25 -0400)] 
timing: show callStack segments in a density view

This creates a segment store for the callstack view and populates it.
Then the segments are used to fill a density view.

The segments are special segments with links to their children. This
effectively is a callgraph that can then be used for other analyses.

Examples of these analyses are:

* Flame graphs
* Tree maps
* Caller trees
* Call statistcs

These views will allow trace compass to work better as a profiler
on an application level.

Change-Id: I0a1e8eda192e0646dd02bc4134c672a392231208
Signed-off-by: Sonia Farrah <sonia.farrah@ericsson.com>
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/76369
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Reviewed-by: Hudson CI
7 years agoss: Use a factory to create SHTs
Geneviève Bastien [Mon, 11 Jul 2016 01:31:07 +0000 (21:31 -0400)] 
ss: Use a factory to create SHTs

This is a first step to allow different history tree types to coexist in this
plugin.

Change-Id: I411d2a1a6de06258d98090ce418eeb24e80303a1
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/77006
Reviewed-by: Hudson CI
7 years agoss: Add a unit tests for history tree integrity check
Geneviève Bastien [Mon, 18 Apr 2016 16:25:31 +0000 (12:25 -0400)] 
ss: Add a unit tests for history tree integrity check

Change-Id: I38f18b243925a711a472636daf78e16f965c4588
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/70891
Reviewed-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Tested-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-by: Hudson CI
7 years agoss: Mark HistoryTreeBackend#getSHT() to be @NonNull
Alexandre Montplaisir [Thu, 21 Jul 2016 20:43:29 +0000 (16:43 -0400)] 
ss: Mark HistoryTreeBackend#getSHT() to be @NonNull

Was already taken for granted, just not explicitly annotated.

Change-Id: Ib0ea170583da6a08c8c27d9cfae327735341117c
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/77728
Reviewed-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
7 years agoctf: Add a constant to get the currently selected field for variant types
Geneviève Bastien [Tue, 12 Jul 2016 19:47:28 +0000 (15:47 -0400)] 
ctf: Add a constant to get the currently selected field for variant types

Variants typically have only 1 struct fields per choice and its name is the
tag. Many possible choices may have the same fields in the struct so it should
be possible to use one lookup to check in every possible choice. This patch
adds a constant to use to get the currently selected field no matter its name.

Use case for this: network packets in LTTng traces have a network_header
variant field that contains a transport_header variant field. But the various
network_header choices have the same transport_header field. We want to be
able to query the { network_header, ANY, transport_header } field and not, as
previously { network_header, ipv4, transport_header } or { network_header,
ipv6, transport_header }.

Change-Id: I74b1e0494a43eae9a9f91dca575d5419f3907168
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/77172
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Hudson CI
7 years agotmf.core/ui: Introduce CallStackAnalysis
Matthew Khouzam [Wed, 20 Jul 2016 23:54:19 +0000 (19:54 -0400)] 
tmf.core/ui: Introduce CallStackAnalysis

This class moves the core of the call stack to tmf.core. It
decouples core logic from UI.

Change-Id: I3d393a9663a4d79817d1867f4759bdb1df2ccfed
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/77643
Reviewed-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
7 years agotmf: Remove ITmfCallsite from ISymbolProvider
Alexandre Montplaisir [Mon, 18 Jul 2016 19:02:36 +0000 (15:02 -0400)] 
tmf: Remove ITmfCallsite from ISymbolProvider

We should let ISymbolProvider focus on function/symbol names,
and use a separate interface for source code locations.

Change-Id: Iab4bbe0945f8ab1f633eadb862885a86dccde708
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/77553
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotmf.xml: Use LinkedHashMap instead of HashMap
Jean-Christian Kouame [Wed, 13 Jul 2016 17:50:03 +0000 (13:50 -0400)] 
tmf.xml: Use LinkedHashMap instead of HashMap

The order in which the FSM are declared in the XML is important. Here,
we use a LinkedHashMap instead of a HashMap to conserve this order when
iterating through the FSMs.

Change-Id: I68837e8f8296741f20d1271d92c43b03ef90c986
Signed-off-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/77273
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Reviewed-by: Hudson CI
7 years agotmf.xml: Fix validate event in TmfXmlBasicTransition
Jean-Christian Kouame [Wed, 13 Jul 2016 17:44:54 +0000 (13:44 -0400)] 
tmf.xml: Fix validate event in TmfXmlBasicTransition

Previously, if the user do not specify an event in a transition, the
validation always yields false, which is not true. This patch returns
true instead.

Change-Id: I2ec0afb344c3e4fb51366168cca8ebac6c7cb30f
Signed-off-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/77272
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Reviewed-by: Hudson CI
7 years agodoc: Add user documentation for JUL logging
Geneviève Bastien [Tue, 12 Jul 2016 21:23:46 +0000 (17:23 -0400)] 
doc: Add user documentation for JUL logging

Change-Id: I44118045ba1bee20f2a0d9964130caf07688e1fd
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/77183
Reviewed-by: Hudson CI
Reviewed-by: Alexandre Montplaisir <alexmonthy@efficios.com>
7 years agotmf: Support default timestamp output format in custom parsers
Patrick Tasse [Mon, 18 Jul 2016 19:26:57 +0000 (15:26 -0400)] 
tmf: Support default timestamp output format in custom parsers

The timestamp output format can now be left blank to use the default
Time Format preference. In that case the Timestamp base aspect will be
used.

When the default format is used, the Timestamp is no longer stored as a
content field, as it is already stored in the event's timestamp.

Change-Id: I1e6f83ffb35f44be7828e3d25ee43f87fa8a97e1
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/77497
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotiming: Use sub-second formatter for duration in table viewer
Geneviève Bastien [Thu, 26 May 2016 19:11:37 +0000 (15:11 -0400)] 
timing: Use sub-second formatter for duration in table viewer

A formatter makes the duration clearer, especially for large durations when
it's hard to figure the number of numbers in the string

Change-Id: I8b71ccc18c905809530df148d63881aced09c916
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/73802
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
7 years agotmf.ui: introduce TmfTableColumnUtils
Matthew Khouzam [Tue, 12 Jul 2016 19:29:55 +0000 (15:29 -0400)] 
tmf.ui: introduce TmfTableColumnUtils

This class adds more functions and removes it from the API.

TmfTraceColumnManager now calls functions from this internal class. This
allows more functionality to be added without bumping the API version
number.

Change-Id: Id8a53f9cbe1f7b7adb72e59482971efbaaf22599
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/76394
Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-by: Hudson CI
7 years agodoc: Update user guide for custom parser event type
Patrick Tasse [Thu, 7 Jul 2016 15:18:10 +0000 (11:18 -0400)] 
doc: Update user guide for custom parser event type

Change-Id: I3910ac6ae754d9fb2981d42956fc028ce8ab2e8d
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/76870
Reviewed-by: Hudson CI
7 years agotmf: Bug 497347: Custom event aspects incorrect in mixed experiments
Patrick Tasse [Tue, 5 Jul 2016 19:09:37 +0000 (15:09 -0400)] 
tmf: Bug 497347: Custom event aspects incorrect in mixed experiments

Change the custom event aspects to use TmfContentFieldAspect with the
field name. In a mixed experiment, fields from different custom trace
types with the same name will be combined in a single aspect.

Use the base aspect for the Event type if specified as a custom parser
output.

Remove the internal column data array in custom event, as its
information is stored in the event content.

Do not store the custom event type name as a content field, as it is
already stored in the custom event type.

Change-Id: Ic8b39672f0b6f27439774262791d249e6ecf24b1
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/76640
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotmf: Bug 497038: Custom parser field names conflict with built-in tags
Patrick Tasse [Wed, 29 Jun 2016 20:58:08 +0000 (16:58 -0400)] 
tmf: Bug 497038: Custom parser field names conflict with built-in tags

A new Tag enum is added as part of the custom parser definition model.

The 'tag' attribute is added to the XML definition.

For backward compatibility if the 'tag' attribute is not present when
loading a definition from XML, the Tag is determined from the 'name'
attribute.

In the internal payload data map of the custom event, the map's key is
changed from a String to an Object that can either be the Tag, a String,
or an enum constant, to ensure there is no conflict of keys.

If the tag is OTHER, the wizards should ensure that the user-entered
name does not conflict with one of the built-in tag labels.

Change-Id: If9bf65fb32d646cda4f24f28bf41941f1f5c85f6
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/76257
Reviewed-by: Hudson CI
7 years agotmf: Bug 497413: Abstract time graph view JUL logger incorrectly enabled
Patrick Tasse [Thu, 14 Jul 2016 20:10:39 +0000 (16:10 -0400)] 
tmf: Bug 497413: Abstract time graph view JUL logger incorrectly enabled

The time graph view abstract classes are changed to use their own class
when getting the logger so that they are in their own namespace and
inherit the Trace Compass parent logger's log level.

Change-Id: If117f307d8c12e601f26f97c57e6a26ba77311a6
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/77347
Reviewed-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
7 years agoctf: fix npe in size() if trace is not inited
Matthew Khouzam [Thu, 14 Jul 2016 22:10:35 +0000 (18:10 -0400)] 
ctf: fix npe in size() if trace is not inited

This is a race condition that can appear when bulk openning 5-6
ctf traces at onces.

Change-Id: I8f64d373674e6b1b925a43e607763c518f866ccb
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/77361
Reviewed-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
7 years agolttng: Bug 498083: Fix sys call entry matching in I/O analysis
Bernd Hufmann [Mon, 18 Jul 2016 18:19:16 +0000 (14:19 -0400)] 
lttng: Bug 498083: Fix sys call entry matching in I/O analysis

Change-Id: I30bf823530b8613f2db58e4e1bd4a8550b76bf4f
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/77485
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Reviewed-by: Hudson CI
7 years agolttng: Bug 498066: Check if field ret exists in syscall exit handler
Bernd Hufmann [Mon, 18 Jul 2016 14:49:23 +0000 (10:49 -0400)] 
lttng: Bug 498066: Check if field ret exists in syscall exit handler

Change-Id: I25dbd7534cafc20b0ad96e9dc73933d4ae71ab51
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/77477
Reviewed-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
7 years agotmf: Bug 497994: Hide Table action does not layout properly
Patrick Tasse [Fri, 15 Jul 2016 21:03:36 +0000 (17:03 -0400)] 
tmf: Bug 497994: Hide Table action does not layout properly

Change-Id: I8b1f2c741203434b80ea5165d430b01d16514225
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/77418
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotmf: Rename tag name label in custom XML parser wizard
Patrick Tasse [Mon, 27 Jun 2016 19:32:40 +0000 (15:32 -0400)] 
tmf: Rename tag name label in custom XML parser wizard

Change-Id: I51215a25d07a8eb00b3bd5cac834964f1114e653
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/76256
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Hudson CI
7 years agotmf: Fix incorrect zoom thread time bounds when time graph view is empty
Patrick Tasse [Wed, 13 Jul 2016 19:56:55 +0000 (15:56 -0400)] 
tmf: Fix incorrect zoom thread time bounds when time graph view is empty

When the time graph view is empty because none of its build threads have
started yet, the time bounds still have the initial values set to [+INF,
-INF].

If a zoom thread is started at that moment, the requested start and end
time of the zoom thread are clamped to the time graph view's bounds and
are consequently set to [-INF, +INF].

This is changed so that the zoom thread does not clamp the requested
start and end time when the time graph view's bounds are not set.

Change-Id: I6c751641dab8eb4d1389adabf89c3c5a614e6b90
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/77279
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com>
7 years agotmf: Add support for custom event type by text line or XML element
Patrick Tasse [Thu, 23 Jun 2016 22:32:55 +0000 (18:32 -0400)] 
tmf: Add support for custom event type by text line or XML element

The text line or XML element can have an associated event type that will
override the definition name as the default event type.

If a custom event field or attribute is defined to set the event type,
it will override that default.

Change-Id: I9e38a0cdb5dc1b4442ca8028bbbbee220dc6001c
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/75892
Reviewed-by: Hudson CI
7 years agolinux.ui: Add Operating System Overview Perspective
Matthew Khouzam [Mon, 9 May 2016 14:42:59 +0000 (10:42 -0400)] 
linux.ui: Add Operating System Overview Perspective

When solving a problem, one must locate it before they can
identify it.

The current LTTng Kernel perspective is very good at identifying
problems but its views are mostly useful when a user is zoomed in.

This perspective, allows users to locate problem using metrics that
they are used to: CPU usage, Memory usage and IO usage, just like
system monitors in Linux[1] and Windows[2].

This perspective is intended to be used in tandem with the LTTng
Kernel perspective as this one can hone in on an issue and the
Kernel perspective can figure out the problem.

[1] http://static.thegeekstuff.com/wp-content/uploads/2009/10/system-monitor-resources.png
[2] http://www.windows7library.com/blog/wp-content/uploads/2011/04/Resource-Monitor.jpg

Change-Id: I0465b5bd61dc6cca6e8b6f78adbf2969df6f5481
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/72303
Reviewed-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
7 years agotmf: bug 495897 Keep last good formula on failed synchronization
Geneviève Bastien [Mon, 13 Jun 2016 18:24:20 +0000 (14:24 -0400)] 
tmf: bug 495897 Keep last good formula on failed synchronization

When trace synchronization fails, the last known good formula should be kept
and the traces synchronized. It is a better approximation than to keep the
traces unsynchronized

Change-Id: I35a4b2627fcaf0e7e64e9a77516758944959ca6a
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/75176
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agoreleng: Switch to RCPTT 2.1.0
Alexandre Montplaisir [Thu, 14 Jul 2016 17:28:21 +0000 (13:28 -0400)] 
releng: Switch to RCPTT 2.1.0

We previously used 2.1.0-SNAPSHOT, which doesn't exist anymore
since actual 2.1.0 was released.

Change-Id: If0cb7d6e0003a743514c799ec265b003c1461241
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/77330
Reviewed-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
7 years agotmf/ctf: Show trace read progress in the progress bar
Matthew Khouzam [Thu, 3 Mar 2016 23:17:24 +0000 (18:17 -0500)] 
tmf/ctf: Show trace read progress in the progress bar

This patch adds an interface : ITmfTraceKnownSize. This interface
has two methods:
- size()
- progress()

If a tracetype implements these methods, the progress will show a scrolling
bar instead of the night-rider/battlestar galactica style slider of an
unknown progress bar.

Change-Id: If1b61957f26c2dec26543f64cfb42e12b127391c
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/67779
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Reviewed-by: Hudson CI
7 years agocontrol: Bug 492041: Add new channel properties from LTTng 2.8
Bruno Roy [Mon, 4 Jul 2016 18:55:36 +0000 (14:55 -0400)] 
control: Bug 492041: Add new channel properties from LTTng 2.8

LTTng 2.8 adds new attributes regarding the channels information. There
are now two new fields: "discarded_events" and "lost_packets". They are
now visible in the Property view when using LTTng 2.8 or greater.

Change-Id: Ifceb78916fac501802e98c34faab88ba69540ca0
Signed-off-by: Bruno Roy <bruno.roy@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/76539
Reviewed-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotmf: Fix intermittent failure in ProjectExplorerTraceActionsTest
Marc-Andre Laperle [Wed, 29 Jun 2016 20:19:27 +0000 (16:19 -0400)] 
tmf: Fix intermittent failure in ProjectExplorerTraceActionsTest

To reproduce the issue:

In TmfTraceElement.delete, add a Thread.sleep(5000); right after the
syncExec that calls closeEditors.

Run ProjectExplorerTraceActionsTest.test4_05Delete then
test4_09BringToTop (you can create a new test method and call them in
that order).

The problem is that the delete test waits until the delete dialog and
the editor are closed but there is no guarantee that the file will
actually be deleted right away. While the file is still there, it is
possible that the next test will start and begin the process of
opening the same existing trace. But then the file gets deleted and
the trace doesn't validate properly (or other exceptions depending on
the timing of when the trace gets deleted).

We should make sure that the file is deleted before proceeding.

Bug: 497035
Change-Id: I33d0b45732bdde6061112736f2f1f7e46d55864e
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/76249
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 agolttng: Fix ControlFlowViewFindTest and ResourcesViewFindTest on Mac
Marc-Andre Laperle [Mon, 11 Jul 2016 23:25:13 +0000 (19:25 -0400)] 
lttng: Fix ControlFlowViewFindTest and ResourcesViewFindTest on Mac

Some keyboard shortcuts were wrong on Mac. Going to the top of a tree
is Option-Up instead of Home and Ctrl-F should be Command-F.

Change-Id: Ic10243095ed47d0c9dd2a81b2d7cdda010ec9578
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/77104
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com>
7 years agotmf: Ellipse function names that don't fit in CallStackView
Alexandre Montplaisir [Thu, 30 Jun 2016 21:39:00 +0000 (17:39 -0400)] 
tmf: Ellipse function names that don't fit in CallStackView

Add "..." to function names that get cut due to short rectangles
in the call stack view, and avoid printing anything if at least
1 character + the "..." won't fit.

Also, instead of starting from the full string length and going
down to find a fitting string, start from 1 and work our way
up. This will better handle the worst case, which is lots of
very small states in a view that all want to print very long
strings.

Bug: 497111

Change-Id: I94ccca31fb890923063f75359ff714721a8b6f68
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/76401
Reviewed-by: Hudson CI
7 years agotmf: Cache CallStackEvent names
Alexandre Montplaisir [Thu, 30 Jun 2016 20:55:31 +0000 (16:55 -0400)] 
tmf: Cache CallStackEvent names

This will avoid calling the symbol provider repeatedly, which
equates to a state system query + calling an external process
for LTTng-UST traces, for examples.

Change-Id: I798c0d253b2ba83529c98b99b70481430ea1a613
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/76400
Reviewed-by: Hudson CI
7 years agolinux.core: add help for Context Switch analysis
Matthew Khouzam [Wed, 13 Jul 2016 14:55:06 +0000 (10:55 -0400)] 
linux.core: add help for Context Switch analysis

This can be seen by right clicking on the analysis and selecting "help".

Change-Id: Ief8e3046405b9cb850f0441888423959f2aaa6c2
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/77253
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 agolinux.core: add help message for TID analysis
Matthew Khouzam [Wed, 13 Jul 2016 14:40:43 +0000 (10:40 -0400)] 
linux.core: add help message for TID analysis

This explains the role of this analysis

Change-Id: I0fa5adecb4dc3c5db03ff8af818b2c1970243eb1
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/77251
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 agolttng.control: Fix typo in the SnapshotHandler class
Bruno Roy [Mon, 11 Jul 2016 18:31:19 +0000 (14:31 -0400)] 
lttng.control: Fix typo in the SnapshotHandler class

Rename the SnapshotHandler class to fix a typo (it was SnaphshotHandler
before).

Change-Id: Ife2cb875a53d13ec9d55482c7fefa34787c13afe
Signed-off-by: Bruno Roy <bruno.roy@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/77065
Reviewed-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agolttng.ust: Use correct Activator in MemoryUsageViewer
Alexandre Montplaisir [Wed, 6 Jul 2016 20:38:24 +0000 (16:38 -0400)] 
lttng.ust: Use correct Activator in MemoryUsageViewer

It was importing tmf.core's Activator! :O

Change-Id: I9b7edce8c59f9638292bf20b2f3ecc4253b8c4c4
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/76783
Reviewed-by: Hudson CI
7 years agolttng.ust: Catch TimeRangeException in UstDebugInfoAnalysisModule
Alexandre Montplaisir [Wed, 13 Jul 2016 19:09:45 +0000 (15:09 -0400)] 
lttng.ust: Catch TimeRangeException in UstDebugInfoAnalysisModule

This exception may happen if the statesystem was not fully built
due to using pre-release traces that do not have all the
expected event fields.

Since there are such traces out in the wild, this situation can
happen sometimes.

Bug: 497863

Change-Id: Id8c14e36f9dcfe1858628f96298ed3959c0a58f5
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/77263
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-by: Hudson CI
7 years agolttng.ust: Replace multiple single queries by one full query
Loïc Prieur-Drevon [Mon, 18 Apr 2016 15:28:23 +0000 (11:28 -0400)] 
lttng.ust: Replace multiple single queries by one full query

To update data in MemoryUsageViewer, the State System would be
queried once per thread.
This patch replaces multiple single queries by a single full
state query and reads to the result.

Change-Id: I5fbb6d80a498898342db34f8278a85f02e1c6736
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/70875
Reviewed-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
7 years agotmf: Bug 496219: Fix incorrect time graph bounds when no time events
Patrick Tasse [Wed, 15 Jun 2016 21:00:04 +0000 (17:00 -0400)] 
tmf: Bug 496219: Fix incorrect time graph bounds when no time events

When calculating the default bounds from time graph entries, if none of
the entries have time events, the bounds should be set to SWT.DEFAULT.

Change-Id: I5973319c66e3e31059304e628f9bd416a593b326
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/75354
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Hudson CI
7 years agolttng.ust: Update lib load/unload events for LTTng 2.9
Alexandre Montplaisir [Tue, 12 Jul 2016 20:26:24 +0000 (16:26 -0400)] 
lttng.ust: Update lib load/unload events for LTTng 2.9

LTTng 2.9 adds new "lttng_ust_lib:{load|unload|build_id|debug_link}"
events, which should be used instead of the lttng_ust_dl:* events
to track library loading and unloading.

See https://bugs.lttng.org/issues/1035

Bug: 497351

Change-Id: I3a7631afd1ea6701e5bc7e2a5b24919a4ec7eee6
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/77177
Reviewed-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
7 years agotmf: Add plugins for custom charts
Gabriel-Andrew Pollo-Guilbert [Wed, 6 Jul 2016 14:20:20 +0000 (10:20 -0400)] 
tmf: Add plugins for custom charts

This plugin will contain code to build custom charts from various analysis
data. The functionality is based on the LAMI charts that are in the *.lami.*
plugins.

Change-Id: I9c2240733d086fddb002e0904324cedb63b97c6e
Signed-off-by: Gabriel-Andrew Pollo-Guilbert <gabrielpolloguilbert@gmail.com>
Reviewed-on: https://git.eclipse.org/r/76713
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Reviewed-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
7 years agotmf: Bug 496479: Fix ClassCastException in Call Stack view
Patrick Tasse [Tue, 21 Jun 2016 15:39:55 +0000 (11:39 -0400)] 
tmf: Bug 496479: Fix ClassCastException in Call Stack view

The exception occurs when using the Select Previous/Next Event action
with a trace that does not define thread entries. The parent of a
CallStackEntry is not necessarily a ThreadEntry.

Change-Id: Ibb24bd4e67174fc0fa4b5125754eca38df97a169
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/75650
Reviewed-by: Hudson CI
7 years agoanalysis: Add totals to latency statistics view
Marc-Andre Laperle [Thu, 26 May 2016 22:02:59 +0000 (18:02 -0400)] 
analysis: Add totals to latency statistics view

Having the total is useful to know how much time was spent in a given
segment type.

For example, I have a Maven output analysis that computes the beginning
and end of each goal. By having the total, I can quickly see which type
of goal took the longest and then I can drill down to single instances.

Change-Id: Id59a81191726ad926821f7a250d56f4fbc622f7a
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/73770
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotmf: Early-exit event search methods if monitor is cancelled
Alexandre Montplaisir [Tue, 12 Jul 2016 00:39:46 +0000 (20:39 -0400)] 
tmf: Early-exit event search methods if monitor is cancelled

Prevents from sending a request at all if the job is already
cancelled when the methods get called.

Fixes a spurious test failure, but also covers for the case
where the job could be cancelled very quickly.

Change-Id: I7dd17fd32663ad6985ad4572541e896e9173dc7d
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/77106
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Hudson CI
7 years agolttng.ust: Add logging to FileOffsetMapper
Alexandre Montplaisir [Thu, 30 Jun 2016 18:11:27 +0000 (14:11 -0400)] 
lttng.ust: Add logging to FileOffsetMapper

Should help identify requests and cache hits/misses more easily.

Change-Id: I80eb4b405ad0ceb61e6a8386d397d110729badd0
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/76399
Reviewed-by: Hudson CI
7 years agotmf.swtbot: Add additional javadoc to the project explorer tests.
Matthew Khouzam [Thu, 23 Jun 2016 00:08:42 +0000 (20:08 -0400)] 
tmf.swtbot: Add additional javadoc to the project explorer tests.

These tests are well documented in the test spec. this is a simple
copy paste to repeat the testing contract.

Change-Id: I7c389f1b2ca9e219845f2487303ff3331981fbfb
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/75786
Reviewed-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
7 years agolttng.ust: Improve debug-info binary tracking
Simon Marchi [Tue, 28 Jun 2016 13:20:33 +0000 (09:20 -0400)] 
lttng.ust: Improve debug-info binary tracking

This patch improves the tracking of binary loading/unloading using the
LTTng statedump and dl events.

It changes the layout of the attributes in the state system to be this:

  Key                      Value
  /vpid                    -
  /vpid/<baddr>            <active>, 1 if active, null otherwise
  /vpid/<baddr>/build_id   <buildid>, e.g. "0123456789abcdef"
  /vpid/<baddr>/debug_link <debug_link>, e.g. "/usr/lib/libhello.so.debug"
  /vpid/<baddr>/memsz      <memsz>, e.g. 2127280
  /vpid/<baddr>/path       <path>, e.g. "/usr/lib/libhello.so"
  /vpid/<baddr>/is_pic     <is_pic>, 1 or 0

which is organized a bit more logically than the current approach.

Currently, the code expects the binaries to have a build id.  If this is
not the case for a particular binary, it will stay forever in the map of
pending binaries.  This patch checks the has_build_id to know whether or
not we should wait for such a corresponding build_id event.  While at
it, we do the same for debug link and propagate its value (although
nothing useful is done with it currently).

The "statedump start" event is now handled, which is required to
invalidate all the mappings for a certain vpid.

More tests are added, using the new synthetically generated traces from
CtfTestTrace.

Change-Id: I48c9de963129040dbd90ea492fe58eba441b28f3
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/73639
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agocommon: Deprecate NonNullUtils#equalsNullable
Matthew Khouzam [Fri, 8 Jul 2016 01:18:58 +0000 (21:18 -0400)] 
common: Deprecate NonNullUtils#equalsNullable

java.util.Objects#equals does the same thing and provides
some advantages:

1- It is tested/supported by Oracle
2- It is almost binary compatible upon inspecting the code
3- It is more likely that the compiler will receive
   optimizations for their libs than some that are
   _almost_ binary equivalent.
4- It is industry standard, people can understand the code
   better.

Change-Id: Ica0371deee5876f4cbf42f2b6b521d07a8010067
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/76919
Reviewed-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Tested-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-by: Hudson CI
7 years agotmf.ui: Convert EventsTable Listener into Lambda
Matthew Khouzam [Wed, 29 Jun 2016 15:24:51 +0000 (11:24 -0400)] 
tmf.ui: Convert EventsTable Listener into Lambda

This converts the listener from a generic one to a
menudetectlistener with a lambda.

Change-Id: Id26dce3dfa6031919a4d2cfdfe16fe3da7305af2
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/76341
Reviewed-by: Hudson CI
Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
7 years agoos.linux: Add Next/Previous TID event action in CFV
Alexandre Montplaisir [Wed, 15 Jun 2016 19:41:45 +0000 (15:41 -0400)] 
os.linux: Add Next/Previous TID event action in CFV

Expose actions in the Control Flow View to navigate to the
previous or next trace event for a given row/thread.

Unlike the "Go to state change" action, this action will stop
on all trace events related to that thread. To do so, we need
to stop on every trace event to test if they match. Since this
operation is unbounded in terms of number of events to read,
it is deferred to a separate Job.

Change-Id: Ie0f4f7dc3f2d0c6e3f2d0111fa95f265dfcdf75f
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/75362
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotmf: Rename "Next/Previous Event" action to "Next/Previous State Change"
Alexandre Montplaisir [Tue, 14 Jun 2016 22:39:40 +0000 (18:39 -0400)] 
tmf: Rename "Next/Previous Event" action to "Next/Previous State Change"

The "Select Next/Previous Event" action in time graph views
semantically selects the next state change, not necessarily
the next event. Rectify the name of the action accordingly.

Change-Id: I3ba52210f11d437f48cf9385945d4d380eff19d1
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
7 years agotmf: Open XML editor when clicking Edit in XML analysis manager
Marc-Andre Laperle [Fri, 8 Apr 2016 06:21:16 +0000 (02:21 -0400)] 
tmf: Open XML editor when clicking Edit in XML analysis manager

This change adds an Edit button the the XML analysis manager dialog
which opens a simple XML editor (from WTP). Dependencies are included
in the RCP on a per-plugin basis but work is being done to make a
feature containing the minimum set of plugins for a simple XML editor
(see bug 480141). Once this feature is available, the RCP will be
updated to use that instead, for better maintainability.

Change-Id: I6fef003210b3457815de0ce15b22e81be2eb2f9f
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/70200
Reviewed-by: Hudson CI
7 years agodoc: update "shift-left-click" behavior
Matthew Khouzam [Fri, 8 Jul 2016 01:57:32 +0000 (21:57 -0400)] 
doc: update "shift-left-click" behavior

Change-Id: Ic2aebdbc55528f9c6d03f58830615095b1c45c53
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/76908
Reviewed-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com>
Tested-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com>
Reviewed-by: Hudson CI
7 years agotmf: Add possibilty to cancel search event requests
Alexandre Montplaisir [Wed, 29 Jun 2016 02:38:27 +0000 (22:38 -0400)] 
tmf: Add possibilty to cancel search event requests

By passing an optional monitor (that will probably come from an
Eclipse job anyway), we can allow the potentially long requests
to be cancelled.

Change-Id: Id8e7d8abf670edd333fc393cfd8d3c1465662a1c
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/76227
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotmf: Add unit tests to prevent waitForStart() from blocking
Alexandre Montplaisir [Thu, 7 Jul 2016 23:08:54 +0000 (19:08 -0400)] 
tmf: Add unit tests to prevent waitForStart() from blocking

Make sure that if an event request is already started and
waitForStart() is called on it, it does not block forever.

Change-Id: Ic374e5092ac04fe5ca9fb6c20221508859db7825
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/76915
Reviewed-by: Hudson CI
7 years agotmf: Remove redundant booleans in TmfEventRequest
Alexandre Montplaisir [Mon, 4 Jul 2016 19:09:48 +0000 (15:09 -0400)] 
tmf: Remove redundant booleans in TmfEventRequest

The booleans and CountDownLatches do the same thing, they can
be merged together.

Change-Id: I77e26cbeb7e9166f8997d5a33571f993616c3cb2
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/76551
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Hudson CI
7 years agoss: add a 'done()' method to ITmfStateProvider
Raphaël Beamonte [Thu, 7 Jul 2016 16:22:38 +0000 (12:22 -0400)] 
ss: add a 'done()' method to ITmfStateProvider

This approach was previously used in the ITmfGraphProvider but not
available in the ITmfStateProvider. This allows, when needed, to finish
up the provider's work when the trace has been fully read, in order to
obtain a finalized state system when data are on hold until the trace end.

Change-Id: Ic6988e6e25936796eb8de48520dcf95e0a4690bb
Signed-off-by: Raphaël Beamonte <raphael.beamonte@gmail.com>
Reviewed-on: https://git.eclipse.org/r/76884
Reviewed-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Reviewed-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Tested-by: Alexandre Montplaisir <alexmonthy@efficios.com>
7 years agodoc: update XY charts view controls
Matthew Khouzam [Mon, 4 Jul 2016 20:19:49 +0000 (16:19 -0400)] 
doc: update XY charts view controls

The CPU usage/UST Memory/Kernel Memory  view and all XY
charts control scheme is updated to match time graph views.

Change-Id: I261216a3610835913ad00228a090868338317b17
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/76544
Reviewed-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
7 years agoanalysis.lami: Replace Activator info logging with JUL
Alexandre Montplaisir [Wed, 6 Jul 2016 06:58:21 +0000 (02:58 -0400)] 
analysis.lami: Replace Activator info logging with JUL

That way the commands that are run every time a kernel trace
is opened won't show up systematically in the command-line
output.

We can continue logging critical errors to the Activator for now.

Change-Id: Ifa0c9dfabe89f20747776366cced22ff12caca71
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/76671
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agolttng: Use getFieldValue() for some field retrievals
Alexandre Montplaisir [Tue, 5 Jul 2016 23:40:06 +0000 (19:40 -0400)] 
lttng: Use getFieldValue() for some field retrievals

Change-Id: Ide8835b047d69dbf0f40672c49f93853bf6d4699
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/76628
Reviewed-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
7 years agodoc: Document the exclude event feature
Bruno Roy [Wed, 29 Jun 2016 18:52:08 +0000 (14:52 -0400)] 
doc: Document the exclude event feature

Documentation for the exclusion of UST events by name feature. This
feature is in the Control view under the UST tab.

Change-Id: I60e2f27f40a67f2fd4b39d0532b0644831b8ff07
Signed-off-by: Bruno Roy <bruno.roy@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/76238
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
7 years agotmf: Bug 460036: Fix multiple XML views when reopening TraceCompass
Geneviève Bastien [Thu, 30 Jun 2016 08:39:27 +0000 (10:39 +0200)] 
tmf: Bug 460036: Fix multiple XML views when reopening TraceCompass

Save the XML view data in persistent store per secondary ID so the multiple
views remain when reopening the trace.

Change-Id: I1ef9abe668c76e72a51f74c818768996fa8a1e20
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/76526
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 agotmf: Bug 460036: Allow opening of multiple XML Analyses of same type
rjongeling [Thu, 30 Jun 2016 08:39:27 +0000 (10:39 +0200)] 
tmf: Bug 460036: Allow opening of multiple XML Analyses of same type

Show views using secondary id, allowing multiple XML views of the same
type.

Change-Id: I5dcce426877da2a44064bb29e1ab56640d9f2b32
Signed-off-by: rjongeling <robbert.jongeling@alten.nl>
Reviewed-on: https://git.eclipse.org/r/76301
Reviewed-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Reviewed-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com>
Tested-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com>
7 years agoss: cache TmfStateValue String creation
Matthew Khouzam [Fri, 26 Feb 2016 18:48:00 +0000 (13:48 -0500)] 
ss: cache TmfStateValue String creation

This patch adds a direct mapped cache to the TmfStateValue#newValueString
method. This method is used heavily in the Lttng Kernel State Provider.

Using KernelAnalysisBenchmark, this patch increases the performance by 5-10%

Change-Id: Ib0bece8eb606186086cbb4843944e438cf5fbf98
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/67455
Reviewed-by: Hudson CI
Reviewed-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Tested-by: Alexandre Montplaisir <alexmonthy@efficios.com>
7 years agolttng.control: Replacing isKernel with an enum for the domain type
Bruno Roy [Mon, 6 Jun 2016 18:54:22 +0000 (14:54 -0400)] 
lttng.control: Replacing isKernel with an enum for the domain type

Since we are adding a support for a new domain (JUL) the boolean value
isKernel is not enough anymore. I changed it for a enum type
TraceDomainType.

Change-Id: Id7e9bb5f739e93255a6770bc5813a2822dcb085d
Signed-off-by: Bruno Roy <bruno.roy@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/74798
Reviewed-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
7 years agolttng.ust: Replace timestamp.getValue() with toNanos()
Matthew Khouzam [Tue, 5 Jul 2016 17:45:06 +0000 (13:45 -0400)] 
lttng.ust: Replace timestamp.getValue() with toNanos()

If a trace with a different time base is used, there will be no errors in time scales.

Change-Id: Ia13bb9ab0c98dda8d10cfb4d02ee62bf0a820fa0
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/76633
Reviewed-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Tested-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-by: Hudson CI
7 years agotmf: Add utility method to retrieve field values
Alexandre Montplaisir [Tue, 5 Jul 2016 19:25:12 +0000 (15:25 -0400)] 
tmf: Add utility method to retrieve field values

It's very common when handling trace events to expect fields
of a certain type. The common pattern to handle an event field
would be:

- field = content.getField()
- make sure field is not null
- value = field.getValue()
- make sure value is not null and of the expected type

Doing this every time we want to read a field is very
cumbersome, we can add a getFieldValue() utility method to
directly get the value into the expected type. So then we
just need to:

- content.getFieldValue(expectedType, fieldName);
- null-check the result

Change-Id: Icff8de7772d8ba8ed66880668cf14c26a07b2573
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/76646
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 agoss.tests: Move HT integrity check to an assert method of the stub
Geneviève Bastien [Mon, 18 Apr 2016 16:24:52 +0000 (12:24 -0400)] 
ss.tests: Move HT integrity check to an assert method of the stub

Change-Id: I55ba757873a4c582d1f4ce4d1c5baf19d1167570
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/70890
Reviewed-by: Hudson CI
7 years agoss.tests: Add unit test for intervals before start time
Geneviève Bastien [Mon, 18 Apr 2016 16:20:26 +0000 (12:20 -0400)] 
ss.tests: Add unit test for intervals before start time

Change-Id: I42704a18810e5b7899d24addbed9d17221289ac8
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/70887
Reviewed-by: Hudson CI
Reviewed-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Tested-by: Alexandre Montplaisir <alexmonthy@efficios.com>
7 years agoss: Add timestamp parameter to debugPrint for intervals
Geneviève Bastien [Mon, 18 Apr 2016 14:51:41 +0000 (10:51 -0400)] 
ss: Add timestamp parameter to debugPrint for intervals

Printing the intervals is useful for debugging, but for large history trees,
it can get very big. Printing only nodes intersecting a given time range may
be more realistic, for instance to debug an incoherent interval storage when
querying at time t.

Change-Id: I0d71725c6cbe3bd3ad8abf9e9b5d7588aefc094f
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/70886
Reviewed-by: Hudson CI
Reviewed-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Tested-by: Alexandre Montplaisir <alexmonthy@efficios.com>
7 years agoss: Make modifyAttribute()'s value parameter @NonNull
Sonia Farrah [Wed, 11 May 2016 17:42:13 +0000 (13:42 -0400)] 
ss: Make modifyAttribute()'s value parameter @NonNull

Change-Id: I2adbf60b127f8cb7acd040b7214b3ae4dc921406
Signed-off-by: Sonia Farrah <sonia.farrah@ericsson.com>
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/72550
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agolttng.ust: Properly null-check the debug info state system
Marc-Andre Laperle [Wed, 29 Jun 2016 21:25:33 +0000 (17:25 -0400)] 
lttng.ust: Properly null-check the debug info state system

When opening a trace, some views (callstack etc.) might request
binaries before the state system is properly loaded,
so the checkNotNull() check can fail. Actually reply that the
information is not available, instead of breaking the whole trace.

Change-Id: Iba14ac2ffac6f01d45bba4dba9f946372777b5db
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/76255
Reviewed-by: Hudson CI
Reviewed-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Tested-by: Alexandre Montplaisir <alexmonthy@efficios.com>
7 years agocontrol: Moving the loglevels radio buttons over the drop down menu
Bruno Roy [Wed, 29 Jun 2016 18:08:08 +0000 (14:08 -0400)] 
control: Moving the loglevels radio buttons over the drop down menu

Moving the loglevel and loglevel-only radio buttons over the drop down
menu instead of being underneath it. This is because most of the time
the drop down menu is going down and it hides the two radio buttons.
Those are in the enable event dialog box in the Control view under the
UST domain tab.

Change-Id: I434255ba3fd0b9e88cdd3c759c1a50cba09ea3c6
Signed-off-by: Bruno Roy <bruno.roy@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/76236
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agoss: Remove cache-level synchronization in HT_IO
Alexandre Montplaisir [Thu, 23 Jun 2016 20:18:22 +0000 (16:18 -0400)] 
ss: Remove cache-level synchronization in HT_IO

The LoadingCache supports multi-threaded access, we can remove
the "synchronized" on the methods and only lock at the object
level whenever we need to hit the disk.

Benchmark results of the HistoryTreeBackendBenchmark comparing
the current master version and the LoadingCache + this patch:

(using System Time in all cases):

                     Master   LoadingCache + no-cache-synchro
Average
Build:               262ms             284ms
Single Queries:       15ms              12ms
Full Queries:         13ms              11ms
Query History Range: 147ms             120ms

Vertical scaling
Build:               17.77s           19.82s
Single Queries:       2.92s             3.2s
Full Queries:         4.14s            4.42s
Query History Range: 48.06s           57.03s

Horizontal scaling
Build:               10.54s            9.82s
Single Queries:       186ms            110ms
Full Queries:         157ms             86ms
Query History Range: 14.52s           13.61s

Interval distribution uniformly distributed
Build:               428ms             402ms
Single Queries:       31ms              24ms
Full Queries:         26ms              16ms
Query History Range: 368ms             443ms

Interval durations with 10 percent outliers
Build:               238ms             215ms
Single Queries:       12ms               9ms
Full Queries:         12ms               9ms
Query History Range: 120ms              92ms

Data type strings
Build:               302ms             288ms
Single Queries:       36ms              29ms
Full Queries:         27ms               8ms
Query History Range: 333ms             107ms

Data type longs
Build:               256ms             250ms
Single Queries:       16ms              13ms
Full Queries:         13ms               8ms
Query History Range: 151ms              91ms

Data type doubles
Build:               264ms             248ms
Single Queries:       18ms              14ms
Full Queries:         14ms               7ms
Query History Range: 161ms              90ms

The "vertical scaling" seem strange, but remember this is a
degenerate case where the average node usage is rounded to 0%.
The LoadingCache seems slightly less resilient to cache thrashing,
(which makes sense for LRU vs. direct-map in general) but it's
faster in all other regular use cases.

Other patches are being worked on to avoid trees with very low
node usage.

Change-Id: I96e32d99febb1dbbe7f9d2b473d15307c4b8e2e5
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/75886
Reviewed-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
7 years agocritical path: Clean up link list of content provider
Geneviève Bastien [Fri, 13 May 2016 18:52:44 +0000 (14:52 -0400)] 
critical path: Clean up link list of content provider

The link cache was not used because it was written to one map, but read
from another. So links were computed every time

Change-Id: Id3533034be15e1e974160338d9d5e56bda84992e
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/72761
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agoss: Rework the HTNode cache
Alexandre Montplaisir [Thu, 14 Apr 2016 21:23:19 +0000 (17:23 -0400)] 
ss: Rework the HTNode cache

Reimplement the HTNode cache as a Guava LoadingCache. This
nicely abstracts the loading logic, and will also allow
making cache accesses multi-threaded.

This also changes the log points from CacheHit/CacheMiss to
CacheLookup/CacheMiss, since the "cache hit" branch is now
entirely part of the Guava library, so we cannot instrument
it. Same information is available, it will just have to be
computed differently.

Change-Id: I267008c69f9d6f4ada0257dee45b2a79902b8c84
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/70713
Reviewed-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
7 years agodoc: Document the enabling specific event by name feature
Bruno Roy [Wed, 29 Jun 2016 15:19:28 +0000 (11:19 -0400)] 
doc: Document the enabling specific event by name feature

Documentation for the enabling specific Kernel event by name feature.

Change-Id: Iab8600a0cf42b2d05633bf24ab805986896a9279
Signed-off-by: Bruno Roy <bruno.roy@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/76233
Reviewed-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agocontrol: Change the string label for specific event in the Control view
Bruno Roy [Wed, 29 Jun 2016 15:26:42 +0000 (11:26 -0400)] 
control: Change the string label for specific event in the Control view

The label for enabling specific event by name is now "Event Name"
instead of "Event Type". This is to be more consistent with the other
fields of the dialog window.

Change-Id: Id4237d53f76b43bc146107cd9a6eee301ddde0df
Signed-off-by: Bruno Roy <bruno.roy@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/76224
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agotmf: Speed up TmfTraceUtils#getPreviousEventMatching
Matthew Khouzam [Tue, 28 Jun 2016 20:16:43 +0000 (16:16 -0400)] 
tmf: Speed up TmfTraceUtils#getPreviousEventMatching

This patch makes the reverse search look back by the cache
size of the trace, then iterating on the chunk in reverse
order to find a match. This allows returning as soon as
we find a matching event.

Change-Id: Iaed2c2326d5a4939688df7ba6d13696811d1c165
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/76164
Reviewed-by: Hudson CI
Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
7 years agoIntroduce a MAINTAINERS.md file
Alexandre Montplaisir [Tue, 28 Jun 2016 22:03:05 +0000 (18:03 -0400)] 
Introduce a MAINTAINERS.md file

This file will list the current project committers and maintainers,
along with their assigned section of the code base.

Change-Id: I42c535514648b7bc91d7ec5c6460bc5bd11add03
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/76173
Reviewed-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
7 years agocontrol.test: Add tests for the exclude feature in Control view
Bruno Roy [Tue, 14 Jun 2016 14:17:40 +0000 (10:17 -0400)] 
control.test: Add tests for the exclude feature in Control view

Test the exclude feature with the LTTng service. Also test the UI with
SWTBot tests.

Change-Id: I2afd0fdfa8a1c85b375528c58e0977aa98f4b060
Signed-off-by: Bruno Roy <bruno.roy@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/74320
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Reviewed-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
7 years agocustom parsers: Add unit tests for custom event names
Geneviève Bastien [Wed, 15 Jun 2016 19:59:25 +0000 (15:59 -0400)] 
custom parsers: Add unit tests for custom event names

Change-Id: I53470bc5c67bd0f7dfbc9089294544a7c50e9753
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/75479
Reviewed-by: Hudson CI
Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
7 years agoss: Relax but enforce the character limit in HTInterval strings
Alexandre Montplaisir [Mon, 27 Jun 2016 22:09:36 +0000 (18:09 -0400)] 
ss: Relax but enforce the character limit in HTInterval strings

The string parsing logic in HTInterval casts the string length to
a byte, which can result in a negative value (and subsequent
NegativeArraySize exception) if the string is actually > 127 bytes
in its encoded form.

A comment mentions that the string length is checked at the
constructor, but this is false! No check is done whatsoever.
The limit should be checked.

While at it, the current limit of 127 bytes is very small for
string values. File system paths for example can easily add up
to more than 127 characters. For this reason, use a short (2 bytes)
instead of one byte to store the string length, which allows for
strings up to 32,767 bytes.

Finally, specify UTF-8 encoding explicitely. This is what was
happening on most platforms already, but it's a better practice
to specify it, and it makes static analysis happy.

Also happens to fix:
Bug: 496864

Change-Id: Ia801782696a1574568d52c52775d475ed2dcf173
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/76060
Reviewed-by: Hudson CI
7 years agoss: Properly implement hashCode/equals in HTInterval
Alexandre Montplaisir [Mon, 27 Jun 2016 20:46:13 +0000 (16:46 -0400)] 
ss: Properly implement hashCode/equals in HTInterval

The equals() was wrongly calling .compareTo(), which only
checks the end times, not the whole object.

Change-Id: I235d01b3cd19a668e0808233eedcd5c1f50c5b57
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/76059
Reviewed-by: Hudson CI
7 years agolttng.ust: Properly null-check the debug info state system
Alexandre Montplaisir [Mon, 27 Jun 2016 19:41:51 +0000 (15:41 -0400)] 
lttng.ust: Properly null-check the debug info state system

When opening a trace, some views (callstack etc.) might request
symbol/function names before the state system is properly loaded,
so the checkNotNull() check can fail. Actually reply that the
information is not available, instead of breaking the whole trace.

Change-Id: I9cb5446b00444d2b8388e9f21a5822187fd30734
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/76058
Reviewed-by: Hudson CI
7 years agoss: Add JUL logging to some classes
Geneviève Bastien [Tue, 14 Jun 2016 18:27:30 +0000 (14:27 -0400)] 
ss: Add JUL logging to some classes

This patch adds JUL log points to the state system queries and
to the HT_IO cache hits and misses.

Change-Id: I7dbbc9ec79f0da4a23cd2bc8756ebd3e0eea3b0c
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/75274
Reviewed-by: Hudson CI
7 years agocommon: Add JUL logging to TraceCompass
Geneviève Bastien [Tue, 14 Jun 2016 15:19:06 +0000 (11:19 -0400)] 
common: Add JUL logging to TraceCompass

Logging allows to add tracepoints at various places in the code, and at runtime
enable log handlers for specific components to produce log files that can then
be analyzed by various tools... like Trace Compass!

This patch is a first suggestion for adding logging facility to TraceCompass.
Here is the suggested approach:

* Logging has a small overhead, so they should have a negligible performance
impact performance if they are not overly used.

* Logging must be explicitly enabled at runtime by setting a parameter to true:
-Dorg.eclipse.tracecompass.logging=true in the vmargs

* Each class should have their own logger, using the class's full name
(canonical name). It is thus easy to filter which classes to log using per
logger name. For example, logging org.eclipse.tracecompass.tmf will log all
loggers that start with o.e.t.tmf.*

* Abstract classes should use their concrete class's name, to match the log
statements to their concrete component.

* The TraceCompassLog class contains a wrapper methods to retrieve loggers.
Calling it makes sure that the main logger's level has been set and the default
values set by java (info level with ConsoleLogger) are not used.

* What is non-negligible in logging is often the message being logged. To be
meaningful, the message will often add parameters concatenated to a string
and that can be very costly. Messages should be lazily constructed using
the logging statements taking Supplier<String> in parameter. For example:

LOGGER.log(() -> "My msg " + param1 + " " + param2);

* Log levels, handlers, etc can be controlled via a configuration file set in
the vmargs: -Djava.util.logging.config.file=/path/to/logger.properties. An
example logger.properties file can be found here:
https://wiki.eclipse.org/Swordfish_Documentation:_Turning_On_Logging

* To help logging trace parsing, the log strings should have the following
format: [EventName:MayContainSemiColon] paramName1=param1, paramName2=param2

Change-Id: Ia6cde4256799705a9f13c71b70576eb09cc3d427
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/71819
Reviewed-by: Hudson CI
7 years agotmf: Add a few tests to TmfTraceUtilsSearchingTest
Alexandre Montplaisir [Tue, 28 Jun 2016 23:06:09 +0000 (19:06 -0400)] 
tmf: Add a few tests to TmfTraceUtilsSearchingTest

Test the behavior of the search when there is no event match.

Change-Id: I6c6bfb76acf73151851cab766f5d57026f7da7d8
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/76226
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Hudson CI
7 years agocustom.parsers: bug 494697 Define event names in custom parsers
Geneviève Bastien [Thu, 26 May 2016 21:20:03 +0000 (17:20 -0400)] 
custom.parsers: bug 494697 Define event names in custom parsers

In custom traces, all events had the same name which corresponded to the
custom parser name. Now it is possible to define a field for the custom
event type.

Change-Id: Icdef3b0dfc73e403b39bd7ceb0e8ff2afaa12db2
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/73803
Reviewed-by: Hudson CI
7 years agoUpdate formatter settings for all plugins
Alexandre Montplaisir [Fri, 3 Jun 2016 23:27:17 +0000 (19:27 -0400)] 
Update formatter settings for all plugins

Update all formatter settings files to the Eclipse 4.6 synthax.

The only value that was changed was to allow wrapping at method
invocations. This means that successive method calls on separate
lines won't be auto-unwrapped anymore:

  list.stream()
    .map(...)
    .filter(...)
    .collect(...)

All the other settings are simply new ones, left to their default
values.

Change-Id: I4d405f4954c1587dfafde23cd9f1058bf515b7c0
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/74106
Reviewed-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
7 years agolttng: Stabilize CriticalPathTest
Marc-Andre Laperle [Tue, 28 Jun 2016 18:11:24 +0000 (14:11 -0400)] 
lttng: Stabilize CriticalPathTest

To reproduce the issue:
Inside CriticalPathView.CriticalPathContentProvider.BuildThread.run()
add a Thread.sleep(5000) just before the refresh() call.

It fails because we get all the tree items of the Critical Path view
before the algorithm and the redrawing is done. Since not all of this
process is done in a job, the waitForJobs is not sufficient. Instead,
wait for the UI to update in the state we want to "assert" on.

Bug: 496588
Change-Id: I2617b017f1d94f000600cd2f25ccce98b3cfe5be
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/76153
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Hudson CI
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
7 years agoreleng: update 4.5 target to build with neon for o.e.remote
Bernd Hufmann [Tue, 28 Jun 2016 14:09:42 +0000 (10:09 -0400)] 
releng: update 4.5 target to build with neon for o.e.remote

Change-Id: Ia01384cf4a417670be77e4470a6cafa37dba4f07
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/76122
Reviewed-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
7 years agoanalysis.lami: Add units to timestamp axis title
Michael Jeanson [Mon, 16 May 2016 19:51:01 +0000 (15:51 -0400)] 
analysis.lami: Add units to timestamp axis title

Units are currently missing in the axis title when the axis is a
timestamp series. This patch adds units based on the axis timestamp
format pattern.

Bug: 493941

Change-Id: I6f03267c5a2704d4b729cc3d666dd30df533053d
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Reviewed-on: https://git.eclipse.org/r/74093
Reviewed-by: Hudson CI
Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-by: Alexandre Montplaisir <alexmonthy@efficios.com>
7 years agoreleng: Update to tracecompass-test-traces 1.5.0
Alexandre Montplaisir [Tue, 28 Jun 2016 12:48:14 +0000 (08:48 -0400)] 
releng: Update to tracecompass-test-traces 1.5.0

Contains updated traces with debug-info information, courtesy
of Simon Marchi.

Change-Id: I5e42d08b097fa5e3727c2a41ba0c928e8132c8fd
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/76104
Reviewed-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
7 years agoreleng: Don't use composite repos in targets
Alexandre Montplaisir [Tue, 28 Jun 2016 11:19:25 +0000 (07:19 -0400)] 
releng: Don't use composite repos in targets

Composite repos often take extremely longer to resolve.
Point to real p2 repos where we can.

Change-Id: Ia5fc195df85de81a33eee3d062b2e9a67fb07ea7
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/76096
Reviewed-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
7 years agotmf: Simplify boolean expression in compareTo()
Sonia Farrah [Wed, 4 May 2016 21:34:01 +0000 (17:34 -0400)] 
tmf: Simplify boolean expression in compareTo()

Change-Id: I7a40de618de0ae6fbc9afbaf21c24ff3cc745f4f
Signed-off-by: Sonia Farrah <sonia.farrah@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/72104
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-by: Hudson CI
7 years agoctf: Remove Array loop from update()
Sonia Farrah [Tue, 3 May 2016 21:10:44 +0000 (17:10 -0400)] 
ctf: Remove Array loop from update()

Change-Id: I367978db1df697af90b9e4d56159cf0d7cba3fd7
Signed-off-by: Sonia Farrah <sonia.farrah@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/71958
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
This page took 0.048307 seconds and 5 git commands to generate.