Skip to content

Changes

Summary

  1. linux: Move SWSLatency outputs to Trace Compass core (details)
Commit baeef85b1d5f1f1665329dbf8dc190d9b7bcbdc4 by Matthew Khouzam
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>
The file was addedanalysis/org.eclipse.tracecompass.analysis.os.linux.ui/icons/obj16/density.png
The file was addedanalysis/org.eclipse.tracecompass.analysis.os.linux.ui/icons/obj16/latency.png
The file was addedanalysis/org.eclipse.tracecompass.analysis.os.linux.ui/icons/obj16/statistics_view.gif
The file was addedanalysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/internal/analysis/os/linux/ui/views/swslatency/SWSLatencyScatterView.java
The file was modified analysis/org.eclipse.tracecompass.analysis.os.linux.ui/plugin.properties
The file was addedanalysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/internal/analysis/os/linux/ui/views/swslatency/package-info.java
The file was addedanalysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/internal/analysis/os/linux/ui/views/swslatency/Messages.java
The file was addedanalysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/internal/analysis/os/linux/ui/views/swslatency/SWSDensityViewer.java
The file was addedanalysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/internal/analysis/os/linux/ui/views/swslatency/SWSLatencyDensityView.java
The file was addedanalysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/internal/analysis/os/linux/ui/views/swslatency/SWSLatencyScatterGraphViewer.java
The file was modified analysis/org.eclipse.tracecompass.analysis.os.linux.ui/plugin.xml
The file was addedanalysis/org.eclipse.tracecompass.analysis.os.linux.ui/icons/obj16/scatter.png
The file was addedanalysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/internal/analysis/os/linux/ui/views/swslatency/messages.properties