Search in sources :

Example 1 with TimeGraphRowModel

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

the class XmlTimeGraphDataProvider method createRows.

@NonNull
private Collection<@NonNull ITimeGraphRowModel> createRows(ITmfStateSystem ss, Map<Integer, Long> idToDisplayQuark, long[] timesRequested, @NonNull Map<@NonNull String, @NonNull Object> parameters, @Nullable IProgressMonitor monitor) throws StateSystemDisposedException {
    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));
    }
    long currentEndTime = ss.getCurrentEndTime();
    Map<Integer, ITimeGraphRowModel> quarkToRow = new HashMap<>(idToDisplayQuark.size());
    for (Entry<Integer, Long> entry : idToDisplayQuark.entrySet()) {
        quarkToRow.put(entry.getKey(), new TimeGraphRowModel(entry.getValue(), new ArrayList<>()));
    }
    for (ITmfStateInterval interval : ss.query2D(idToDisplayQuark.keySet(), getTimes(ss, timesRequested))) {
        if (monitor != null && monitor.isCanceled()) {
            return Collections.emptyList();
        }
        ITimeGraphRowModel row = quarkToRow.get(interval.getAttribute());
        if (row != null) {
            List<@NonNull ITimeGraphState> states = row.getStates();
            ITimeGraphState timeGraphState = getStateFromInterval(interval, currentEndTime);
            applyFilterAndAddState(states, timeGraphState, row.getEntryID(), predicates, monitor);
        }
    }
    for (ITimeGraphRowModel model : quarkToRow.values()) {
        model.getStates().sort(Comparator.comparingLong(ITimeGraphState::getStartTime));
    }
    return quarkToRow.values();
}
Also used : HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) ITmfStateInterval(org.eclipse.tracecompass.statesystem.core.interval.ITmfStateInterval) ITimeGraphRowModel(org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphRowModel) TimeGraphRowModel(org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphRowModel) Predicate(java.util.function.Predicate) ITimeGraphState(org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphState) ITimeGraphRowModel(org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphRowModel) NonNull(org.eclipse.jdt.annotation.NonNull) AtomicLong(java.util.concurrent.atomic.AtomicLong) NonNull(org.eclipse.jdt.annotation.NonNull)

Example 2 with TimeGraphRowModel

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

the class StateSystemDataProvider method getModuleRowModels.

private static ITimeGraphRowModel getModuleRowModels(ModuleEntryModel module) {
    TimeGraphRowModel moduleRow = new TimeGraphRowModel(module.getId(), new ArrayList<>());
    List<@NonNull ITimeGraphState> states = moduleRow.getStates();
    states.add(new TimeGraphState(module.getStartTime(), module.getEndTime() - module.getStartTime(), Integer.MAX_VALUE));
    return moduleRow;
}
Also used : ITimeGraphState(org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphState) TimeGraphState(org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphState) ITimeGraphRowModel(org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphRowModel) TimeGraphRowModel(org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphRowModel) ITimeGraphState(org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphState)

Example 3 with TimeGraphRowModel

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

the class StateSystemDataProvider method getRowModels.

private List<@NonNull ITimeGraphRowModel> getRowModels(ITmfStateSystem ss, Map<Integer, Long> idToDisplayQuark, @Nullable List<Long> times, Map<String, Object> fetchParameters, @Nullable IProgressMonitor monitor) throws StateSystemDisposedException {
    // Create predicates
    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));
    }
    // Create quark to row
    Map<Integer, ITimeGraphRowModel> quarkToRow = new HashMap<>(idToDisplayQuark.size());
    for (Entry<Integer, Long> entry : idToDisplayQuark.entrySet()) {
        quarkToRow.put(entry.getKey(), new TimeGraphRowModel(entry.getValue(), new ArrayList<>()));
    }
    for (ITmfStateInterval interval : ss.query2D(idToDisplayQuark.keySet(), getTimes(ss, times))) {
        if (monitor != null && monitor.isCanceled()) {
            return Collections.emptyList();
        }
        ITimeGraphRowModel row = quarkToRow.get(interval.getAttribute());
        if (row != null) {
            List<@NonNull ITimeGraphState> states = row.getStates();
            ITimeGraphState timeGraphState = getStateFromInterval(interval, ss.getCurrentEndTime());
            applyFilterAndAddState(states, timeGraphState, row.getEntryID(), predicates, monitor);
        }
    }
    // sort every row model so their states can be in chronological order
    for (ITimeGraphRowModel model : quarkToRow.values()) {
        model.getStates().sort(Comparator.comparingLong(ITimeGraphState::getStartTime));
    }
    return new ArrayList<>(quarkToRow.values());
}
Also used : HashMap(java.util.HashMap) ConcurrentHashMap(java.util.concurrent.ConcurrentHashMap) ArrayList(java.util.ArrayList) ITmfStateInterval(org.eclipse.tracecompass.statesystem.core.interval.ITmfStateInterval) ITimeGraphRowModel(org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphRowModel) TimeGraphRowModel(org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphRowModel) Predicate(java.util.function.Predicate) ITimeGraphState(org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphState) ITimeGraphRowModel(org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphRowModel) NonNull(org.eclipse.jdt.annotation.NonNull) AtomicLong(java.util.concurrent.atomic.AtomicLong)

Example 4 with TimeGraphRowModel

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

the class StateSystemDataProvider method fetchRowModel.

@Override
@NonNull
public TmfModelResponse<@NonNull TimeGraphModel> fetchRowModel(Map<String, Object> fetchParameters, @Nullable IProgressMonitor monitor) {
    Table<ITmfStateSystem, Integer, Long> table = HashBasedTable.create();
    // Get the quarks to display
    Collection<Long> selectedItems = DataProviderParameterUtils.extractSelectedItems(fetchParameters);
    synchronized (fEntryBuilder) {
        if (selectedItems == null) {
            // No selected items, take them all
            selectedItems = fIDToDisplayQuark.keySet();
        }
        for (Long id : selectedItems) {
            Pair<ITmfStateSystem, Integer> pair = fIDToDisplayQuark.get(id);
            if (pair != null) {
                table.put(pair.getFirst(), pair.getSecond(), id);
            }
        }
    }
    List<@NonNull ITimeGraphRowModel> allRows = new ArrayList<>();
    try {
        List<Long> times = DataProviderParameterUtils.extractTimeRequested(fetchParameters);
        for (Entry<ITmfStateSystem, Map<Integer, Long>> ssEntry : table.rowMap().entrySet()) {
            ITmfStateSystem ss = Objects.requireNonNull(ssEntry.getKey());
            List<@NonNull ITimeGraphRowModel> rows = getRowModels(ss, ssEntry.getValue(), times, fetchParameters, monitor);
            if (monitor != null && monitor.isCanceled()) {
                return new TmfModelResponse<>(null, Status.CANCELLED, CommonStatusMessage.TASK_CANCELLED);
            }
            synchronized (fEntryBuilder) {
                // Add the SS
                Long ssId = fSsToId.get(ss);
                if (ssId != null && selectedItems.contains(ssId)) {
                    TimeGraphRowModel ssRow = new TimeGraphRowModel(ssId, new ArrayList<>());
                    List<@NonNull ITimeGraphState> states = ssRow.getStates();
                    states.add(new TimeGraphState(ss.getStartTime(), ss.getCurrentEndTime() - ss.getStartTime(), Integer.MAX_VALUE));
                    rows.add(ssRow);
                }
            }
            allRows.addAll(rows);
        }
        synchronized (fEntryBuilder) {
            for (ModuleEntryModel module : fModuleEntryModelList) {
                if (selectedItems.contains(module.getId())) {
                    allRows.add(getModuleRowModels(module));
                }
            }
        }
        if (monitor != null && monitor.isCanceled()) {
            return new TmfModelResponse<>(null, Status.CANCELLED, CommonStatusMessage.TASK_CANCELLED);
        }
        return new TmfModelResponse<>(new TimeGraphModel(allRows), Status.COMPLETED, CommonStatusMessage.COMPLETED);
    } catch (IndexOutOfBoundsException | TimeRangeException | StateSystemDisposedException e) {
        return new TmfModelResponse<>(null, Status.FAILED, CommonStatusMessage.STATE_SYSTEM_FAILED);
    }
}
Also used : 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) StateSystemDisposedException(org.eclipse.tracecompass.statesystem.core.exceptions.StateSystemDisposedException) ITimeGraphRowModel(org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphRowModel) 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) ITimeGraphState(org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphState) TimeGraphState(org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphState) AtomicLong(java.util.concurrent.atomic.AtomicLong) HashMap(java.util.HashMap) Map(java.util.Map) ConcurrentHashMap(java.util.concurrent.ConcurrentHashMap) NonNull(org.eclipse.jdt.annotation.NonNull)

Example 5 with TimeGraphRowModel

use of org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphRowModel 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)

Aggregations

ITimeGraphRowModel (org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphRowModel)11 ITimeGraphState (org.eclipse.tracecompass.tmf.core.model.timegraph.ITimeGraphState)11 TimeGraphRowModel (org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphRowModel)11 ArrayList (java.util.ArrayList)9 HashMap (java.util.HashMap)9 NonNull (org.eclipse.jdt.annotation.NonNull)9 Predicate (java.util.function.Predicate)8 ITmfStateInterval (org.eclipse.tracecompass.statesystem.core.interval.ITmfStateInterval)8 AtomicLong (java.util.concurrent.atomic.AtomicLong)7 TimeGraphModel (org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphModel)5 SelectionTimeQueryFilter (org.eclipse.tracecompass.tmf.core.model.filters.SelectionTimeQueryFilter)4 TimeGraphState (org.eclipse.tracecompass.tmf.core.model.timegraph.TimeGraphState)4 TmfModelResponse (org.eclipse.tracecompass.tmf.core.response.TmfModelResponse)4 LinkedHashMap (java.util.LinkedHashMap)3 Map (java.util.Map)3 ITmfStateSystem (org.eclipse.tracecompass.statesystem.core.ITmfStateSystem)3 StateSystemDisposedException (org.eclipse.tracecompass.statesystem.core.exceptions.StateSystemDisposedException)3 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)2 Nullable (org.eclipse.jdt.annotation.Nullable)2 TimeRangeException (org.eclipse.tracecompass.statesystem.core.exceptions.TimeRangeException)2