tmf.ui: cache resolution in abstract time graph view queries
Makes debugging easier
Change-Id: I0026e16792a5ed38b1bf228aba9e7085d7320308
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/c/tracecompass/org.eclipse.tracecompass/+/181325
Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
Tested-by: Trace Compass Bot <tracecompass-bot@eclipse.org>
Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
diff --git a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/timegraph/AbstractTimeGraphView.java b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/timegraph/AbstractTimeGraphView.java
index 3fb3fc7..f19b12a 100644
--- a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/timegraph/AbstractTimeGraphView.java
+++ b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/timegraph/AbstractTimeGraphView.java
@@ -624,7 +624,11 @@
@Override
public void doRun() {
- Sampling sampling = new Sampling(getZoomStartTime(), getZoomEndTime(), getResolution());
+ long zoomStartTime = getZoomStartTime();
+ long zoomEndTime = getZoomEndTime();
+ long resolution = getResolution();
+ IProgressMonitor monitor = getMonitor();
+ Sampling sampling = new Sampling(zoomStartTime, zoomEndTime, resolution);
boolean isFilterActive = !getRegexes().values().isEmpty();
/*
* Note: the zoomEntries function below will update the sampling, so
@@ -638,7 +642,7 @@
List<ILinkEvent> computedLinks;
try (TraceCompassLogUtils.ScopeLog linkLog = new TraceCompassLogUtils.ScopeLog(LOGGER, Level.FINER, "ZoomThread:GettingLinks")) { //$NON-NLS-1$
/* Refresh the arrows when zooming */
- computedLinks = getLinkList(getZoomStartTime(), getZoomEndTime(), getResolution(), getMonitor());
+ computedLinks = getLinkList(zoomStartTime, zoomEndTime, resolution, monitor);
ViewFilterDialog filterDialog = getViewFilterDialog();
if (filterDialog != null && computedLinks != null) {
if (filterDialog.hasActiveSavedFilters()) {
@@ -651,9 +655,9 @@
List<ILinkEvent> links = computedLinks;
/* Refresh the view-specific markers when zooming */
try (TraceCompassLogUtils.ScopeLog markerLoglog = new TraceCompassLogUtils.ScopeLog(LOGGER, Level.FINER, "ZoomThread:GettingMarkers")) { //$NON-NLS-1$
- List<IMarkerEvent> newMarkers = new ArrayList<>(getViewMarkerList(incorrectSample, getZoomStartTime(), getZoomEndTime(), getResolution(), getMonitor()));
+ List<IMarkerEvent> newMarkers = new ArrayList<>(getViewMarkerList(incorrectSample, zoomStartTime, zoomEndTime, resolution, monitor));
/* Refresh the trace-specific markers when zooming */
- newMarkers.addAll(getTraceMarkerList(getZoomStartTime(), getZoomEndTime(), getResolution(), getMonitor()));
+ newMarkers.addAll(getTraceMarkerList(zoomStartTime, zoomEndTime, resolution, monitor));
applyResults(() -> {
if (links != null) {
fTimeGraphViewer.setLinks(links);
@@ -684,7 +688,7 @@
// Sampling is cleared when calling restartZoomThread() so that
// during filtering the entries are refreshed
- zoomEntries(incorrectSample, getZoomStartTime(), getZoomEndTime(), getResolution(), getMonitor());
+ zoomEntries(incorrectSample, zoomStartTime, zoomEndTime, resolution, monitor);
}
synchronized (fZoomThreadResultLock) {
if (Thread.currentThread() == fZoomThread) {
@@ -695,10 +699,10 @@
/* Do a full filter search as a second pass */
try (TraceCompassLogUtils.ScopeLog log = new TraceCompassLogUtils.ScopeLog(LOGGER, Level.FINER, "ZoomThread:GettingStatesFullSearch")) { //$NON-NLS-1$
for (TimeGraphEntry entry : fEntries) {
- if (getMonitor().isCanceled()) {
+ if (monitor.isCanceled()) {
return;
}
- zoomEntries(Collections.singleton(entry), getZoomStartTime(), getZoomEndTime(), getResolution(), true, getMonitor());
+ zoomEntries(Collections.singleton(entry), zoomStartTime, zoomEndTime, resolution, true, monitor);
refresh();
}
}