1 /*******************************************************************************
2 * Copyright (c) 2012, 2013 Ericsson, École Polytechnique de Montréal
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
10 * Patrick Tasse - Initial API and implementation
11 * Geneviève Bastien - Move code to provide base classes for time graph view
12 *******************************************************************************/
14 package org
.eclipse
.linuxtools
.internal
.lttng2
.kernel
.ui
.views
.resources
;
16 import org
.eclipse
.linuxtools
.lttng2
.kernel
.core
.trace
.LttngKernelTrace
;
17 import org
.eclipse
.linuxtools
.tmf
.ui
.widgets
.timegraph
.model
.TimeGraphEntry
;
20 * An entry, or row, in the resource view
22 * @author Patrick Tasse
24 public class ResourcesEntry
extends TimeGraphEntry
{
26 /** Type of resource */
27 public static enum Type
{
28 /** Null resources (filler rows, etc.) */
30 /** Entries for CPUs */
32 /** Entries for IRQs */
34 /** Entries for Soft IRQ */
38 private final int fId
;
39 private final Type fType
;
40 private final int fQuark
;
46 * The attribute quark matching the entry
48 * The trace on which we are working
50 * The exec_name of this entry
52 * The start time of this entry lifetime
54 * The end time of this entry
56 * The type of this entry
58 * The id of this entry
60 public ResourcesEntry(int quark
, LttngKernelTrace trace
, String name
, long startTime
, long endTime
, Type type
, int id
) {
61 super(quark
, trace
, name
, startTime
, endTime
);
71 * The trace on which we are working
73 * The exec_name of this entry
75 * The start time of this entry lifetime
77 * The end time of this entry
79 * The id of this entry
81 public ResourcesEntry(LttngKernelTrace trace
, String name
, long startTime
, long endTime
, int id
) {
82 this(-1, trace
, name
, startTime
, endTime
, Type
.NULL
, id
);
89 * The attribute quark matching the entry
91 * The trace on which we are working
93 * The start time of this entry lifetime
95 * The end time of this entry
97 * The type of this entry
99 * The id of this entry
101 public ResourcesEntry(int quark
, LttngKernelTrace trace
, long startTime
, long endTime
, Type type
, int id
) {
102 this(quark
, trace
, type
.toString() + " " + id
, startTime
, endTime
, type
, id
); //$NON-NLS-1$
108 * @return the entry's id
115 public LttngKernelTrace
getTrace() {
116 return (LttngKernelTrace
) super.getTrace();
120 * Get the entry Type of this entry. Uses the inner Type enum.
122 * @return The entry type
124 public Type
getType() {
129 * Retrieve the attribute quark that's represented by this entry.
131 * @return The integer quark The attribute quark matching the entry
133 public int getQuark() {
138 public boolean hasTimeEvents() {
139 if (fType
== Type
.NULL
) {
146 * Add a child to this entry of type ResourcesEntry
151 public void addChild(ResourcesEntry entry
) {
153 for (index
= 0; index
< getChildren().size(); index
++) {
154 ResourcesEntry other
= (ResourcesEntry
) getChildren().get(index
);
155 if (entry
.getType().compareTo(other
.getType()) < 0) {
157 } else if (entry
.getType().equals(other
.getType())) {
158 if (entry
.getId() < other
.getId()) {
164 entry
.setParent(this);
165 getChildren().add(index
, entry
);
This page took 0.138726 seconds and 5 git commands to generate.