フォールドコール
呼び出しツリー は、無意味な呼び出しのグループを解析の対象にすることで簡素化できます。 つまり、システム関数呼び出しと再帰呼び出しのチェーンです。
システムコールを折りたたむ
システムコールは非ユーザーコードの呼び出しであり、例えば、 System 名前空間や Microsoft 名前空間のメソッドの呼び出しなどが該当します。 通常、これらの呼び出しはフィルターで除外され、 呼び出しツリー に灰色のフォントで表示されます。 折りたたむを使ってシステムコールのチェーンを非表示にします:
折りたたむことができるシステムコールチェーンは、
アイコンでマークされています。折りたたまれたコールチェーンは、
アイコンでマークされます。ユーザーアセンブリをシステムアセンブリとしてマークできることに注意してください。
システムコールのチェーンを折りたたむには
システムコールを含む希望のコールチェーンを選択します。
をクリックするか、
Ctrl+Space
を押して呼び出しを折りたたみます。
システムコールのチェーンを展開するには
システムコールを含む希望のコールチェーンを選択します。
をクリックするか、
Ctrl+Space
を押してコールを展開します。
サンプル例

たとえば、上記の例で、すべてのシステムコールを折りたたむ必要があるように折りたたみを設定した場合、 呼び出しツリー は次のようになります。
UserMethod1
| UserMethod2
| | SystemMethod2
|
SystemMethod1
| UserMethod1
| UserMethod2
| SystemMethod1
再帰呼び出しをフォールドする
再帰呼び出しスタックは深く、分析が難しい場合があります。 複数の再帰呼び出しを含む複雑な呼び出しスタックでは、ほぼ無限のスタックスクロールが必要になります。 このようなコールスタックの分析を簡素化するために、再帰呼び出しを折りたたむことができます。 再帰呼び出しのチェーンが折りたたまれると、dotTrace はこの呼び出しツリーを再計算し(すべての再帰サブツリーで特定のメソッドの呼び出し時間を要約します)、メソッドシグネチャーごとに情報を表示します:
再帰呼び出しには、
アイコンが表示されます。折りたたまれた再帰呼び出しには
アイコンが表示されます。
再帰呼び出しを折りたたむには
呼び出しツリー で再帰関数呼び出しを選択します。
関数呼び出しを折りたたむには、
をクリックします。
再帰呼び出しを展開するには
呼び出しツリー で再帰関数呼び出しを選択します。
関数呼び出しを展開するには、
をクリックします。
サンプル例
再帰呼び出しが折りたたまれたときに dotTrace Viewer が呼び出し時間を計算する方法をよりよく理解するために、例を考えてみましょう。

上記の例で AUserMethod1 という呼び出しから始まる再帰呼び出しを折りたたむと、 呼び出しツリー は次のようになります(各文字はそれぞれの呼び出しを表す)。
UserMethod1 A + B + C + D + E + F + G + H + I
| UserMethod2 E + G
| | SystemMethod1 G
| SystemMethod1 C + H
| SystemMethod2 I