dotTrace 2025.3 ヘルプ

ホットスポット

Hotspots は、選択したすべてのスレッドのメソッドのリストを実行時間順に表示します。

他のフィルターと組み合わせてホットスポットを使用して、特定の条件で「トップ」メソッドを決定します。例: "top" メソッドをファイル操作時間で参照するには、イベントファイル操作イベントを選択します。

Hotspots

1 選択した合計時間に対するコール実行時間の割合(選択したソートに応じて合計または自分の割合)。コールツリーの選択に従うが有効になっている場合、呼び出しツリーで選択された呼び出しサブツリーの合計時間に相対します。

2 短いメソッド名。

3 合計 / 自己 + システムまたは合計 / 所有呼び出しの実行時間。この時間の計算方法の詳細については、以下を参照してください

4 完全なメソッド名。

コールツリーの選択に従う – このオプションを有効にすると、呼び出しツリーで現在選択されているノードのホットスポットが計算されます。それ以外の場合、ホットスポットは現在選択されている時間間隔で計算されます。

システム機能を隠す – 下記のこのオプションの詳細を参照してください。

サブシステム – サブシステムを使用すると、呼び出し時間がさまざまなコンポーネント (ユーザーコードとシステムコード、WPF、LINQ など) にどのように分散されているかをすばやく理解できます。ホットスポットのサブシステムバーは、サブシステムフィルターからのデータを視覚化します。

呼び出し時間の計算方法

Hide system functions システム機能を隠すが有効になっている場合、合計呼び出し時間は、メソッド自体の時間とすべての子呼び出しの時間の合計として計算されます。

自分 + システム時間は、メソッド自体の時間とすべての子システムメソッドの時間(スタック内の次のユーザーメソッドまで)の合計として計算されます。

Hide system functions システム機能を隠すを無効にすると、システムメソッドがリストに別々に表示されます。この場合、メソッドの自分の時間には、子システムコールの時間は含まれません。

理解を深めるために、この例を考えてみましょう。

Hotspots example

Hide system functions システム機能を隠すが有効な場合、ホットスポットは次のように時間(合計 / 自己 + システム)を計算します。

Hotspots example

Hide system functions システム機能を隠すが無効の場合、ホットスポットは次のように時間(合計 / 所有)を計算します。

Hotspots example

ソースコード内のメソッド宣言に移動するには

  1. メソッドを選択します。

  2. Enter を押すか、コンテキストメニューでコードに移動する (Visual Studio に統合された dotTrace Viewer) またはコードを表示する (スタンドアロン dotTrace Viewer) 項目を選択します。

(Visual Studio) ソースコードから呼び出しツリーに移動し、すべてのメソッドの出現によってフィルターを適用するには

  • Visual Studio のソースコードで、次のいずれかの操作を行います。

    • メソッド名を右クリックし、コンテキストメニューで次に移動 | パフォーマンススナップショットで検索を選択します。

    • メソッド名またはメソッド内の任意の場所にキャレットを置き、Alt+Shift+S を押します。

    これは、メソッドの出現箇所とそのサブツリーによってフィルターを適用します。

呼び出しツリーでメソッドを開く

(合計時間) コールツリー内のすべてのメソッドの出現を表示するには

  1. メソッドを選択します。

  2. Ctrl + Shift + Enter を押すか、メソッドの合計時間リンクをクリックするか、コンテキストメニューでマージメソッドの出現箇所項目を選択します。

その後、このメソッドは、すべての出現の呼び出しサブツリーを含む呼び出しツリーのルートノードになります。これは、メソッドの出現箇所とそのサブツリーによってフィルターを適用します。

(独自の時間) コールツリー内のすべてのメソッドの出現を表示するには

  1. メソッドを選択します。

  2. メソッド自体の時間リンクをクリックするか、コンテキストメニューでメソッド独自の時間でフィルタリングする項目を選択します。

この後、メソッドは呼び出しツリーのルートノードになり、メソッド自身の時間によるフィルターが適用されます。この場合、すべての子呼び出しはサブツリーから除外されます。

メソッドのバックトレースを表示する

場合によっては、特定のメソッドのバックトレース (逆呼び出しツリー) をすばやく表示して、その起源を特定すると役立つ場合があります。

特定のメソッドのバックトレースをすばやく表示するには

  1. メソッドの上にマウスを移動します。

  2. 左の矢印シンボル Backtraces をクリックします。

Backtraces of a method

並べ替え方法

ホットスポットを合計時間または自分の時間で並べ替えるには

  • ホットスポットウィンドウの上部にある合計 / 自分の時間リンクをクリックします。

2024 年 5 月 26 日

関連ページ:

サブシステム

サブシステムフィルターを使用すると、特定のコールツリーの時間が、ユーザーとシステムコード、WPF、LINQ、コレクション、文字列などのさまざまなコンポーネントにどのくらい分散しているかをすばやく評価できます。サブシステムの仕組み:いくつかの例外 (下記の特別サブシステムを参照) を除いて、各サブシステムは、特定の名前空間またはアセンブリ内で行われた呼び出しを単純にグループ化します。例:、アセンブリで宣言されたメソッドのすべての呼び出しは、WPF サブシステムにグループ化されます。サブシステムフィ...

呼び出しツリー

呼び出しツリーはメソッド実行パスを示します。ツリー内の各メソッドノードは、特定のスレッドによって実行されるトップレベルのメソッドを表します。メソッドノードには、呼び出されたメソッドとプロファイリング時に収集されたメトリクスがリストされます。呼び出しツリーを使用して: アプリケーションアクティビティの簡単な概要を取得する: 最も「高額な」呼び出しを移動するまたはフレームグラフを使用します。最も遅いメソッド (最も時間がかかるメソッド、または頻繁に呼び出されるメソッド) の実行パスを次の方法で調べます。...

呼び出しスタック

通常、パフォーマンス分析の最終ゴールは、パフォーマンスの問題を引き起こす特定の方法を特定することです。このタスクの実行を支援するために、dotTrace Viewer には呼び出しスタックウィンドウが用意されています。これは、デフォルトの dotTrace Viewer ウィンドウです。スナップショットを取得または開いた後に最初に表示されるウィンドウです。呼び出しスタックウィンドウには、次の 2 つの方法でスタックデータが表示されます。ホットスポット – 実行時間でソートされた、選択されたすべての...