Search in sources :

Example 6 with TimeGraphModel

use of org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphModel in project tracecompass by tracecompass.

the class ThreadStatusDataProviderTest method assertRows.

private static void assertRows(ThreadStatusDataProvider provider, Map<Long, String> idsToNames) throws IOException {
    TmfModelResponse<TimeGraphModel> rowResponse = provider.fetchRowModel(FetchParametersUtils.selectionTimeQueryToMap(new SelectionTimeQueryFilter(1, 80, 80, idsToNames.keySet())), null);
    assertNotNull(rowResponse);
    assertEquals(ITmfResponse.Status.COMPLETED, rowResponse.getStatus());
    TimeGraphModel rowModel = rowResponse.getModel();
    assertNotNull(rowModel);
    List<@NonNull ITimeGraphRowModel> rows = rowModel.getRows();
    // ensure row order
    rows.sort(Comparator.comparingLong(ITimeGraphRowModel::getEntryID));
    List<String> expectedStrings = Files.readAllLines(Paths.get("testfiles/kernel_analysis/expectedThreadStatusRows"));
    assertEquals(expectedStrings.size(), rows.size());
    for (int i = 0; i < expectedStrings.size(); i++) {
        String expectedString = expectedStrings.get(i);
        String[] split = expectedString.split(":");
        ITimeGraphRowModel row = rows.get(i);
        assertEquals(split[0], idsToNames.get(row.getEntryID()));
        assertEqualsStates(split[1], row.getStates(), split[0]);
    }
}
Also used : ITimeGraphRowModel(org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphRowModel) SelectionTimeQueryFilter(org.eclipse.tracecompass.tmf.core.model.filters.SelectionTimeQueryFilter) TimeGraphModel(org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphModel)

Example 7 with TimeGraphModel

use of org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphModel in project tracecompass by tracecompass.

the class ResourcesStatusDataProvider method getRowModel.

@Override
public TimeGraphModel getRowModel(ITmfStateSystem ss, @NonNull Map<@NonNull String, @NonNull Object> parameters, @Nullable IProgressMonitor monitor) throws StateSystemDisposedException {
    TreeMultimap<Integer, ITmfStateInterval> intervals = TreeMultimap.create(Comparator.naturalOrder(), Comparator.comparing(ITmfStateInterval::getStartTime));
    SelectionTimeQueryFilter filter = FetchParametersUtils.createSelectionTimeQuery(parameters);
    if (filter == null) {
        return null;
    }
    Map<@NonNull Long, @NonNull Integer> idsToQuark = getSelectedEntries(filter);
    /* Add the mapping for twin entries as they are not in the parent class BiMap */
    addTwinIrqIds(filter, idsToQuark);
    Collection<Long> times = getTimes(filter, ss.getStartTime(), ss.getCurrentEndTime());
    /* Do the actual query */
    Collection<@NonNull Integer> quarks = addThreadStatus(ss, idsToQuark.values());
    for (ITmfStateInterval interval : ss.query2D(quarks, times)) {
        if (monitor != null && monitor.isCanceled()) {
            return null;
        }
        intervals.put(interval.getAttribute(), interval);
    }
    Map<@NonNull Integer, @NonNull Predicate<@NonNull Multimap<@NonNull String, @NonNull Object>>> predicates = new HashMap<>();
    Multimap<@NonNull Integer, @NonNull String> regexesMap = DataProviderParameterUtils.extractRegexFilter(parameters);
    if (regexesMap != null) {
        predicates.putAll(computeRegexPredicate(regexesMap));
    }
    @NonNull List<@NonNull ITimeGraphRowModel> rows = new ArrayList<>();
    for (Map.Entry<Long, Integer> idToQuark : idsToQuark.entrySet()) {
        if (monitor != null && monitor.isCanceled()) {
            return null;
        }
        Long key = Objects.requireNonNull(idToQuark.getKey());
        List<ITimeGraphState> eventList = new ArrayList<>();
        for (ITmfStateInterval interval : intervals.get(idToQuark.getValue())) {
            long startTime = interval.getStartTime();
            long duration = interval.getEndTime() - startTime + 1;
            Object status = interval.getValue();
            Type type = fEntryModelTypes.get(interval.getAttribute());
            if (status instanceof Integer) {
                int s = (int) status;
                int currentThreadQuark = ss.optQuarkRelative(interval.getAttribute(), Attributes.CURRENT_THREAD);
                if (type == Type.CPU && s == StateValues.CPU_STATUS_RUN_SYSCALL) {
                    // add events for all the sampled current threads.
                    List<@NonNull ITimeGraphState> syscalls = getSyscalls(ss, interval, intervals.get(currentThreadQuark));
                    syscalls.forEach(timeGraphState -> applyFilterAndAddState(eventList, timeGraphState, key, predicates, monitor));
                } else if (type == Type.CPU && s == StateValues.CPU_STATUS_RUN_USERMODE) {
                    // add events for all the sampled current threads.
                    List<@NonNull TimeGraphState> currentThreads = getCurrentThreads(ss, interval, intervals.get(currentThreadQuark));
                    currentThreads.forEach(timeGraphState -> applyFilterAndAddState(eventList, timeGraphState, key, predicates, monitor));
                } else if (type == Type.CURRENT_THREAD && s != 0) {
                    String execName = null;
                    synchronized (fExecNamesCache) {
                        if (fExecNamesCache.containsEntry(status, interval)) {
                            NavigableSet<ITmfStateInterval> intervalSet = fExecNamesCache.get(s);
                            ITmfStateInterval execNameInterval = intervalSet.ceiling(interval);
                            if (execNameInterval != null && CACHE_COMPARATOR.compare(execNameInterval, interval) == 0) {
                                execName = (String) execNameInterval.getValue();
                            }
                        } else {
                            int quark = ss.optQuarkAbsolute(Attributes.THREADS, Integer.toString(s), Attributes.EXEC_NAME);
                            if (quark != ITmfStateSystem.INVALID_ATTRIBUTE) {
                                ITmfStateInterval namedInterval = ss.querySingleState(interval.getEndTime(), quark);
                                fExecNamesCache.put(s, namedInterval);
                                execName = (String) namedInterval.getValue();
                            }
                        }
                    }
                    TimeGraphState timeGraphState = new TimeGraphState(startTime, duration, execName != null ? execName + ' ' + '(' + String.valueOf(s) + ')' : String.valueOf(s), getSpecificStyleForTid(s));
                    applyFilterAndAddState(eventList, timeGraphState, key, predicates, monitor);
                } else if (type == Type.CURRENT_THREAD) {
                    // add null state when current thread is 0
                    ITimeGraphState timeGraphState = new TimeGraphState(startTime, duration, Integer.MIN_VALUE);
                    applyFilterAndAddState(eventList, timeGraphState, key, predicates, monitor);
                } else {
                    TimeGraphState timeGraphState = new TimeGraphState(startTime, duration, null, getElementStyle(type, s));
                    applyFilterAndAddState(eventList, timeGraphState, key, predicates, monitor);
                }
            } else if ((status instanceof Long) && (type == Type.FREQUENCY)) {
                long s = (long) status;
                // The value needs to fit in an integer (relative to max frequency)
                Long maxFrequency = fFreqMap.get(interval.getAttribute());
                TimeGraphState timeGraphState = new TimeGraphState(startTime, duration, String.valueOf(FREQUENCY_FORMATTER.format(s)), getSpecificStyleForFrequency((int) (s / FREQUENCY_MULTIPLIER), key, maxFrequency));
                applyFilterAndAddState(eventList, timeGraphState, key, predicates, monitor);
            } else {
                ITimeGraphState timeGraphState = new TimeGraphState(startTime, duration, Integer.MIN_VALUE);
                applyFilterAndAddState(eventList, timeGraphState, key, predicates, monitor);
            }
        }
        rows.add(new TimeGraphRowModel(idToQuark.getKey(), eventList));
    }
    synchronized (fExecNamesCache) {
        fExecNamesCache.clear();
    }
    return new TimeGraphModel(rows);
}
Also used : Arrays(java.util.Arrays) ITmfCallsite(org.eclipse.tracecompass.tmf.core.event.lookup.ITmfCallsite) Format(java.text.Format) OsStrings(org.eclipse.tracecompass.analysis.os.linux.core.model.OsStrings) IOutputAnnotationProvider(org.eclipse.tracecompass.internal.provisional.tmf.core.model.annotations.IOutputAnnotationProvider) ITmfEventAspect(org.eclipse.tracecompass.tmf.core.event.aspect.ITmfEventAspect) Attributes(org.eclipse.tracecompass.internal.analysis.os.linux.core.kernel.Attributes) AbstractTimeGraphDataProvider(org.eclipse.tracecompass.internal.tmf.core.model.timegraph.AbstractTimeGraphDataProvider) HashMultimap(com.google.common.collect.HashMultimap) FieldPosition(java.text.FieldPosition) Nullable(org.eclipse.jdt.annotation.Nullable) TreeMultimap(com.google.common.collect.TreeMultimap) KernelAnalysisModule(org.eclipse.tracecompass.analysis.os.linux.core.kernel.KernelAnalysisModule) ITmfStateSystem(org.eclipse.tracecompass.statesystem.core.ITmfStateSystem) Map(java.util.Map) DecimalUnitFormat(org.eclipse.tracecompass.common.core.format.DecimalUnitFormat) ITmfCallsiteResolver(org.eclipse.tracecompass.tmf.core.analysis.callsite.ITmfCallsiteResolver) TmfStrings(org.eclipse.tracecompass.tmf.core.TmfStrings) LinuxStyle(org.eclipse.tracecompass.internal.analysis.os.linux.core.registry.LinuxStyle) TmfDeviceAspect(org.eclipse.tracecompass.tmf.core.event.aspect.TmfDeviceAspect) RGBAColor(org.eclipse.tracecompass.tmf.core.presentation.RGBAColor) OutputElementStyle(org.eclipse.tracecompass.tmf.core.model.OutputElementStyle) BiMap(com.google.common.collect.BiMap) ITmfTrace(org.eclipse.tracecompass.tmf.core.trace.ITmfTrace) TmfCpuAspect(org.eclipse.tracecompass.tmf.core.event.aspect.TmfCpuAspect) NLS(org.eclipse.osgi.util.NLS) ImmutableMap(com.google.common.collect.ImmutableMap) Predicate(java.util.function.Predicate) Collection(java.util.Collection) FetchParametersUtils(org.eclipse.tracecompass.internal.tmf.core.model.filters.FetchParametersUtils) IOutputStyleProvider(org.eclipse.tracecompass.tmf.core.model.IOutputStyleProvider) Set(java.util.Set) NavigableSet(java.util.NavigableSet) OutputStyleModel(org.eclipse.tracecompass.tmf.core.model.OutputStyleModel) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) SelectionTimeQueryFilter(org.eclipse.tracecompass.tmf.core.model.filters.SelectionTimeQueryFilter) Objects(java.util.Objects) List(java.util.List) Entry(java.util.Map.Entry) X11ColorUtils(org.eclipse.tracecompass.tmf.core.dataprovider.X11ColorUtils) CallsiteAnalysis(org.eclipse.tracecompass.internal.tmf.core.analysis.callsite.CallsiteAnalysis) AnnotationModel(org.eclipse.tracecompass.internal.provisional.tmf.core.model.annotations.AnnotationModel) NonNull(org.eclipse.jdt.annotation.NonNull) AnnotationCategoriesModel(org.eclipse.tracecompass.internal.provisional.tmf.core.model.annotations.AnnotationCategoriesModel) Type(org.eclipse.tracecompass.internal.analysis.os.linux.core.resourcesstatus.ResourcesEntryModel.Type) ITmfStateInterval(org.eclipse.tracecompass.statesystem.core.interval.ITmfStateInterval) Iterables(com.google.common.collect.Iterables) CommonStatusMessage(org.eclipse.tracecompass.tmf.core.model.CommonStatusMessage) ITimeGraphRowModel(org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphRowModel) TmfTreeModel(org.eclipse.tracecompass.tmf.core.model.tree.TmfTreeModel) HashMap(java.util.HashMap) TimeGraphModel(org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphModel) Multimap(com.google.common.collect.Multimap) Function(java.util.function.Function) ArrayList(java.util.ArrayList) EventAnnotationProvider(org.eclipse.tracecompass.internal.provisional.tmf.core.model.annotations.EventAnnotationProvider) HashSet(java.util.HashSet) LinkedHashMap(java.util.LinkedHashMap) TimeGraphRowModel(org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphRowModel) ImmutableList(com.google.common.collect.ImmutableList) TmfModelResponse(org.eclipse.tracecompass.tmf.core.response.TmfModelResponse) RotatingPaletteProvider(org.eclipse.tracecompass.tmf.core.presentation.RotatingPaletteProvider) ITimeGraphArrow(org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphArrow) StateSystemDisposedException(org.eclipse.tracecompass.statesystem.core.exceptions.StateSystemDisposedException) StyleProperties(org.eclipse.tracecompass.tmf.core.model.StyleProperties) ITmfResponse(org.eclipse.tracecompass.tmf.core.response.ITmfResponse) ITimeGraphState(org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphState) StateValues(org.eclipse.tracecompass.analysis.os.linux.core.kernel.StateValues) TimeGraphState(org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphState) DataProviderParameterUtils(org.eclipse.tracecompass.tmf.core.dataprovider.DataProviderParameterUtils) IKernelTrace(org.eclipse.tracecompass.analysis.os.linux.core.trace.IKernelTrace) Ints(com.google.common.primitives.Ints) HashBiMap(com.google.common.collect.HashBiMap) TmfTraceUtils(org.eclipse.tracecompass.tmf.core.trace.TmfTraceUtils) Comparator(java.util.Comparator) Collections(java.util.Collections) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) ITmfStateInterval(org.eclipse.tracecompass.statesystem.core.interval.ITmfStateInterval) ArrayList(java.util.ArrayList) ITimeGraphRowModel(org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphRowModel) TimeGraphRowModel(org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphRowModel) Predicate(java.util.function.Predicate) ITimeGraphRowModel(org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphRowModel) SelectionTimeQueryFilter(org.eclipse.tracecompass.tmf.core.model.filters.SelectionTimeQueryFilter) NonNull(org.eclipse.jdt.annotation.NonNull) List(java.util.List) ArrayList(java.util.ArrayList) ImmutableList(com.google.common.collect.ImmutableList) TimeGraphModel(org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphModel) ITimeGraphState(org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphState) Type(org.eclipse.tracecompass.internal.analysis.os.linux.core.resourcesstatus.ResourcesEntryModel.Type) ITimeGraphState(org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphState) TimeGraphState(org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphState) Map(java.util.Map) BiMap(com.google.common.collect.BiMap) ImmutableMap(com.google.common.collect.ImmutableMap) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) HashBiMap(com.google.common.collect.HashBiMap)

Example 8 with TimeGraphModel

use of org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphModel in project tracecompass by tracecompass.

the class ThreadStatusDataProvider method fetchRowModel.

@Override
@NonNull
public TmfModelResponse<@NonNull TimeGraphModel> fetchRowModel(@NonNull Map<@NonNull String, @NonNull Object> fetchParameters, IProgressMonitor monitor) {
    ITmfStateSystem ss = fModule.getStateSystem();
    if (ss == null) {
        return new TmfModelResponse<>(null, ITmfResponse.Status.FAILED, CommonStatusMessage.ANALYSIS_INITIALIZATION_FAILED);
    }
    TreeMultimap<Integer, ITmfStateInterval> intervals = TreeMultimap.create(Comparator.naturalOrder(), Comparator.comparing(ITmfStateInterval::getStartTime));
    SelectionTimeQueryFilter filter = FetchParametersUtils.createSelectionTimeQuery(fetchParameters);
    Map<Long, Integer> selectedIdsToQuarks = getSelectedIdsToQuarks(filter);
    Collection<Integer> stateAndSyscallQuarks = addSyscall(selectedIdsToQuarks.values(), ss);
    Collection<Long> times = getTimes(ss, filter);
    try {
        /* Do the actual query */
        for (ITmfStateInterval interval : ss.query2D(stateAndSyscallQuarks, times)) {
            if (monitor != null && monitor.isCanceled()) {
                return new TmfModelResponse<>(null, ITmfResponse.Status.CANCELLED, CommonStatusMessage.TASK_CANCELLED);
            }
            intervals.put(interval.getAttribute(), interval);
        }
    } catch (TimeRangeException | StateSystemDisposedException e) {
        return new TmfModelResponse<>(null, ITmfResponse.Status.FAILED, String.valueOf(e.getMessage()));
    }
    Map<@NonNull Integer, @NonNull Predicate<@NonNull Multimap<@NonNull String, @NonNull Object>>> predicates = new HashMap<>();
    Multimap<@NonNull Integer, @NonNull String> regexesMap = DataProviderParameterUtils.extractRegexFilter(fetchParameters);
    if (regexesMap != null) {
        predicates.putAll(computeRegexPredicate(regexesMap));
    }
    @NonNull List<@NonNull ITimeGraphRowModel> rows = new ArrayList<>();
    for (Entry<Long, Integer> entry : selectedIdsToQuarks.entrySet()) {
        int quark = entry.getValue();
        NavigableSet<ITmfStateInterval> states = intervals.get(quark);
        NavigableSet<ITmfStateInterval> syscalls = intervals.get(ss.optQuarkRelative(quark, Attributes.SYSTEM_CALL));
        if (monitor != null && monitor.isCanceled()) {
            return new TmfModelResponse<>(null, ITmfResponse.Status.CANCELLED, CommonStatusMessage.TASK_CANCELLED);
        }
        List<ITimeGraphState> eventList = new ArrayList<>();
        states.forEach(i -> {
            ITimeGraphState timegraphState = createTimeGraphState(i, syscalls);
            Long key = Objects.requireNonNull(entry.getKey());
            applyFilterAndAddState(eventList, timegraphState, key, predicates, monitor);
        });
        rows.add(new TimeGraphRowModel(entry.getKey(), eventList));
    }
    return new TmfModelResponse<>(new TimeGraphModel(rows), ITmfResponse.Status.COMPLETED, CommonStatusMessage.COMPLETED);
}
Also used : HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) ITmfStateInterval(org.eclipse.tracecompass.statesystem.core.interval.ITmfStateInterval) ArrayList(java.util.ArrayList) TmfModelResponse(org.eclipse.tracecompass.tmf.core.response.TmfModelResponse) ITimeGraphRowModel(org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphRowModel) TimeGraphRowModel(org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphRowModel) Predicate(java.util.function.Predicate) StateSystemDisposedException(org.eclipse.tracecompass.statesystem.core.exceptions.StateSystemDisposedException) ITimeGraphRowModel(org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphRowModel) SelectionTimeQueryFilter(org.eclipse.tracecompass.tmf.core.model.filters.SelectionTimeQueryFilter) NonNull(org.eclipse.jdt.annotation.NonNull) ITmfStateSystem(org.eclipse.tracecompass.statesystem.core.ITmfStateSystem) TimeRangeException(org.eclipse.tracecompass.statesystem.core.exceptions.TimeRangeException) TimeGraphModel(org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphModel) ITimeGraphState(org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphState) AtomicLong(java.util.concurrent.atomic.AtomicLong) NonNull(org.eclipse.jdt.annotation.NonNull)

Example 9 with TimeGraphModel

use of org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphModel in project tracecompass by tracecompass.

the class ControlFlowView method synchingToTime.

@Override
protected void synchingToTime(long time) {
    List<TimeGraphEntry> traceEntries = getEntryList(getTrace());
    if (traceEntries == null) {
        return;
    }
    for (TraceEntry traceEntry : Iterables.filter(traceEntries, TraceEntry.class)) {
        Iterable<TimeGraphEntry> unfiltered = Utils.flatten(traceEntry);
        Map<Long, TimeGraphEntry> map = Maps.uniqueIndex(unfiltered, e -> e.getEntryModel().getId());
        // use time -1 as a lower bound for the end of Time events to be included.
        SelectionTimeQueryFilter filter = new SelectionTimeQueryFilter(time - 1, time, 2, map.keySet());
        TmfModelResponse<@NonNull TimeGraphModel> response = traceEntry.getProvider().fetchRowModel(FetchParametersUtils.selectionTimeQueryToMap(filter), null);
        TimeGraphModel model = response.getModel();
        if (model == null) {
            continue;
        }
        for (ITimeGraphRowModel row : model.getRows()) {
            if (syncToRow(row, time, map)) {
                return;
            }
        }
    }
}
Also used : ITimeGraphRowModel(org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphRowModel) SelectionTimeQueryFilter(org.eclipse.tracecompass.tmf.core.model.filters.SelectionTimeQueryFilter) TimeGraphModel(org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphModel) ITimeGraphEntry(org.eclipse.tracecompass.tmf.ui.widgets.timegraph.model.ITimeGraphEntry) TimeGraphEntry(org.eclipse.tracecompass.tmf.ui.widgets.timegraph.model.TimeGraphEntry)

Example 10 with TimeGraphModel

use of org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphModel in project tracecompass by tracecompass.

the class FlameChartView method synchingToTime.

/**
 * @since 1.2
 */
@Override
protected void synchingToTime(final long time) {
    List<TimeGraphEntry> traceEntries = getEntryList(getTrace());
    if (traceEntries != null) {
        for (TraceEntry traceEntry : Iterables.filter(traceEntries, TraceEntry.class)) {
            Iterable<TimeGraphEntry> unfiltered = Utils.flatten(traceEntry);
            Map<Long, TimeGraphEntry> map = Maps.uniqueIndex(unfiltered, e -> e.getEntryModel().getId());
            // use time -1 as a lower bound for the end of Time events to be included.
            SelectionTimeQueryFilter filter = new SelectionTimeQueryFilter(time - 1, time, 2, map.keySet());
            TmfModelResponse<@NonNull TimeGraphModel> response = traceEntry.getProvider().fetchRowModel(FetchParametersUtils.selectionTimeQueryToMap(filter), null);
            TimeGraphModel model = response.getModel();
            if (model != null) {
                for (ITimeGraphRowModel row : model.getRows()) {
                    syncToRow(row, time, map);
                }
            }
        }
    }
    fSyncSelection = false;
    if (Display.getCurrent() != null) {
        getTimeGraphViewer().refresh();
    }
}
Also used : ITimeGraphRowModel(org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphRowModel) SelectionTimeQueryFilter(org.eclipse.tracecompass.tmf.core.model.filters.SelectionTimeQueryFilter) TimeGraphModel(org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphModel) ITimeGraphEntry(org.eclipse.tracecompass.tmf.ui.widgets.timegraph.model.ITimeGraphEntry) TimeGraphEntry(org.eclipse.tracecompass.tmf.ui.widgets.timegraph.model.TimeGraphEntry)

Aggregations

TimeGraphModel (org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphModel)16 SelectionTimeQueryFilter (org.eclipse.tracecompass.tmf.core.model.filters.SelectionTimeQueryFilter)12 ITimeGraphRowModel (org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphRowModel)12 TmfModelResponse (org.eclipse.tracecompass.tmf.core.response.TmfModelResponse)10 ArrayList (java.util.ArrayList)9 NonNull (org.eclipse.jdt.annotation.NonNull)9 HashMap (java.util.HashMap)7 ITimeGraphState (org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphState)7 ITmfStateSystem (org.eclipse.tracecompass.statesystem.core.ITmfStateSystem)6 StateSystemDisposedException (org.eclipse.tracecompass.statesystem.core.exceptions.StateSystemDisposedException)6 Map (java.util.Map)5 AtomicLong (java.util.concurrent.atomic.AtomicLong)5 TimeRangeException (org.eclipse.tracecompass.statesystem.core.exceptions.TimeRangeException)5 TimeGraphRowModel (org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphRowModel)5 List (java.util.List)4 Predicate (java.util.function.Predicate)4 ITimeGraphEntry (org.eclipse.tracecompass.tmf.ui.widgets.timegraph.model.ITimeGraphEntry)4 TimeGraphEntry (org.eclipse.tracecompass.tmf.ui.widgets.timegraph.model.TimeGraphEntry)4 LinkedHashMap (java.util.LinkedHashMap)3 ITmfStateInterval (org.eclipse.tracecompass.statesystem.core.interval.ITmfStateInterval)3