Interface ICallStackGroupDescriptor
- All Superinterfaces:
IWeightedTreeGroupDescriptor
- All Known Implementing Classes:
CallStackGroupDescriptor
This interface describes a group in the callstack. A group can either be a
source group under which other groups are, or a leaf group, under which is
the actual stack.
Example: Let's take a trace that registers function entry and exit for
threads and where events also provide information on some other stackable
application component:
A possible group hierarchy would be the following:
Per PID: [pid] [tid] dataor
With additional component information: [pid] [application component] [tid] dataIn the first case, there would be 2 groups, and in the second 3 groups. It is the analysis's responsibility to implement how to retrieve which group a trace event belongs to and add the data to the proper leaf group. These groups are indication for the various analyses on how to divide the data and some analyses may do some aggregation based on those groups. To each group will correspond a number of
ICallStackElement
that
represent single elements of this group. In the example above, to the [pid]
group will correspond each individual process being analyses, eg. process 45,
10001, etc.
If the function names happen to be addresses in an executable and the PID is
the key to map those symbols to actual function names, then the first group
"[pid]" would be the symbol key group, used to resolve the symbols.- Author:
- Geneviève Bastien
-
Method Summary
Modifier and TypeMethodDescription@Nullable ICallStackGroupDescriptor
Get the group descriptor at the next level.boolean
Get whether the value of this group should be used as the key for the symbol provider.Methods inherited from interface org.eclipse.tracecompass.incubator.analysis.core.weighted.tree.IWeightedTreeGroupDescriptor
getName
-
Method Details
-
getNextGroup
@Nullable ICallStackGroupDescriptor getNextGroup()Description copied from interface:IWeightedTreeGroupDescriptor
Get the group descriptor at the next level.- Specified by:
getNextGroup
in interfaceIWeightedTreeGroupDescriptor
- Returns:
- The next group or
null
if this is a leaf level
-
isSymbolKeyGroup
boolean isSymbolKeyGroup()Get whether the value of this group should be used as the key for the symbol provider. For instance, for some callstack, the group corresponding to the process ID would be the symbol key group.- Returns:
true
if the values of this group are used as the symbol mapping key.
-