Visual Studio プロファイラーから dotnet カウンターを視覚化する
.NET カウンター ツールを使用すると、Visual Studio プロファイラー内から直接、dotnet カウンターを経時的に視覚化することができます。
Note
.NET カウンター ツールには、Visual Studio 2019 バージョン 16.7 以降が必要であり、.NET Core 3.0 以降と .NET 5 以降がターゲットとされます。
.NET カウンター ツールを効果的に使用する方法の詳細については、「 ケースの調査: パフォーマンスの問題を分離するを参照してください。
セットアップ
Visual Studio でパフォーマンス プロファイラーを開きます (Alt + F2 キー、または [デバッグ] -> [パフォーマンス プロファイラー])。
[.NET カウンター] チェックボックスをオンにします。
[開始] ボタンをクリックしてツールを実行します。
ツールのパフォーマンスを最適化する方法の詳細については、「プロファイラー設定の最適化」を参照してください。
データを理解する
ツールによって最初のデータ収集が行われている間に、dotnet カウンターのライブ値を確認できます。
カウンター名の横にあるチェックボックスをオンにすれば、カウンターのグラフを表示することもできます。 複数のカウンターのグラフを一度に表示できます。
アプリの実行とデータの収集が完了したら、さらに詳細なレポートを目的とした収集を停止することができます。 これを行うには、[収集を停止] ボタンをクリックします。
レポートが読み込まれると、次に示すような完成したレポートが表示されます。
このレポートには、次の値が表示されます。
- 最小値 - 選択した時間の範囲内での該当するカウンターの最小値。
- 最大値 - 選択した時間の範囲内での該当するカウンターの最大値。
- 平均値 - 選択した時間の範囲内での該当するカウンターの平均値。
列見出しを右クリックし、見出しを選択すると、テーブル内で列をフィルター処理したり追加したりできます。
[カウンター] の横にあるチェックボックスをオンにして、詳細レポート内にグラフを表示することもできます。 テーブル内のデータは、既定では、収集されたトレースの全期間の値となります。 データを特定の時間の範囲にフィルターで絞り込むには、グラフをクリックしてドラッグします。
テーブルは、グラフ内で選択した期間での該当する値に更新されます。 選択した時間の範囲をトレース全体にリセットするには [選択のクリア] ボタンを使用します。
.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 インスタンスのインストルメント名を選択します。
前の例では、記録された測定値の 50 パーセンタイル、90 パーセンタイル、および 95 パーセンタイルのデータがツールに表示されます。