summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
abba540)
Change-Id: Ib665794aaba3ff56599a2db6041c01f0ee0149f7
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/71541
Reviewed-by: Hudson CI
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
import java.io.IOException;
import java.io.ObjectInputStream;
import java.util.Collection;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.util.Collection;
+import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.tracecompass.analysis.os.linux.core.kernel.KernelTidAspect;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.tracecompass.analysis.os.linux.core.kernel.KernelTidAspect;
+import org.eclipse.tracecompass.analysis.os.linux.core.tid.TidAnalysisModule;
import org.eclipse.tracecompass.analysis.os.linux.core.trace.IKernelAnalysisEventLayout;
import org.eclipse.tracecompass.analysis.os.linux.core.trace.IKernelTrace;
import org.eclipse.tracecompass.analysis.timing.core.segmentstore.AbstractSegmentStoreAnalysisEventBasedModule;
import org.eclipse.tracecompass.segmentstore.core.ISegment;
import org.eclipse.tracecompass.segmentstore.core.ISegmentStore;
import org.eclipse.tracecompass.analysis.os.linux.core.trace.IKernelAnalysisEventLayout;
import org.eclipse.tracecompass.analysis.os.linux.core.trace.IKernelTrace;
import org.eclipse.tracecompass.analysis.timing.core.segmentstore.AbstractSegmentStoreAnalysisEventBasedModule;
import org.eclipse.tracecompass.segmentstore.core.ISegment;
import org.eclipse.tracecompass.segmentstore.core.ISegmentStore;
+import org.eclipse.tracecompass.tmf.core.analysis.IAnalysisModule;
import org.eclipse.tracecompass.tmf.core.event.ITmfEvent;
import org.eclipse.tracecompass.tmf.core.segment.ISegmentAspect;
import org.eclipse.tracecompass.tmf.core.event.ITmfEvent;
import org.eclipse.tracecompass.tmf.core.segment.ISegmentAspect;
+import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
/**
* @author Alexandre Montplaisir
/**
* @author Alexandre Montplaisir
+ @Override
+ protected Iterable<IAnalysisModule> getDependentAnalyses() {
+ ITmfTrace trace = getTrace();
+ if (trace == null) {
+ throw new IllegalStateException();
+ }
+ IAnalysisModule module = trace.getAnalysisModule(TidAnalysisModule.ID);
+ if (module == null) {
+ return Collections.EMPTY_SET;
+ }
+ return ImmutableSet.of(module);
+ }
+
@Override
public Iterable<ISegmentAspect> getSegmentAspects() {
return BASE_ASPECTS;
@Override
public Iterable<ISegmentAspect> getSegmentAspects() {
return BASE_ASPECTS;
return checkNotNull((Object[]) ois.readObject());
}
return checkNotNull((Object[]) ois.readObject());
}
- private static class SyscallLatencyAnalysisRequest extends AbstractSegmentStoreAnalysisRequest {
+ private class SyscallLatencyAnalysisRequest extends AbstractSegmentStoreAnalysisRequest {
private final Map<Integer, SystemCall.InitialInfo> fOngoingSystemCalls = new HashMap<>();
private @Nullable IKernelAnalysisEventLayout fLayout;
private final Map<Integer, SystemCall.InitialInfo> fOngoingSystemCalls = new HashMap<>();
private @Nullable IKernelAnalysisEventLayout fLayout;
import org.eclipse.tracecompass.tmf.core.exceptions.TmfAnalysisException;
import org.eclipse.tracecompass.tmf.core.request.ITmfEventRequest;
import org.eclipse.tracecompass.tmf.core.request.TmfEventRequest;
import org.eclipse.tracecompass.tmf.core.exceptions.TmfAnalysisException;
import org.eclipse.tracecompass.tmf.core.request.ITmfEventRequest;
import org.eclipse.tracecompass.tmf.core.request.TmfEventRequest;
+import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimeRange;
import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
/**
import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
/**
/**
* Abstract event request to fill a a segment store
*/
/**
* Abstract event request to fill a a segment store
*/
- protected static abstract class AbstractSegmentStoreAnalysisRequest extends TmfEventRequest {
+ protected abstract class AbstractSegmentStoreAnalysisRequest extends TmfEventRequest {
private final ISegmentStore<ISegment> fSegmentStore;
private final ISegmentStore<ISegment> fSegmentStore;
* a segment store to fill
*/
public AbstractSegmentStoreAnalysisRequest(ISegmentStore<ISegment> segmentStore) {
* a segment store to fill
*/
public AbstractSegmentStoreAnalysisRequest(ISegmentStore<ISegment> segmentStore) {
- super(ITmfEvent.class, 0, ITmfEventRequest.ALL_DATA, ExecutionType.BACKGROUND);
+ super(ITmfEvent.class, TmfTimeRange.ETERNITY, 0, ITmfEventRequest.ALL_DATA, ExecutionType.BACKGROUND, AbstractSegmentStoreAnalysisEventBasedModule.this.getDependencyLevel());
/*
* We do NOT make a copy here! We want to modify the list that was
* passed in parameter.
/*
* We do NOT make a copy here! We want to modify the list that was
* passed in parameter.
timeRange,
index,
ITmfEventRequest.ALL_DATA,
timeRange,
index,
ITmfEventRequest.ALL_DATA,
- ITmfEventRequest.ExecutionType.BACKGROUND);
+ ITmfEventRequest.ExecutionType.BACKGROUND,
+ TmfStateSystemAnalysisModule.this.getDependencyLevel());
this.sci = sp;
trace = sci.getTrace();
this.sci = sp;
trace = sci.getTrace();