Bump the single maven build plugin versions in ./pom.xml that are left to upgrade, except the ones mentioned below.
Do not bump the maven-install-plugin version now, as doing so fails the build currently. -Same for the tycho version which requires another focused task, being even less trivial to address.
linux: Move SWSLatency analysis to Trace Compass core
The SWSLatency computes the latency between the sched_wakeup event and the sched_switch event for each thread. It is a subclass of AbstractSegmentStoreAnalysisEventBasedModule.
This commit moves the SWSLatency analysis from the incubator to Trace Compass core by copying the necessary files from org.eclipse.tracecompass.incubator.internal.kernel.core.swslatency to org.eclipse.tracecompass.analysis.os.linux.core.swslatency and making necessary changes to existing configuration files. It also moves unit tests for the analysis to Trace Compass core.
To test the analysis:
[1] Run the unit tests in org.eclipse.tracecompass.analysis.os.linux.core.tests.swslatency as J-unit plug-in tests. Confirm that they all pass. The goal is to test that the analysis runs and provides expected output. [2] Run the unit tests in org.eclipse.tracecompass.integration.core.tests.dataproviders as J-unit plug-in tests. Confirm that they all pass. Adding the new analysis generates new DataProviderDescriptor(s). This is to make sure that the existing test in this package is updated. [3] Open Trace Compass. Open a kernel trace. Make sure that the Scheduler Wakeup to Scheduler Switch Latency analysis is visible and not crossed out under Views in the Project Explorer. It is normal to have no output under the analysis because they are not yet included in this commit. This is required to make sure that the analysis is exposed to users in the UI of the Trace Compass application.
To be done in subsequent patches:
[1] Migrate outputs of the SWSLatency analysis [2] Renaming the SWSLatency analysis to SchedulerWakeupToSchedulerSwitchLatency to make the name of the analysis easier to understand [3] Add documentation [4] Deprecate the SWSLatency analysis in the incubator
linux: Move SWSLatency outputs to Trace Compass core
This commit moves the following outputs of the SWSLatency analysis from the incubator to Trace Compass core:
[1] Sched Wakeup/Switch Latencies output: A re-use of the SegmentStoreTableView provided by Trace Compass. Each segment is the time difference between a sched_wakeup event and a sched_switch event of the same process, identified by the same TID.
[2] Sched Wakeup/Switch Latency vs Time view: which uses the existing AbstractSegmentStoreScatterChartTreeViewer2 for its left side and the new SWSLatencyScatterGraphViewer for its right side. This view is a scatter chart, with each point showing the sched_wakeup/sched_switch latency vs the time when the latency happens.
[3] Sched Wakeup/Switch Statistics view: A re-use of the SegmentStoreStatisticsView provided by Trace Compass. This view displays different statistics relating to the SWSLatency analysis, with each level corresponding to a process.
[4] Sched Wakeup/Switch Density view: which uses the existing SegmentStoreTableViewer for its left side and the new SWSLatencyDensityViewer for its right side. This density view shows the number of latencies that corresponds to a specific duration.
Manual testing is required to make sure the outputs provided by the analysis are consistent and to ensure that they are exposed to the users in the UI of Trace Compass. There are no unit tests for the SWSLatency outputs. To test the outputs:
[1] Open a kernel trace that contains sched_wakeup and sched_switch events. Make sure that all of the 4 outputs are visible under Sched Wakeup Switch analysis.
[2] Sched Wakeup/Switch Latencies: Make sure there is a duration column. When clicked on an entry, a group of consecutive rows should be highlighted in the trace tab. The first event (in the group) should be a sched_wakeup event and the last one should be a sched_switch event. The tid of the sched_wakeup event should be the same as the next_tid of the sched_switch event. The difference of the time stamp of the first and last event should be the same as the value as the duration column.
[3] For the rest of the views, cross check to make sure that the data displayed make sense. For example, pick an event type, such as ls, and make sure that the event count in the Sched Wakeup/Switch Statistics view is the same as the number of dots displayed in the Sched Wakeup/Switch Latency vs Time view.
Change-Id: Ibdd3ed5f2260f7638e1c581e6bf1ad3d22083aa6 Signed-off-by: Hoang Thuan Pham <hoang.pham@calian.ca> Reviewed-on: https://git.eclipse.org/r/c/tracecompass/org.eclipse.tracecompass/+/203535 Reviewed-by: Marco Miller <marco.miller@ericsson.com> Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com> Tested-by: Trace Compass Bot <tracecompass-bot@eclipse.org> Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>