Visual Studio プロファイラーから dotnet カウンターを視覚化する
.NET カウンター ツールを使用すると、Visual Studio プロファイラー内で時系列で dotnet カウンター を視覚化できます。
手記
.NET カウンター ツールには Visual Studio 2019 バージョン 16.7 以降が必要であり、.NET Core 3.0 以降と .NET 5 以降を対象としています。
.NET カウンター ツールを効果的に使用する方法の詳細については、「ケース スタディ: パフォーマンスの問題を分離する」を参照してください。
セットアップ
Visual Studio でパフォーマンス プロファイラー (Alt + F2 または Debug -> Performance Profiler) を開きます。
[.NET カウンター] チェック ボックスをオンにします。
スタート ボタンをクリックしてツールを実行します。
ツールのパフォーマンスを最適化する方法の詳細については、「Profiler 設定の最適化」を参照してください。
データを理解する
ツールが最初にデータを収集している間、dotnet カウンターのライブ値を見ることができます。
.NET カウンター ツールがデータを収集しています。
カウンター名の横にあるチェック ボックスをオンにして、カウンターのグラフを表示することもできます。 一度に複数のカウンターのグラフを表示できます。
アプリの実行とデータの収集が完了したら、さらに詳細なレポートの収集を停止できます。 これを行うには、[コレクションの停止] ボタンを押します。
レポートが読み込まれると、次に示すような完成したレポートが表示されます。
.NET カウンター ツール レポート
レポートには、次の値が表示されます。
- Min - 選択した時間範囲内のそのカウンターの最小値。
- Max - 選択した時間範囲内のそのカウンターの最大値。
- 平均 - 選択した時間範囲内のそのカウンターの平均値。
列見出しを右クリックして見出しを選択することで、テーブル内の列をフィルター処理または追加できます。
カウンターの横にあるチェック ボックスをオンにして、詳細レポートでグラフを表示することもできます。 テーブル内のデータは、既定で収集されたトレースの期間全体の値を表します。 特定の時間範囲にデータをフィルター処理するには、グラフをクリックしてドラッグします。
テーブルは、グラフで選択された時間の関連する値に更新されます。 選択解除 ボタンを使用して、選択した時間範囲をトレース全体に戻します。
.NET 測定カウンター データを表示する
Visual Studio 2022 バージョン 17.8 以降、.NET カウンター ツールは .NET Meter API との統合をサポートし、Counter
や ObservableCounter
などのインストルメント オプションのサポートを追加しました。
Counter
は時間の経過と共に値の変化を追跡し、呼び出し元は Counter.Add
を使用して更新を報告します。 これに対し、ObservableCounter
は Counter
に似ていますが、呼び出し元は合計値を追跡します。 .NET カウンター ツールは、合計の変化率を報告します。
詳細については、「メトリックの作成」を参照してください。
.NET メーターのヒストグラム データを表示する
Visual Studio 2022 バージョン 17.12 Preview 2 以降、.NET カウンター ツールは .NET Meter ヒストグラム統合をサポートしています。
.NET 測定ヒストグラムを使用すると、CreateHistogram
を使用して記録された .NET ヒストグラム インストルメントによって生成されたヒストグラム データを識別および分析できます。 ヒストグラム・インストルメントを使用してデータを記録すると、結果が視覚化され、データ分布が明確に表現されます。
ライブ ヒストグラム データは、Meter インスタンスの名前の下に残りのカウンターと共に表示されます。
ヒストグラム グラフを開くには、次に示すように、Meter インスタンスのインストルメント名を選択します。
.NET カウンターの測定ヒストグラムデータ
前の例では、記録された測定値の 50 パーセンタイル、90 パーセンタイル、および 95 パーセンタイルのデータがツールに表示されます。
関連コンテンツ
- Profiler 設定の最適化
- dotnet カウンター
- Flame Graph を使用してホット パスを識別する
- CPU プロファイリング を使用してパフォーマンスを分析する