問題検出
Windows では、 監視 ツールはアプリケーションの様々な種類の実行時パフォーマンスの問題を自動的に検出できます。 デバッグ時または通常実行時に実行され、UI のフリーズ、長時間実行されるデータベースコマンド、ASP.NET Core リクエストの遅延といった潜在的な問題を特定します。
検出された問題は、 検出された問題 セクションの 監視 ツールウィンドウに表示されます。ここで、これらを確認したり、関連するコードに移動したり、統合されたパフォーマンスプロファイラーを使用して原因となったメソッドを分析できます。

dotUltimate ライセンス要件
問題検出はすべてのユーザーが利用できます。 ただし、dotTrace での詳細な問題分析には、 dotUltimate または All Products Pack のライセンスが必要です。
ライセンスがない場合、問題は問題タイプとメトリック値のみで報告されます(メソッド名や型名は含まれません)。

問題の種類とデフォルトのしきい値
モニタリングでは、複数の種類の問題が検出されます。 各問題の種類には設定可能なしきい値があります。 メトリクスがしきい値を超えると、 監視 ツールウィンドウに問題が報告されます。 これらのしきい値は でカスタマイズできます。
基本的なパフォーマンスの問題
パフォーマンスホットスポット – 1 つ以上のユーザーメソッドが総実行時間の大部分を消費した時間間隔。 デフォルトのしきい値: 500 ミリ秒。
UI フリーズ – UI が指定されたしきい値を超えて応答しなかった時間間隔(ウィンドウメッセージが送信または処理されなかった時間)。 デフォルトのしきい値: 500 ミリ秒。
高い GC 活性 – 総実行時間のうち、指定された割合がガベージコレクションに費やされた時間間隔。 GC アクティビティが著しく高い場合、アプリケーションにおけるメモリ不足または過剰なメモリ割り当てを示している可能性があります。 デフォルトのしきい値: 20%。
データベースの問題
遅い DB コマンド – 実行時間がしきい値を超えるデータベースコマンド。 デフォルトのしきい値: 1000 ミリ秒。
過剰な DB コマンド – 同じデータベースコマンド(例: N+1 クエリパターン)の繰り返し実行。 デフォルトのしきい値: 100 コマンド。
大規模な DB 結果セット – しきい値を超えるレコードを返すデータベースコマンド。 デフォルトのしきい値: 1000 レコード。
過剰な DB 接続 – 同時データベース接続を過剰に開くコード。 デフォルトのしきい値: 50 接続。
ASP.NET Core の問題
遅い MVC アクション – 実行時間がしきい値を超えたコントローラーアクション。 デフォルトのしきい値: 1000 ミリ秒。
遅い Razor ページハンドラー – 長時間実行される Razor ページハンドラーメソッド(例:
OnGet、OnPost)。 デフォルトのしきい値: 1000 ミリ秒。遅い Razor ビューコンポーネント – ビューコンポーネント内の遅い
Invoke()またはInvokeAsync()メソッド。 デフォルトのしきい値: 1000 ミリ秒。
検出された問題を分析する
監視 ツールを使用すると、検出された問題をより詳細に分析できます。 問題を右クリックすると、以下の操作が可能です。
問題を分析する  – エディターで問題の詳細を表示します。

発行範囲を選択 – 監視タイムラインで問題発生時間範囲を選択します。 範囲を選択したら、 グラフ タブの上にある
選択した時間範囲を分析する ボタンをクリックします。 これにより、 dotTrace ツールウィンドウに問題発生時間範囲が開き、コールツリーとイベントデータを表示できます。{ メソッド名 } に移動 – 問題の原因となったメソッドに進みます。
問題検出を構成する
監視 は、イベントのメトリクスが設定されたしきい値を超えると、そのイベントを問題とみなします。 しきい値を変更したり、特定の問題タイプを無効にしたりすることができます。
を開きます。
チェックボックスを使用して、個々の問題タイプを有効または無効にします。
プロジェクトのパフォーマンスゴールに応じてしきい値を調整します。
ミュートの問題
監視 が、誤検知、制御不能なコード、調査するには軽微すぎるケースなど、実際には問題ではないと判断した問題を検知した場合、その問題をミュートすることができます。 問題をミュートすると、 監視 は、対応するコードを今後の実行から分析対象から除外するように指示するフィルターを追加します。
このようなフィルターは、設定で手動で作成することも、 検出された問題 リストから直接作成することもできます。
検出された問題 リストから問題をミュートするには:
検出された問題 リストで、問題を右クリックします。
問題を却下 を選択します。 これにより、メソッド名によるフィルターが作成されます。
作成されたフィルターは、 ページの 次でコードを分析しない セクションで表示または変更できます。
フィルターを手動で作成または管理するには:
を開きます。
次でコードを分析しない セクションでは、プロセス、モジュール、クラス、メソッドごとにフィルターを追加または削除できます。 また、既存のフィルターを削除して、以前にミュートした問題を「ミュート解除」することもできます。