fTimeGraphCombo.setInput(entries);
fTimeGraphCombo.getTimeGraphViewer().setTimeBounds(fStartTime, fEndTime);
- long timestamp = fTrace == null ? 0 : fTrace.getCurrentTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- long startTime = fTrace == null ? 0 : fTrace.getCurrentRange().getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- long endTime = fTrace == null ? 0 : fTrace.getCurrentRange().getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
+ long timestamp = fTrace == null ? 0 : fTraceManager.getCurrentTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
+ long startTime = fTrace == null ? 0 : fTraceManager.getCurrentRange().getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
+ long endTime = fTrace == null ? 0 : fTraceManager.getCurrentRange().getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
startTime = Math.max(startTime, fStartTime);
endTime = Math.min(endTime, fEndTime);
fTimeGraphCombo.getTimeGraphViewer().setSelectedTime(timestamp, false);
fTimeGraphViewer.setInput(entries);
fTimeGraphViewer.setTimeBounds(fStartTime, fEndTime);
- long timestamp = fTrace == null ? 0 : fTrace.getCurrentTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- long startTime = fTrace == null ? 0 : fTrace.getCurrentRange().getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- long endTime = fTrace == null ? 0 : fTrace.getCurrentRange().getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
+ long timestamp = fTrace == null ? 0 : fTraceManager.getCurrentTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
+ long startTime = fTrace == null ? 0 : fTraceManager.getCurrentRange().getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
+ long endTime = fTrace == null ? 0 : fTraceManager.getCurrentRange().getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
startTime = Math.max(startTime, fStartTime);
endTime = Math.min(endTime, fEndTime);
fTimeGraphViewer.setSelectedTime(timestamp, false);
TmfTimestamp initRange = new TmfTimestamp(DEFAULT_INITIAL_OFFSET_VALUE, ITmfTimestamp.NANOSECOND_SCALE);
assertEquals("getInitialRangeOffset", initRange, fExperiment.getInitialRangeOffset());
-
- assertEquals("getCurrentTime", fExperiment.getTimeRange().getStartTime(), fExperiment.getCurrentTime());
-
- ITmfTimestamp startTimestamp = fExperiment.getTimeRange().getStartTime();
- long endValue = startTimestamp.getValue() + initRange.normalize(0, startTimestamp.getScale()).getValue();
- ITmfTimestamp endTimestamp = new TmfTimestamp(endValue, startTimestamp.getScale());
- TmfTimeRange expectedRange = new TmfTimeRange(startTimestamp, endTimestamp);
- assertEquals("getCurrentRange", expectedRange, fExperiment.getCurrentRange());
}
// ------------------------------------------------------------------------
// verify initial values
TmfTimestamp initRange = new TmfTimestamp(DEFAULT_INITIAL_OFFSET_VALUE, ITmfTimestamp.NANOSECOND_SCALE);
assertEquals("getInitialRangeOffset", initRange, exp.getInitialRangeOffset());
- assertEquals("getCurrentTime", TmfTimestamp.ZERO, exp.getCurrentTime());
- assertEquals("getCurrentRange", TmfTimeRange.NULL_RANGE, exp.getCurrentRange());
exp.dispose();
}
// verify initial values
TmfTimestamp defaultInitRange = new TmfTimestamp(DEFAULT_INITIAL_OFFSET_VALUE, ITmfTimestamp.NANOSECOND_SCALE);
assertEquals("getInitialRangeOffset", defaultInitRange, trace.getInitialRangeOffset());
- assertEquals("getCurrentTime", TmfTimestamp.ZERO, trace.getCurrentTime());
- assertEquals("getCurrentRange", TmfTimeRange.NULL_RANGE, trace.getCurrentRange());
trace.setInitialRangeOffset(new TmfTimestamp(5, ITmfTimestamp.MILLISECOND_SCALE));
trace.indexTrace(true);
} catch (final URISyntaxException e) {
TmfTimestamp initRange = new TmfTimestamp(5, ITmfTimestamp.MILLISECOND_SCALE);
assertEquals("getInitialRangeOffset", initRange, trace.getInitialRangeOffset());
- assertEquals("getCurrentTime", trace.getTimeRange().getStartTime(), trace.getCurrentTime());
-
- ITmfTimestamp startTimestamp = trace.getTimeRange().getStartTime();
- long endValue = startTimestamp.getValue() + initRange.normalize(0, startTimestamp.getScale()).getValue();
- ITmfTimestamp endTimestamp = new TmfTimestamp(endValue, startTimestamp.getScale());
- TmfTimeRange expectedRange = new TmfTimeRange(startTimestamp, endTimestamp);
- assertEquals("getCurrentRange", expectedRange, trace.getCurrentRange());
}
}
* @since 2.0
*/
public ITmfTimestamp getInitialRangeOffset();
-
- /**
- * Return the current selected time.
- *
- * @return the current time stamp
- * @since 2.0
- */
- public ITmfTimestamp getCurrentTime();
-
- /**
- * Return the current selected range.
- *
- * @return the current time range
- * @since 2.0
- */
- public TmfTimeRange getCurrentRange();
}
import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
import org.eclipse.linuxtools.tmf.core.request.ITmfDataRequest;
import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.signal.TmfRangeSynchSignal;
import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimeSynchSignal;
import org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal;
import org.eclipse.linuxtools.tmf.core.signal.TmfTraceRangeUpdatedSignal;
import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateSystem;
// The trace's statistics
private ITmfStatistics fStatistics;
- // The current selected time
- private ITmfTimestamp fCurrentTime = TmfTimestamp.ZERO;
-
- // The current selected range
- private TmfTimeRange fCurrentRange = TmfTimeRange.NULL_RANGE;
-
/**
* The collection of state systems that are registered with this trace. Each
* sub-class can decide to add its (one or many) state system to this map
*
* @throws TmfTraceException If something failed during the initialization
*/
- protected void initialize(final IResource resource, final String path, final Class<? extends ITmfEvent> type) throws TmfTraceException {
+ protected void initialize(final IResource resource,
+ final String path,
+ final Class<? extends ITmfEvent> type)
+ throws TmfTraceException {
if (path == null) {
throw new TmfTraceException("Invalid trace path"); //$NON-NLS-1$
}
return fEndTime;
}
- /**
- * @since 2.0
- */
- @Override
- public ITmfTimestamp getCurrentTime() {
- return fCurrentTime;
- }
-
- /**
- * @since 2.0
- */
- @Override
- public TmfTimeRange getCurrentRange() {
- return fCurrentRange;
- }
-
/**
* @since 2.0
*/
if (fEndTime.equals(TmfTimestamp.BIG_CRUNCH) || (fEndTime.compareTo(timestamp, false) < 0)) {
fEndTime = timestamp;
}
- if (fCurrentRange == TmfTimeRange.NULL_RANGE) {
- fCurrentTime = timestamp;
- ITmfTimestamp initialOffset = getInitialRangeOffset();
- long endValue = timestamp.getValue() + initialOffset.normalize(0, timestamp.getScale()).getValue();
- ITmfTimestamp endTimestamp = new TmfTimestamp(endValue, timestamp.getScale());
- fCurrentRange = new TmfTimeRange(timestamp, endTimestamp);
- }
if (context.hasValidRank()) {
long rank = context.getRank();
if (fNbEvents <= rank) {
}
}
- /**
- * Signal handler for the TmfTimeSynchSignal signal
- *
- * @param signal The incoming signal
- * @since 2.0
- */
- @TmfSignalHandler
- public void synchToTime(final TmfTimeSynchSignal signal) {
- if (signal.getCurrentTime().compareTo(fStartTime) >= 0 && signal.getCurrentTime().compareTo(fEndTime) <= 0) {
- fCurrentTime = signal.getCurrentTime();
- }
- }
-
- /**
- * Signal handler for the TmfRangeSynchSignal signal
- *
- * @param signal The incoming signal
- * @since 2.0
- */
- @TmfSignalHandler
- public void synchToRange(final TmfRangeSynchSignal signal) {
- if (signal.getCurrentTime().compareTo(fStartTime) >= 0 && signal.getCurrentTime().compareTo(fEndTime) <= 0) {
- fCurrentTime = signal.getCurrentTime();
- }
- if (signal.getCurrentRange().getIntersection(getTimeRange()) != null) {
- fCurrentRange = signal.getCurrentRange().getIntersection(getTimeRange());
- }
- }
-
// ------------------------------------------------------------------------
// toString
// ------------------------------------------------------------------------
import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment;
+import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
import org.eclipse.linuxtools.tmf.ui.viewers.TmfViewer;
import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.ITmfColumnDataProvider;
import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfBaseColumnData;
// Sends the time range request only once from this method.
if (fSendRangeRequest) {
fSendRangeRequest = false;
- requestTimeRangeData(trace, fTrace.getCurrentRange());
+ requestTimeRangeData(trace, TmfTraceManager.getInstance().getCurrentRange());
}
}
requestData(trace, signal.getRange());
import org.eclipse.linuxtools.tmf.core.signal.TmfSignal;
import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
+import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
import org.eclipse.linuxtools.tmf.ui.editors.ITmfTraceEditor;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbenchActionConstants;
public abstract class TmfView extends ViewPart implements ITmfComponent {
private final String fName;
+
/**
* Action class for pinning of TmfView.
- *
* @since 2.0
*/
protected PinTmfViewAction fPinAction;
+ /**
+ * Reference to the trace manager
+ * @since 2.0
+ */
+ protected final TmfTraceManager fTraceManager;
+
// ------------------------------------------------------------------------
// Constructor
// ------------------------------------------------------------------------
public TmfView(String viewName) {
super();
fName = viewName;
+ fTraceManager = TmfTraceManager.getInstance();
TmfSignalManager.register(this);
}
fTimeGraphCombo.setInput(entries);
fTimeGraphCombo.getTimeGraphViewer().setTimeBounds(fStartTime, fEndTime);
- long timestamp = fTrace == null ? 0 : fTrace.getCurrentTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- long startTime = fTrace == null ? 0 : fTrace.getCurrentRange().getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- long endTime = fTrace == null ? 0 : fTrace.getCurrentRange().getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
+ long timestamp = fTrace == null ? 0 : fTraceManager.getCurrentTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
+ long startTime = fTrace == null ? 0 : fTraceManager.getCurrentRange().getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
+ long endTime = fTrace == null ? 0 : fTraceManager.getCurrentRange().getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
startTime = Math.max(startTime, fStartTime);
endTime = Math.min(endTime, fEndTime);
selectTime(timestamp);
private void initializeHistograms() {
TmfTimeRange fullRange = updateTraceTimeRange();
- long timestamp = fTrace.getCurrentTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- long startTime = fTrace.getCurrentRange().getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
- long duration = fTrace.getCurrentRange().getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue() - startTime;
+ long timestamp = fTraceManager.getCurrentTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
+ long startTime = fTraceManager.getCurrentRange().getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
+ long duration = fTraceManager.getCurrentRange().getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue() - startTime;
if ((fTimeRangeRequest != null) && !fTimeRangeRequest.isCompleted()) {
fTimeRangeRequest.cancel();
break;
}
}
- fViewer.setSelectedTime(trace.getCurrentTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue(), false);
+ fViewer.setSelectedTime(fTraceManager.getCurrentTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue(), false);
}
}
import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
+import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
import org.eclipse.linuxtools.tmf.core.uml2sd.ITmfSyncSequenceDiagramEvent;
import org.eclipse.linuxtools.tmf.core.uml2sd.TmfSyncSequenceDiagramEvent;
import org.eclipse.linuxtools.tmf.ui.editors.ITmfTraceEditor;
protected TmfTimeRange getSignalTimeRange(ITmfTimestamp startTime) {
fLock.lock();
try {
- long offset = fTrace == null ? 0 : fTrace.getCurrentRange().getEndTime().getDelta(fTrace.getCurrentRange().getStartTime()).normalize(0, startTime.getScale()).getValue();
+ TmfTimeRange currentRange = TmfTraceManager.getInstance().getCurrentRange();
+ long offset = fTrace == null ? 0 : currentRange.getEndTime().getDelta(currentRange.getStartTime()).normalize(0, startTime.getScale()).getValue();
TmfTimestamp initialEndOfWindow = new TmfTimestamp(startTime.getValue() + offset, startTime.getScale(), startTime.getPrecision());
return new TmfTimeRange(startTime, initialEndOfWindow);
}