Folding Recursive Calls
Recursive call stacks can be deep and difficult to analyze. Thus, complex call stacks with multiple recursive calls require almost infinite stack scrolling. To simplify analysis of such call stacks, you can fold recursive calls. When a chain of recursive calls is folded, dotTrace recalculates this call tree (it summarizes call times of a particular method in all recursive subtrees) and presents information by method signatures.
Recursive calls are marked with the icon.
Folded recursive calls are marked with the icon.
To fold a recursive call:
To unfold a recursive call:
Example
Consider an example for better understanding of how Timeline Viewer calculates calls time when recursive calls are folded.
If in the example above you fold recursive calls starting from the call A UserMethod1
, Call Tree will look like follows (each letter stands for a call own time).
UserMethod1 A + B + C + D + E + F + G + H + I
|UserMethod2 E + G
| |SystemMethod1 G
|SystemMethod1 C + H
|SystemMethod2 I