From 629bf3c1bb5da4d206a7b0d61810521621169d2a Mon Sep 17 00:00:00 2001 From: Jean-Christian Kouame Date: Wed, 1 Jun 2016 10:57:44 -0400 Subject: [PATCH] analysis: bug 494786. Clear process selection when switching trace Clear selection in CPU Usage view and Kernel Memory Usage View when switching trace. Change-Id: I57618581048995904fa71a9f24d65453eea9ae94 Signed-off-by: Jean-Christian Kouame Reviewed-on: https://git.eclipse.org/r/74261 Reviewed-by: Hudson CI Reviewed-by: Matthew Khouzam Tested-by: Bernd Hufmann --- .../ui/views/cpuusage/CpuUsageComposite.java | 17 ++++++++++++++ .../ui/views/cpuusage/CpuUsageXYViewer.java | 23 +++++++++++++++++-- .../KernelMemoryUsageTreeViewer.java | 17 ++++++++++++++ .../KernelMemoryUsageViewer.java | 17 ++++++++++++++ 4 files changed, 72 insertions(+), 2 deletions(-) diff --git a/analysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/internal/analysis/os/linux/ui/views/cpuusage/CpuUsageComposite.java b/analysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/internal/analysis/os/linux/ui/views/cpuusage/CpuUsageComposite.java index bfe5a15094..aa3fed88f1 100644 --- a/analysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/internal/analysis/os/linux/ui/views/cpuusage/CpuUsageComposite.java +++ b/analysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/internal/analysis/os/linux/ui/views/cpuusage/CpuUsageComposite.java @@ -38,6 +38,9 @@ import org.eclipse.tracecompass.statesystem.core.exceptions.StateSystemDisposedE import org.eclipse.tracecompass.statesystem.core.exceptions.TimeRangeException; import org.eclipse.tracecompass.statesystem.core.interval.ITmfStateInterval; import org.eclipse.tracecompass.statesystem.core.statevalue.ITmfStateValue; +import org.eclipse.tracecompass.tmf.core.signal.TmfSignalHandler; +import org.eclipse.tracecompass.tmf.core.signal.TmfTraceOpenedSignal; +import org.eclipse.tracecompass.tmf.core.signal.TmfTraceSelectedSignal; import org.eclipse.tracecompass.tmf.core.statesystem.TmfStateSystemAnalysisModule; import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace; import org.eclipse.tracecompass.tmf.core.trace.TmfTraceUtils; @@ -366,4 +369,18 @@ public class CpuUsageComposite extends AbstractTmfTreeViewer { updateContent(getWindowStartTime(), getWindowEndTime(), false); } + @Override + @TmfSignalHandler + public void traceSelected(TmfTraceSelectedSignal signal) { + setSelectedThread(null); + super.traceSelected(signal); + } + + @Override + @TmfSignalHandler + public void traceOpened(TmfTraceOpenedSignal signal) { + setSelectedThread(null); + super.traceOpened(signal); + } + } diff --git a/analysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/internal/analysis/os/linux/ui/views/cpuusage/CpuUsageXYViewer.java b/analysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/internal/analysis/os/linux/ui/views/cpuusage/CpuUsageXYViewer.java index cb029858e5..57030eba8e 100644 --- a/analysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/internal/analysis/os/linux/ui/views/cpuusage/CpuUsageXYViewer.java +++ b/analysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/internal/analysis/os/linux/ui/views/cpuusage/CpuUsageXYViewer.java @@ -29,6 +29,9 @@ import org.eclipse.tracecompass.analysis.os.linux.core.cpuusage.KernelCpuUsageAn import org.eclipse.tracecompass.internal.analysis.os.linux.ui.Activator; import org.eclipse.tracecompass.statesystem.core.ITmfStateSystem; import org.eclipse.tracecompass.statesystem.core.exceptions.StateValueTypeException; +import org.eclipse.tracecompass.tmf.core.signal.TmfSignalHandler; +import org.eclipse.tracecompass.tmf.core.signal.TmfTraceOpenedSignal; +import org.eclipse.tracecompass.tmf.core.signal.TmfTraceSelectedSignal; import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace; import org.eclipse.tracecompass.tmf.core.trace.TmfTraceUtils; import org.eclipse.tracecompass.tmf.ui.viewers.xycharts.linecharts.TmfCommonXLineChartViewer; @@ -43,6 +46,8 @@ import com.google.common.base.Joiner; */ public class CpuUsageXYViewer extends TmfCommonXLineChartViewer { + private static final int NOT_SELECTED = -1; + private KernelCpuUsageAnalysis fModule = null; /* Maps a thread ID to a list of y values */ @@ -56,7 +61,7 @@ public class CpuUsageXYViewer extends TmfCommonXLineChartViewer { // Timeout between updates in the updateData thread private static final long BUILD_UPDATE_TIMEOUT = 500; - private long fSelectedThread = -1; + private long fSelectedThread = NOT_SELECTED; private final @NonNull Set<@NonNull Integer> fCpus = new TreeSet<>(); @@ -129,7 +134,7 @@ public class CpuUsageXYViewer extends TmfCommonXLineChartViewer { fYValues.clear(); fYValues.put(Messages.CpuUsageXYViewer_Total, zeroFill(xvalues.length)); String stringSelectedThread = Long.toString(selectedThread); - if (selectedThread != -1) { + if (selectedThread != NOT_SELECTED) { fYValues.put(stringSelectedThread, zeroFill(xvalues.length)); } @@ -283,4 +288,18 @@ public class CpuUsageXYViewer extends TmfCommonXLineChartViewer { getSwtChart().getTitle().setText(Messages.CpuUsageView_Title); } + @Override + @TmfSignalHandler + public void traceSelected(TmfTraceSelectedSignal signal) { + setSelectedThread(NOT_SELECTED); + super.traceSelected(signal); + } + + @Override + @TmfSignalHandler + public void traceOpened(TmfTraceOpenedSignal signal) { + setSelectedThread(NOT_SELECTED); + super.traceOpened(signal); + } + } diff --git a/analysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/internal/analysis/os/linux/ui/views/kernelmemoryusage/KernelMemoryUsageTreeViewer.java b/analysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/internal/analysis/os/linux/ui/views/kernelmemoryusage/KernelMemoryUsageTreeViewer.java index 7b009a0bb1..db78eec4c5 100644 --- a/analysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/internal/analysis/os/linux/ui/views/kernelmemoryusage/KernelMemoryUsageTreeViewer.java +++ b/analysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/internal/analysis/os/linux/ui/views/kernelmemoryusage/KernelMemoryUsageTreeViewer.java @@ -27,6 +27,9 @@ import org.eclipse.tracecompass.internal.analysis.os.linux.ui.Activator; import org.eclipse.tracecompass.statesystem.core.ITmfStateSystem; import org.eclipse.tracecompass.statesystem.core.exceptions.StateSystemDisposedException; import org.eclipse.tracecompass.statesystem.core.interval.ITmfStateInterval; +import org.eclipse.tracecompass.tmf.core.signal.TmfSignalHandler; +import org.eclipse.tracecompass.tmf.core.signal.TmfTraceOpenedSignal; +import org.eclipse.tracecompass.tmf.core.signal.TmfTraceSelectedSignal; import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace; import org.eclipse.tracecompass.tmf.core.trace.TmfTraceUtils; import org.eclipse.tracecompass.tmf.ui.viewers.tree.AbstractTmfTreeViewer; @@ -228,4 +231,18 @@ public class KernelMemoryUsageTreeViewer extends AbstractTmfTreeViewer { public void setSelectedThread(String tid) { fSelectedThread = tid; } + + @Override + @TmfSignalHandler + public void traceSelected(TmfTraceSelectedSignal signal) { + setSelectedThread(null); + super.traceSelected(signal); + } + + @Override + @TmfSignalHandler + public void traceOpened(TmfTraceOpenedSignal signal) { + setSelectedThread(null); + super.traceOpened(signal); + } } \ No newline at end of file diff --git a/analysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/internal/analysis/os/linux/ui/views/kernelmemoryusage/KernelMemoryUsageViewer.java b/analysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/internal/analysis/os/linux/ui/views/kernelmemoryusage/KernelMemoryUsageViewer.java index 37077fd173..483e0e4b16 100644 --- a/analysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/internal/analysis/os/linux/ui/views/kernelmemoryusage/KernelMemoryUsageViewer.java +++ b/analysis/org.eclipse.tracecompass.analysis.os.linux.ui/src/org/eclipse/tracecompass/internal/analysis/os/linux/ui/views/kernelmemoryusage/KernelMemoryUsageViewer.java @@ -21,6 +21,9 @@ import org.eclipse.tracecompass.statesystem.core.exceptions.AttributeNotFoundExc import org.eclipse.tracecompass.statesystem.core.exceptions.StateSystemDisposedException; import org.eclipse.tracecompass.statesystem.core.exceptions.TimeRangeException; import org.eclipse.tracecompass.statesystem.core.interval.ITmfStateInterval; +import org.eclipse.tracecompass.tmf.core.signal.TmfSignalHandler; +import org.eclipse.tracecompass.tmf.core.signal.TmfTraceOpenedSignal; +import org.eclipse.tracecompass.tmf.core.signal.TmfTraceSelectedSignal; import org.eclipse.tracecompass.tmf.core.statesystem.TmfStateSystemAnalysisModule; import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace; import org.eclipse.tracecompass.tmf.core.trace.TmfTraceUtils; @@ -187,4 +190,18 @@ public class KernelMemoryUsageViewer extends TmfCommonXLineChartViewer { updateContent(); } + @Override + @TmfSignalHandler + public void traceSelected(TmfTraceSelectedSignal signal) { + setSelectedThread(NOT_SELECTED); + super.traceSelected(signal); + } + + @Override + @TmfSignalHandler + public void traceOpened(TmfTraceOpenedSignal signal) { + setSelectedThread(NOT_SELECTED); + super.traceOpened(signal); + } + } -- 2.34.1