Mohamad Gebai [Thu, 4 Dec 2014 02:52:33 +0000 (21:52 -0500)]
LTTng: Add a virtual CPU view for the virtual machine analysis
This view shows for each guest the status of its virtual CPUs (running or
preempted) as well as a modified view of the threads running on them to
highlight when it was thought to be running, but was actually preempted on the
host.
Change-Id: Id260abc6d43e868ba261714de64c5530596de7ff Signed-off-by: Mohamad Gebai <mohamad.gebai@polymtl.ca> Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/37602 Reviewed-by: Hudson CI Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com> Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Matthew Khouzam [Sat, 29 Aug 2015 19:53:47 +0000 (15:53 -0400)]
ctf: split up IOStructGen into 44 files
IOstructGen is a very large file, it is hard to test and maintain, this patch
splits it into 42 files.
This patch has several benefits. It does the following:
* decreases the complexity of the file IOStructGen.
* improves the modularity of the TSDL parser.
* is very friendly to code navigators as the links of who calls who
are more obvious.
* improve testability of the parser.
* improve navigability in code.
* use a single pattern so each section is drop-in replaceable.
* add null checks at strategic places.
* ridiculously improve javadoc.
* add null annotations
* improve validation of data
Performance is similar.
Change-Id: Ie13ab1673d40b36087e7ce78d81b5379063ea3a1 Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/56740 Reviewed-by: Hudson CI Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com> Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
tmf: Try expanding a second time when tree expand fails
This will stabilize StandardImportAndReadSmokeTest.
Sometimes in a JFace TreeViewer, it expands to nothing.
It looks like a timing issue with an update job started by the viewer.
This is a work around until we can investigate some more.
Matthew Khouzam [Thu, 7 Jan 2016 20:40:04 +0000 (15:40 -0500)]
analysis: make statistics view use a more legible format
statistics will now display times using units and 3 significant
decimals as opposed to the way they were displayed before (unitless
left-aligned nanoseconds)
Change-Id: I35cfeeb7d038ac2b9f52f3648c3e4337a6ec279c Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/63787 Reviewed-by: Hudson CI Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com> Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Patrick Tasse [Fri, 8 Jan 2016 20:34:19 +0000 (15:34 -0500)]
ss: Bug 485463: Incorrect parent sequence number in HTNode
When creating a new 'latest branch' in HistoryTree.addNewRootNode(), the
new nodes' parent sequence number is incorrectly set to their parent's
parent sequence number instead of their parent's sequence number.
The toString() implementation of HTNode used for debugging purposes is
augmented to show the sequence number of parent and children nodes. This
helps in debugging problems such as this one.
Change-Id: Ie6ec689bb28c72eda612d4279b6d27ead7ecc42c Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com> Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/63898 Reviewed-by: Hudson CI
Patrick Tasse [Wed, 6 Jan 2016 18:01:47 +0000 (13:01 -0500)]
tmf: Fix IllegalArgumentException in TimeGraphCombo
Change-Id: I4e2dcba654d1da9b0fa41c7686b0a0095506f28c Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/63663 Reviewed-by: Hudson CI Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com> Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tycho 0.24 introduced pom-less builds [1]. With this, we can
remove the pom.xml in any plugin, test or feature plugin that
uses the default configuration.
This bumps the minimum required version of Maven to 3.3.
Some plugins have extra specific configuration in their pom,
like ctf or pcap traces that call maven-antrun-plugin to
download test traces. These will still need their usual pom.xml
file.
For test plugins, the top-level pom defines the configuration
used for *core* tests. UI and SWTBot tests use slightly
different parameters. Instead of repeating this information in
every single plugin, we can define profiles that are only
activated in those plugins.
Using empty files to selectively enable these profiles looks a
bit clunky, but it is the simplest solution I have found.
Suggestions welcome!
TMF: Bug 454283: Initialize all analysis modules before executing them
Analysis modules are first initialized, then automatic ones are executed when
the traceOpened signal is received. This makes sure any dependent module
exists for a trace before the execution takes place.
Change-Id: Ica4d77ca5805b37ec73a42af2b9bc5f15c9e21cd Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/37698 Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com> Reviewed-by: Hudson CI
We do not track the API of test plugins so it is not necessary to have
them configured for API tooling. This could lead to errors in the case
where the API baseline contained some test plugins. In Oomph, for
example, the API baseline is just a zip of the complete update site, so
it does contain the test plugins and this triggers errors.
Change-Id: I6bd735c2890ae5eaf329316d4f1bae43348c2281 Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/61839 Reviewed-by: Hudson CI Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com> Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
tmf : add of a range selection from other sources for the tmfEventsTable
Only the events within the range will be selected. If there is no event
within the range of the selection, we select the next event outside of
the range. For a single selection, the event at or the next event after
the requested timestamp is selected.
Change-Id: I1294da7e5d653477502ca45f9430a5e5c8583187 Signed-off-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/57526 Reviewed-by: Hudson CI Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com> Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
This patch introduces a view to view segment densities. The
view is based on SWTChart's bar graph. Its x axis is NOT
time aligned as it is not on the main timeline. It takes
the liberty to display time in a more "human readable"
form showing a scale and up to 3 decimals max. (1.234 ms)
There is a second part to this view: a selection table.
This table shows the selected segments from a drag operation.
Follow up tasks for this can be to introduce other filters and
improve the tooltips.
An example implementation is provided for the SystemCall analysis.
Change-Id: I238a61dc8eeeefdca0da107424686a64fb63d8c3 Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com> Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/57573 Reviewed-by: Hudson CI Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com> Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
Patrick Tasse [Mon, 4 Jan 2016 23:11:35 +0000 (18:11 -0500)]
tmf: Avoid recursion in AbstractSegmentStoreTableViewer pack listener
In the SWT.SetData listener TableColumn.pack() is called. This requires
all visible items from being filled in order to pack the column. For
each visible item a SWT.SetData event is fired which triggers another
TableColumn.pack().
In Windows, after 12 such iterations in the stack, the table somehow
behaves badly and the OS incorrectly returns an item count of zero,
which causes ArrayIndexOutOfBoundsException and other problems.
Since the intention is to pack the columns only once, the SWT.SetData
listener is removed before the pack instead of after the pack, thus
avoiding the recursive calls.
Change-Id: Id44c54a474ed6e04aa2d79c051d863011f55a8aa Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/63513 Reviewed-by: Hudson CI Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com> Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
tmf: Fix remote.ui test on Windows due to line separators
This can happen when core.autocrlf is set to false in the git config.
The file containing an expected string is then not converted to crlf and
since the generated string in the test contains crlf, the comparison
fails.
To make tests consistent everywhere, I suggest to disable the autocrlf
of git directly in the Git repository using .gitattributes, see
http://git-scm.com/docs/gitattributes
And to fix the test on Windows, we can always convert the generated
String to lf line endings.
Change-Id: Ife8912ace7895ebca4d19adb53c6ba169ca2d003 Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/63080 Reviewed-by: Hudson CI Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com> Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
tmf: Fix failure in StandardImportGzipTraceTest related to test ordering
If TmfAlignTimeAxisTest ran before, and the window size was small
enough, it was possible for the test to be running in an "Align 1"
perspective with insufficient height for the events table. Because of
that, the expected content in the table could not be found. The tests in
TmfAlignTimeAxisTest switch to generated perspectives without returning
to a "normal" perspective. It makes sense that the tests "cleanup" by
returning to a more normal perspective like the Tracing perspective.
Also switch to Tracing perspective explicitly in
StandardImportGzipTraceTest which is more consistent with the other
tests and is somewhat less error prone.
Change-Id: I0d28af39266bdcdc81e765b5522c92a4a8085602 Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/63081 Reviewed-by: Hudson CI Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com> Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
Matthew Khouzam [Thu, 16 Jul 2015 01:31:57 +0000 (21:31 -0400)]
tmf.ctf: Accelerate ByteArrayDefintion parsing
Make BADs no longer need to generate definitions uselessly.
This patch yields a 15-50% acceleration in Synchronization benchmarks,
a 5% acceleration in the Kernel Analysis benchmark, and an average event
size reduction of 33%.
Change-Id: Ie581abaecf1d8b188de9f1acc3010fe3f7a65d7a Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/52024 Reviewed-by: Hudson CI Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
Matthew Khouzam [Mon, 13 Jul 2015 14:39:19 +0000 (10:39 -0400)]
ctf: Collapse if statement in StructDefinition
Change-Id: I2736507e0ebbee70a172930cd4315c89872eb001 Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/51857 Reviewed-by: Hudson CI Reviewed-by: Francis Giraldeau <francis.giraldeau@gmail.com>
tycho-surefire-plugin's default configuration is to look for @Tests
in classes that start or end with "Test", or end with "TestCase".
We can make use of this and avoid all the nested AllTests.java suites
found in every single test package in the tree. This also avoids
the need for most custom configuration in each test plugin's pom.xml.
To run a complete test plugin from within Eclipse, one can still
right-click on the plugin itself, and choose
Run As -> Junit Plug-in Test.
(Doing this before this patch would actually run all tests twice!)
Note: this breaks the suites in the "alltests" plugin, but those could
be brought back by using something like ClasspathSuite, if desired.
analysis: Make SystemCallLatencyTableAnalysisTest more stable
Even if the jobs are finished, the table is not necessarily filled yet.
The update could be pending as a event in the UI thread queue, etc. We
can wait until cells are filled instead.
Also export the package so that it can be used elsewhere, (alltests
stress test for example).
Change-Id: I8177c7e6b7e487d59b248e0279c6bcd8da43b515 Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/62959 Reviewed-by: Hudson CI Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com> Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
Patrick Tasse [Fri, 11 Dec 2015 20:57:01 +0000 (15:57 -0500)]
tmf: Support vertical zoom in time graph with Shift+Ctrl+Mouse Wheel
Change-Id: Ie5486855cd29c95ee3b0d7caad0ceac6c184d725 Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/62534 Reviewed-by: Francis Giraldeau <francis.giraldeau@gmail.com> Reviewed-by: Hudson CI
Patrick Tasse [Wed, 16 Dec 2015 21:56:56 +0000 (16:56 -0500)]
tmf: Bug 484422: Fix inconsistent vertical zoom
In GTK3, after changing the tree font, the tree item bounds are not
updated until the tree has been painted. The alignment of tree items
should be done after a paint event has occurred.
Change-Id: I47617b881d3f0f981bdacf3ddda572c296dffaf7 Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/62876 Reviewed-by: Hudson CI Reviewed-by: Francis Giraldeau <francis.giraldeau@gmail.com>
Patrick Tasse [Fri, 11 Dec 2015 20:16:15 +0000 (15:16 -0500)]
doc: Update user guide for time graph markers and vertical zoom
Change-Id: Id4e16737c46492efebb643b75455855ee619e3e1 Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com> Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>
Reviewed-on: https://git.eclipse.org/r/62531 Reviewed-by: Hudson CI
Matthew Khouzam [Wed, 2 Dec 2015 21:04:59 +0000 (16:04 -0500)]
ctf: make CtfTmfEvent expose packet context attributes
This patch allows acces to the packet context of an event from that
event.
Change-Id: I8409c8fbcb7766a2d7be4104159a7d7de6aa188d Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/61817 Reviewed-by: Hudson CI Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com> Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
Matthew Khouzam [Wed, 16 Dec 2015 03:16:11 +0000 (22:16 -0500)]
ctf: expose stream in CtfTmfEvent
This allows one to access the stream number. It may lead to improved UX later.
The stream ID can allow analyses to know which stream an event is coming
from. If a trace has a control channel and a data channel, this will
allow the events to be easily filtered into the appropriate views.
Change-Id: Iba9de10d9f1f633deed6df81c0d849acf5a3aceb Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/62779 Reviewed-by: Hudson CI Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com> Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
Matthew Khouzam [Wed, 2 Dec 2015 21:01:14 +0000 (16:01 -0500)]
ctf: Make packet descriptor information available to event
This allows the event to know what the packet context is for
its parent packet. This is especially useful if one puts non-
LTTng information in the packet such as the source gpu.
Change-Id: I21ff283c1032e5a3157408b304b2611d1113d4f7 Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/61816 Reviewed-by: Hudson CI Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com> Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
Matthew Khouzam [Wed, 2 Dec 2015 21:07:40 +0000 (16:07 -0500)]
ctf: Expose map of attributes in Packet Descriptor
The motivation is to allow accessing custom fields in CTF
packet contexts. It decouples the CTF parser from LTTng a bit.
This breaks an unused api.
Change-Id: I2bead35a7e080d4e3ab325395629c44eea455cfc Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/61815 Reviewed-by: Hudson CI Reviewed-by: Francis Giraldeau <francis.giraldeau@gmail.com> Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com> Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
Matthew Khouzam [Wed, 2 Dec 2015 20:41:59 +0000 (15:41 -0500)]
ctf: make SIPIE enums store both key and value
By adding the getStringValue and getIntegerValue,
instead of getValue, we have more information available.
This is useful for enums so we can look up the string
name but also sort it easier.
Change-Id: Icfa095a0a8c2b8924809c389dbfe53055c3b63be Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/61814 Reviewed-by: Hudson CI Reviewed-by: Francis Giraldeau <francis.giraldeau@gmail.com> Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com> Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
Matthew Khouzam [Tue, 15 Dec 2015 20:12:00 +0000 (15:12 -0500)]
ctf: Introduce ICTFStream
This allows a CTFStream to be shared while not being modifyiable.
Change-Id: I4bf4985abd5221ebfa543d0a7ff0cfeda0874fce Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/62767 Reviewed-by: Francis Giraldeau <francis.giraldeau@gmail.com> Reviewed-by: Hudson CI
Disable overlay scrollbars when running tests to prevent crash
When running tests, the Eclipse launcher is not used which means
that the code that usually disables the overlay scrollbars is not
executed. The overlay scrollbars under GTK2 are unstable and can
cause crash. Specifically, a crash was frequently seen in
tmf.ui.swtbot.tests on Ubuntu.
Change-Id: I130d7fd95affa4f7eb68d2c2d1e0b0134e84ee07 Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/62780 Reviewed-by: Hudson CI Reviewed-by: Francis Giraldeau <francis.giraldeau@gmail.com>
Matthew Khouzam [Mon, 13 Jul 2015 14:30:37 +0000 (10:30 -0400)]
ctf: make HashMap child a Map and extract lookupStructScope
The map is self explanatory. The method extraction improves readibility
in my opinion
Change-Id: I9fb23c3223641d80e2f70a18142c3d4b968f0dab Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/51854 Reviewed-by: Hudson CI Reviewed-by: Francis Giraldeau <francis.giraldeau@gmail.com>
tmf: Remove an annotation temporarily to work around Sonarqube bug
There is a Sonarqube bug with type annotations and arrays, see
https://groups.google.com/forum/#!topic/sonarqube/VTsAYxhGRiA
and
https://github.com/SonarSource/sonar-java/pull/537
By removing the @NonNull, it brings back a warning but makes the
Sonarqube build work again.
Change-Id: I6a03295432c7c452b4dca9018d4c17ba4b991980 Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/62684 Reviewed-by: Hudson CI Reviewed-by: Francis Giraldeau <francis.giraldeau@gmail.com>
Patrick Tasse [Mon, 14 Dec 2015 15:55:14 +0000 (10:55 -0500)]
tmf: Keep usage of ViewerSorter in navigatorContent extension point
Reverting the change to TmfViewerSorter from commit e707a55.
Platform UI doesn't support ViewerComparator in the
org.eclipse.ui.navigator.navigatorContent extension point in the
navigatorContent/commonSorter element (refer to Bug 484248).
This causes a ClassCastException and prevents the TMF project model
elements from being sorted properly.
Change-Id: I3d63032763dc435b594c3f9e8df04d0cb6b38609 Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/62640 Reviewed-by: Hudson CI Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com> Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
The alltests plugin was failing on Mac because it tried to run 0 tests
on the UI thread but it needs to start on the first thread
(-XstartOnFirstThread). We can just set it to not un on the UI thread.
There is no need for the UI thread when running 0 tests.
On Mac, RGB values that are captured with ImageHelper are affected by
monitor color profiles. To account for this, we can draw the expected
color in a simple shell and use that color as expected value instead.
Also, switching to the Filter mode in the table is not instantaneous,
we need to wait until it's done before capturing the next image.
Change-Id: I930570027ba53f3dbdcecb5925a8e67c24c239b2 Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/62573 Reviewed-by: Hudson CI Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com> Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
This patch initiates the number of state values involved in a comparison
only when the xml element is <condition>. Without this fix, conditions
like OR or AND with more than two operands fail because we were
validating that the maximum number of state values was actually two.
Since the XSD validates that already the condition is removed in this
patch and the allocation of the state value list is done only when the
element is <condition>. In other cases, the list is instantiated to an
empty list.
This patch also add a test with a condition with three operands in
TmfXmlConditionTest to validate this case.
tmf: Fix existing trace not being reopened when it as a short path (Win)
This fixes the TestTraceOffsetting test.
On Windows, the temporary path can look like this:
java.io.tmpdir=C:\Users\MARC-A~1\AppData\Local\Temp\ Which is a "short
path". When used in comparison with full, canonical paths, it fails.
In the context of this bug, because the comparison failed, it ended up
creating a second trace for the same location then the test could not
find the proper editor because the title contained a '(2)'.
Change-Id: I41def2180ff910e25489415c9de513212d2f2ea2 Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/62529 Reviewed-by: Hudson CI Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com> Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
ctf: Fixed leaked file handle when calling CTFTraceReader.update
If an instance of CTFStreamInputReader already existed in a
CTFTraceReader, it was not getting closed after checking whether or not
it existed. This was causing a test failure on Windows in
CTFTraceGrowingTest.
Change-Id: Ia064d3270882515b32834456771a108970ce8f8e Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/62515 Reviewed-by: Hudson CI Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com> Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Patrick Tasse [Tue, 8 Dec 2015 14:48:36 +0000 (09:48 -0500)]
tmf: Add vertical zooming support to time graph viewer and combo
Vertical zoom is triggered with Ctrl+"+" and Ctrl+"-". Reset is
triggered by Ctrl+"0".
Ctrl+"=" is equivalent to Ctrl+"+" for vertical zoom-in, and "=" is now
equivalent to "+" for horizontal zoom-in also.
The font of the time graph control is changed along with the zooming,
and the views with post-draw handling to draw labels on time graph items
are modified to use a new method which centers the text vertically.
Change-Id: Ic75c1ebe7e937c612b64346e2814894c500f964f Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/62359 Reviewed-by: Hudson CI Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com> Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
It's not really clear if <prerequisites> is really deprecated
or not, but "mvn versions" complains if it is not present, so
we can at least leave it in the top-level pom.
While at it we can also configure it to check for the minimum
Java version the project needs (1.8).
2f79cfb was about fixing the errors that cropped up with the new
version of JDT. This latest patch fixes the related warnings.
It introduces external @NonNull annotations to the following
methods in Guava's Multimap:
get()
keySet()
values()
The last two follow the same reasoning as the corresponding Map
methods. The first one, get(), may seem surprising. But Multimap's
get() is really @NonNull, it will at most return an empty Collection
if there are no values in the map matching the passed key.
Patrick Tasse [Tue, 3 Nov 2015 22:57:04 +0000 (17:57 -0500)]
analysis: Fix IndexOutOfBoundsException in ResourcesView
This can happen if a new IRQ or SoftIRQ attribute is created
concurrently with a zoom thread that has already queried the state
system for a full state that does not include the new attribute.
The zoom thread can then provide the full state to the ResourcesView to
get the event list of an IRQ or SoftIRQ entry that did not exist at the
time that the full state was created.
Change-Id: I1c5f8a8332f44b44f1954b01c3503a844dedc22e Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/59616 Reviewed-by: Hudson CI Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com> Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Patrick Tasse [Thu, 3 Dec 2015 18:33:13 +0000 (13:33 -0500)]
tmf: Fix duplicate trace check in TmfOpenTraceHelper
If the provided path was a convoluted path which resolved to the same
path as an existing trace location of the same name, it was incorrectly
considered a different trace and renamed with a numbered suffix.
Change-Id: Ic802cd5ffd83c5a29e422dfddbb0463aca1b372a Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/62136 Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com> Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com> Reviewed-by: Hudson CI
Bernd Hufmann [Tue, 8 Dec 2015 12:28:10 +0000 (07:28 -0500)]
control: Bug 483560: Refresh UI once after adding all children events
This will redraw the tree only once after all children event components
are added for channels, ust and kernel provider. Before this change the
UI was redrawn after each event.
Change-Id: If48ac0740be8884bcf52bb7f3da4a15859a3639f Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/62200 Reviewed-by: Hudson CI Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com> Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Matthew Khouzam [Wed, 2 Dec 2015 22:15:55 +0000 (17:15 -0500)]
analysis: add standard deviation to the segment store statistics
This patch will be useful for extracting more key metrics and flagging
outlyer segments.
Some reminders:
The standard deviation is the square root of the variance. The variance
is the sum of squared elements divided by the cardinality of a list. To
calculate the standard deviation incrementally, we keep an accumulator
of all the squares of a latency. This is then divided when needed by the
number of elements (segments) and square rooted.
Also, this patch calculates an online mean with less rounding errors.
Change-Id: Ia918f08f2351d7086bd05aac1ad645cfff13eb58 Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/61824 Reviewed-by: Hudson CI Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com> Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Added a condition to wait on. Added the concept of the view being dirty
so that we know if the view is ready or not. This required some rework
of the zoom thread methods to make it less error prone in keeping the
dirty flag consistent.
Change-Id: Ib73d84363e90aae1ca046c101f2086e3840b5bc2 Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/62154 Reviewed-by: Hudson CI Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com> Tested-by: Patrick Tasse <patrick.tasse@gmail.com>