Time queries now clamped to the range of the state system.
Change-Id: Ifa4750bbfe57d5e2df34cc418553644d3891c377
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/72855
Reviewed-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
import org.eclipse.tracecompass.statesystem.core.StateSystemUtils;
import org.eclipse.tracecompass.statesystem.core.exceptions.AttributeNotFoundException;
import org.eclipse.tracecompass.statesystem.core.exceptions.StateSystemDisposedException;
import org.eclipse.tracecompass.statesystem.core.StateSystemUtils;
import org.eclipse.tracecompass.statesystem.core.exceptions.AttributeNotFoundException;
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.statesystem.core.statevalue.ITmfStateValue;
import org.eclipse.tracecompass.tmf.core.statesystem.TmfStateSystemAnalysisModule;
import org.eclipse.tracecompass.statesystem.core.interval.ITmfStateInterval;
import org.eclipse.tracecompass.statesystem.core.statevalue.ITmfStateValue;
import org.eclipse.tracecompass.tmf.core.statesystem.TmfStateSystemAnalysisModule;
}
boolean complete = false;
}
boolean complete = false;
- long currentEnd = start;
+ long currentEnd = Math.max(start, ss.getStartTime());
while (!complete && currentEnd < end) {
complete = ss.waitUntilBuilt(BUILD_UPDATE_TIMEOUT);
while (!complete && currentEnd < end) {
complete = ss.waitUntilBuilt(BUILD_UPDATE_TIMEOUT);
try {
execNameQuark = kernelSs.getQuarkRelative(tidQuark, Attributes.EXEC_NAME);
execNameIntervals = StateSystemUtils.queryHistoryRange(kernelSs, execNameQuark, getStartTime(), getEndTime());
try {
execNameQuark = kernelSs.getQuarkRelative(tidQuark, Attributes.EXEC_NAME);
execNameIntervals = StateSystemUtils.queryHistoryRange(kernelSs, execNameQuark, getStartTime(), getEndTime());
- } catch (AttributeNotFoundException e) {
+ } catch (TimeRangeException | AttributeNotFoundException e) {
/*
* No information on this thread (yet?), skip it for now
*/
/*
* No information on this thread (yet?), skip it for now
*/
setXAxis(xvalues);
boolean complete = false;
setXAxis(xvalues);
boolean complete = false;
- long currentEnd = start;
+ long currentEnd = Math.max(ss.getStartTime(), start);
while (!complete && currentEnd < end) {
while (!complete && currentEnd < end) {
- long traceStart = getStartTime();
+ long traceStart = Math.max(getStartTime(), ss.getStartTime());
long traceEnd = getEndTime();
long offset = getTimeOffset();
long selectedThread = fSelectedThread;
long traceEnd = getEndTime();
long offset = getTimeOffset();
long selectedThread = fSelectedThread;