次の方法で共有


Visual Studio プロファイラーから dotnet カウンターを視覚化する

.NET カウンター ツールを使用すると、Visual Studio プロファイラー内で時系列で dotnet カウンター を視覚化できます。

手記

.NET カウンター ツールには Visual Studio 2019 バージョン 16.7 以降が必要であり、.NET Core 3.0 以降と .NET 5 以降を対象としています。

.NET カウンター ツールを効果的に使用する方法の詳細については、「ケース スタディ: パフォーマンスの問題を分離する」を参照してください。

セットアップ

  1. Visual Studio でパフォーマンス プロファイラー (Alt + F2 または Debug -> Performance Profiler) を開きます。

  2. [.NET カウンター] チェック ボックスをオンにします。

    カウンター ツールが選択されています。

  3. スタート ボタンをクリックしてツールを実行します。

ツールのパフォーマンスを最適化する方法の詳細については、「Profiler 設定の最適化」を参照してください。

データを理解する

ツールが最初にデータを収集している間、dotnet カウンターのライブ値を見ることができます。

.NET カウンター ツールがデータを収集しています。.NET カウンター ツールによって収集が行われている。

カウンター名の横にあるチェック ボックスをオンにして、カウンターのグラフを表示することもできます。 一度に複数のカウンターのグラフを表示できます。

アプリの実行とデータの収集が完了したら、さらに詳細なレポートの収集を停止できます。 これを行うには、[コレクションの停止] ボタンを押します。

レポートが読み込まれると、次に示すような完成したレポートが表示されます。

.NET カウンター ツール レポート

レポートには、次の値が表示されます。

  • Min - 選択した時間範囲内のそのカウンターの最小値。
  • Max - 選択した時間範囲内のそのカウンターの最大値。
  • 平均 - 選択した時間範囲内のそのカウンターの平均値。

列見出しを右クリックして見出しを選択することで、テーブル内の列をフィルター処理または追加できます。

.NET カウンター ツールの列。

カウンターの横にあるチェック ボックスをオンにして、詳細レポートでグラフを表示することもできます。 テーブル内のデータは、既定で収集されたトレースの期間全体の値を表します。 特定の時間範囲にデータをフィルター処理するには、グラフをクリックしてドラッグします。

.NET カウンター ツールの時間フィルタリング。

テーブルは、グラフで選択された時間の関連する値に更新されます。 選択解除 ボタンを使用して、選択した時間範囲をトレース全体に戻します。

.NET 測定カウンター データを表示する

Visual Studio 2022 バージョン 17.8 以降、.NET カウンター ツールは .NET Meter API との統合をサポートし、CounterObservableCounterなどのインストルメント オプションのサポートを追加しました。

Counter は時間の経過と共に値の変化を追跡し、呼び出し元は Counter.Addを使用して更新を報告します。 これに対し、ObservableCounterCounterに似ていますが、呼び出し元は合計値を追跡します。 .NET カウンター ツールは、合計の変化率を報告します。

詳細については、「メトリックの作成」を参照してください。

.NET メーターのヒストグラム データを表示する

Visual Studio 2022 バージョン 17.12 Preview 2 以降、.NET カウンター ツールは .NET Meter ヒストグラム統合をサポートしています。

.NET 測定ヒストグラムを使用すると、CreateHistogramを使用して記録された .NET ヒストグラム インストルメントによって生成されたヒストグラム データを識別および分析できます。 ヒストグラム・インストルメントを使用してデータを記録すると、結果が視覚化され、データ分布が明確に表現されます。

ライブ ヒストグラム データは、Meter インスタンスの名前の下に残りのカウンターと共に表示されます。

ヒストグラム グラフを開くには、次に示すように、Meter インスタンスのインストルメント名を選択します。

.NET カウンターの測定ヒストグラムデータ .NET カウンター メーターのヒストグラム データ。

前の例では、記録された測定値の 50 パーセンタイル、90 パーセンタイル、および 95 パーセンタイルのデータがツールに表示されます。