dotTrace 2025.1 ヘルプ

dotTrace ビューアーの概念

dotTrace ビューアーは、プロファイリングデータをフィルター処理して視覚化できるフィルターとダイアグラムのセットです。

プロファイリングタイプとユーザーインターフェース

dotTrace ビューアーのユーザーインターフェースは、現在分析しているスナップショットの種類によって異なります。サンプリングトレース、および line-by-line スナップショットでは、タイムラインスナップショットよりもデータが少なくなります。

以下のイメージは、dotTrace Viewer で開いた同じアプリケーションのサンプリングとタイムラインスナップショットを示しています。

  • サンプリング

    Sampling snapshot in dotTrace Viewer

    次のツールウィンドウとフィルターは、サンプリングトレース、および line-by-line スナップショットでは使用できません: タイムラインダイアグラム、イベントインターバルフィルタースレッドの状態、フィルター、イベントSQL クエリ受信 HTTP リクエストファイル I/O ツールウィンドウ、およびその他の UI 要素。

  • タイムライン

    Sampling snapshot in dotTrace Viewer

ご覧のとおり、タイムラインスナップショットには、メモリ割り当て、ファイル操作、UI フリーズ、その他の ETW イベントに関するデータなど、より多くのデータが含まれています。さらに、より多くのサブシステムが表示され、サンプリングスナップショットとは異なり、タイムラインダイアグラムで任意の時間間隔を選択できます。

分析ワークフロー

dotTrace ビューアーのスナップショット分析では、フィルターを使用してデータを細かく分割します。フィルタータイムライン / スレッド呼び出しスタックなどでは、時間、スレッド、特定のメソッド、その他のデータでフィルターを適用できます。フィルターの作業の結果は常に、特定の条件によって選択された一連の時間間隔またはポイントイベントです。たとえば、ビューアーに「メインスレッドが実行されているすべての時間間隔を選択する」または「MyMethod() が機能するすべての時間間隔を選択する」ように要求できます。

ここでは、dotTrace ビューアーでデータ分析を成功させるために知っておく必要があるいくつかの概念について説明します。

すべてがフィルターです

dotTrace ビューアーの各 UI コントロールは、特定のフィルターを設定するだけでなく、フィルター処理された情報のチャンクを表示するためにも使用されます。

例: スレッドの状態フィルターは、スレッド状態でフィルターを適用できるだけでなく、選択したスレッドが特定の状態にあった時間も表示します。

現在のすべてのフィルターは、ビューアーのメインバーに表示されます。フィルターを削除したり、元に戻すボタンとやり直しボタンを使用してフィルター履歴を移動したりできます。

Filter bar
フィルターは連鎖しています

フィルターはチェーンでグループ化できます。複雑なフィルターの組み合わせにより、アプリのあらゆる側面を分析することができます。

例: メインスレッドが実行されているすべての時間間隔を選択するフィルターとガベージコレクションをブロックするすべての時間間隔を選択するフィルターを組み合わせると、結果のフィルターガベージコレクション中にメインスレッドが実行されているすべての時間間隔を選択しますが得られます。つまり、このフィルターの組み合わせは、メインスレッドが GC を切り替えた時間間隔のみを残します。呼び出しスタック | ホットスポットフィルターは、コレクションを切り替えた正確なメソッドを表示します。

さまざまなタブでスナップショットを分析する

同じスナップショットに対して、一度に複数の分析を実行できます。1 つのタブで 1 つのフィルターセットを保持し、別のタブで異なるフィルターを使用して同じスナップショットを調査できます。

Analysis tabs

フィルターなしでスナップショットを新しいタブで開くには、タブヘッダーの Add をクリックします。

現在の分析を新しいタブにコピーするには、Ctrl+T の組み合わせまたはクローンタブコンテキストメニュー項目を使用します。

Visual Studio に統合された dotTrace ビューアー

dotTrace のインストール時に Visual Studio 統合オプションを選択した場合、Visual Studio には dotTrace プロファイラーが組み込まれます。これはパフォーマンスプロファイラツールウィンドウ(ReSharper | プロファイル | dotTrace パフォーマンスプロファイラーを表示)に表示されます。統合された dotTrace は、スタンドアロンの dotTrace ビューアーを Visual Studio 内で使用できるようにカスタマイズしたものです。両ツールのユーザーインターフェースはほぼ同じです。収集されたスナップショットのリストは、マシン上のすべての dotTrace インスタンス間で同期されます。

dotTrace Viewer in VS

統合ビューアーを使用する場合の長所と欠点:

  • よりシームレスな体験。Visual Studio で分析が行われるため、ソースコードとプロファイラを切り替える必要はありません。

  • コールツリーからソースコードへのナビゲーションとその逆。

    呼び出しツリーの特定のメソッド(プロファイリング結果内)からその宣言まで、およびコード内のメソッド宣言から呼び出しツリーでの出現まで移動できます。

  • Visual Studio で大量のプロファイリングデータを分析すると、画面にスペースがないために不便な場合があります。