Interface ICallStackGroupDescriptor

All Superinterfaces:
IWeightedTreeGroupDescriptor
All Known Implementing Classes:
CallStackGroupDescriptor

public interface ICallStackGroupDescriptor extends IWeightedTreeGroupDescriptor
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]
            data
 
or
  With additional component information:
    [pid]
       [application component]
          [tid]
              data
 
In 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 Type
    Method
    Description
    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 interface IWeightedTreeGroupDescriptor
      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.