Interface ICallGraphProvider
- All Superinterfaces:
IWeightedTreeProvider<@NonNull ICallStackSymbol,
ICallStackElement, AggregatedCallSite>
- All Known Implementing Classes:
InstrumentedCallStackAnalysis
,LttngUstCallStackAnalysis
,ProfilingCallGraphAnalysisModule
public interface ICallGraphProvider
extends IWeightedTreeProvider<@NonNull ICallStackSymbol,ICallStackElement,AggregatedCallSite>
Interface that analyses who provide callgraph
- Author:
- Geneviève Bastien
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.eclipse.tracecompass.incubator.analysis.core.weighted.tree.IWeightedTreeProvider
IWeightedTreeProvider.DataType, IWeightedTreeProvider.MetricType
-
Field Summary
Fields inherited from interface org.eclipse.tracecompass.incubator.analysis.core.weighted.tree.IWeightedTreeProvider
WEIGHT_TYPE
-
Method Summary
Modifier and TypeMethodDescriptioncreateCallSite
(Object object) Factory method to create an aggregated callsite for a symbolGet the call graph for the full range of the trace.getCallGraph
(ITmfTimestamp start, ITmfTimestamp end) Get the call graph for a given time range.default @Nullable IWeightedTreeGroupDescriptor
Get the group descriptors that describe the hierarchical groups of elements.Get the group descriptors that describe how the elements are grouped in this call graph hierarchy.default IDataPalette
Weighted tree providers can provide a palette of styles for the data represented.default @Nullable IWeightedTreeSet<@NonNull ICallStackSymbol,
ICallStackElement, AggregatedCallSite> getSelection
(ITmfTimestamp start, ITmfTimestamp end) Get a weighted tree set for a time selection.default IWeightedTreeSet<@NonNull ICallStackSymbol,
ICallStackElement, AggregatedCallSite> Get the complete tree set provided by this object.Methods inherited from interface org.eclipse.tracecompass.incubator.analysis.core.weighted.tree.IWeightedTreeProvider
getAdditionalMetric, getAdditionalMetrics, getExtraDataSets, getStatistics, getTitle, getWeightType, toDisplayString
-
Method Details
-
getGroupDescriptors
Collection<IWeightedTreeGroupDescriptor> getGroupDescriptors()Get the group descriptors that describe how the elements are grouped in this call graph hierarchy. This method will return the root group descriptor. Children groups can be retrieved by the parent group. For call graph providers who have only one series, this will be a singleton.- Returns:
- The collection of group descriptors for this call graph
-
getGroupDescriptor
Description copied from interface:IWeightedTreeProvider
Get the group descriptors that describe the hierarchical groups of elements. This method returnsnull
if the elements are notITree
instances. If the elements implement theITree
interface, the implementations may override this method and return a group descriptor that gives names to each level of the hierarchy of elements. Otherwise, it returns a group for the root element, whose next groups will match the depth of theITree
structure.- Specified by:
getGroupDescriptor
in interfaceIWeightedTreeProvider<@NonNull ICallStackSymbol,
ICallStackElement, AggregatedCallSite> - Returns:
- The collection of group descriptors for this call graph, or
null
if there is no hierarchy of elements
-
getCallGraph
Get the call graph for a given time range. This callgraph is for all the elements. The caller can then group the result by callingWeightedTreeGroupBy.groupWeightedTreeBy(IWeightedTreeGroupDescriptor, IWeightedTreeSet, IWeightedTreeProvider)
method- Parameters:
start
- The start of the rangeend
- The end of the range- Returns:
- The call graph object containing the CCTs for each element in the range.
-
getCallGraph
CallGraph getCallGraph()Get the call graph for the full range of the trace. This callgraph is for all the elements. The caller can then group the result by callingWeightedTreeGroupBy.groupWeightedTreeBy(IWeightedTreeGroupDescriptor, IWeightedTreeSet, IWeightedTreeProvider)
- Returns:
- The call graph object containing the CCTs for each element in the range.
-
getSelection
default @Nullable IWeightedTreeSet<@NonNull ICallStackSymbol,ICallStackElement, getSelectionAggregatedCallSite> (ITmfTimestamp start, ITmfTimestamp end) Description copied from interface:IWeightedTreeProvider
Get a weighted tree set for a time selection. It should be a subset of the complete tree, ie the elements, and weights of the weighted trees should be included in full tree, but its range should cover only the requested time range. If this provider does not support selection range,null
should be returned.- Specified by:
getSelection
in interfaceIWeightedTreeProvider<@NonNull ICallStackSymbol,
ICallStackElement, AggregatedCallSite> - Parameters:
start
- The timestamp of the start of the rangeend
- The timestamp of the end of the range- Returns:
- A weighted tree set that spans the selected range, or
null
if range is not supported.
-
getTreeSet
default IWeightedTreeSet<@NonNull ICallStackSymbol,ICallStackElement, getTreeSet()AggregatedCallSite> Description copied from interface:IWeightedTreeProvider
Get the complete tree set provided by this object.- Specified by:
getTreeSet
in interfaceIWeightedTreeProvider<@NonNull ICallStackSymbol,
ICallStackElement, AggregatedCallSite> - Returns:
- The complete weighted tree set
-
createCallSite
Factory method to create an aggregated callsite for a symbol- Parameters:
object
- The symbol- Returns:
- A new aggregated callsite
-
getPalette
Description copied from interface:IWeightedTreeProvider
Weighted tree providers can provide a palette of styles for the data represented. By default, it uses a default palette of a few qualitative colors that will use the hash code of objects to assign a style- Specified by:
getPalette
in interfaceIWeightedTreeProvider<@NonNull ICallStackSymbol,
ICallStackElement, AggregatedCallSite> - Returns:
- The palette for this data provider
-