Previously, the critical path was calculated starting at the start of the
window range, but that behavior was not intuitive to the user and it was not
possible to change that window range once it is calculated.
Now the critical path is calculated for the whole of the worker's lifetime.
Change-Id: Id76192eec04dff6d3c45c1bd1314248d4ea991fb
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/73515
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
import org.eclipse.tracecompass.tmf.core.analysis.IAnalysisModule;
import org.eclipse.tracecompass.tmf.core.analysis.TmfAbstractAnalysisModule;
import org.eclipse.tracecompass.tmf.core.exceptions.TmfAnalysisException;
import org.eclipse.tracecompass.tmf.core.analysis.IAnalysisModule;
import org.eclipse.tracecompass.tmf.core.analysis.TmfAbstractAnalysisModule;
import org.eclipse.tracecompass.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimeRange;
import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
-import org.eclipse.tracecompass.tmf.core.trace.TmfTraceManager;
import org.eclipse.tracecompass.tmf.core.trace.TmfTraceUtils;
/**
import org.eclipse.tracecompass.tmf.core.trace.TmfTraceUtils;
/**
fCriticalPath = new TmfGraph();
return true;
}
fCriticalPath = new TmfGraph();
return true;
}
- TmfTimeRange tr = TmfTraceManager.getInstance().getCurrentTraceContext().getWindowRange();
- TmfVertex start = graph.getVertexAt(tr.getStartTime(), worker);
- if (start == null) {
- /*
- * Nothing happens with this worker after start, return an empty
- * graph
- */
- fCriticalPath = new TmfGraph();
- return true;
- }
ICriticalPathAlgorithm cp = getAlgorithm(graph);
try {
ICriticalPathAlgorithm cp = getAlgorithm(graph);
try {
- fCriticalPath = cp.compute(start, null);
+ fCriticalPath = cp.compute(head, null);
return true;
} catch (CriticalPathAlgorithmException e) {
Activator.getInstance().logError(NonNullUtils.nullToEmptyString(e.getMessage()), e);
return true;
} catch (CriticalPathAlgorithmException e) {
Activator.getInstance().logError(NonNullUtils.nullToEmptyString(e.getMessage()), e);