JetBrains Rider 2024.1 ヘルプ

.NET コードのパフォーマンスプロファイリング

パフォーマンスプロファイリングの目的は、アプリケーションのパフォーマンス問題の原因を見つけることです。これには、たとえば、「最も遅い方法は何ですか ? 」という単純な質問が含まれます。CPU 不足、ガベージコレクションのブロッキング、ディスク I/O、その他の問題に関連するパフォーマンスのボトルネックのより複雑な分析も可能です。

JetBrains Rider は dotTrace プロファイラーと統合して、.NET アプリケーションのパフォーマンスプロファイリングを提供します。プロファイラーは、dotTrace プロファイラーツールウィンドウから使用できます。

制限

dotTrace のすべての機能がまだ JetBrains Rider で利用できるわけではないことに注意してください。統合プロファイラーは、スナップショットを分析するための 2 つのビュー ( 呼び出しツリートップメソッド ) のみを提供します。機能セット全体を取得するには、スタンドアロンバージョンの dotTrace でプロファイリングスナップショットを開く必要があります。

インストールとライセンス

dotTrace と dotMemory は、JetBrains Rider の単一のバンドルプラグインとして提供され、IDE のインストール中に自動的に追加され、有効になります。プラグインを無効にする場合は、Ctrl+Alt+S 設定のプラグインページを開き、インストール済みタブに切り替えて、dotTrace と dotMemory の横にあるチェックボックスをオフにします。

dotTrace および dotMemory プラグインは、dotUltimate または All Products Pack サブスクリプションの所有者のみが Rider で使用できることに注意してください。

サポートされている CPU アーキテクチャ

CPU

スタンドアロン

コマンドラインツール

JetBrains Rider のプロファイラー

x86、x64

  • Windows: x86 と x64

  • Linux: x64 のみ。アルパイン 3.13 – 3.15 のみがサポートされています

  • macOS: x64

詳細を参照

  • Windows: x86 と x64

  • Linux (glibc および musl ベース): x64 のみ

  • macOS: x64

Windows、Linux、macOS: x64 のみ

ARM

  • Windows: arm32 および arm64。Windows 11: .NET 5.0 – 7.0 のみ

  • Linux (glibc ベースのみ): arm64 のみ

  • macOS:arm64(Apple シリコン)。macOS 12 モントレー以降: .NET 6.0 – 7.0 のみ

  • Windows: arm64 のみ

  • Linux (musl-based): arm64 のみ

  • Linux (glibc ベース): arm32 および arm64。GLIBC_2.23 以降

  • macOS:arm64(Apple シリコン)。macOS 12 モントレー以降: .NET 6.0 – 7.0 のみ

Windows、Linux、macOS: arm64 のみ

x86 および x64 CPU でサポートされるフレームワーク

Windows

macOS | Linux

ネイティブ

Supported

使用可能な範囲 : JetBrains Rider、Visual Studio、スタンドアロン、コンソールツール

サポートされているプロファイリングタイプ : タイムライン。

Not available

.NET フレームワーク 1.0 – 4.8

Supported

使用可能な範囲 : JetBrains Rider、Visual Studio、スタンドアロン、コンソールツール

サポートされているプロファイリングタイプ : タイムライン、サンプリング、トレース、行ごと。

:

  • .NET フレームワーク 4.0 以降のプロセスにのみ接続できます。

Not available

.NET Core1.0 – 3.1

.NET 5 – 7

Supported

使用可能な範囲 : JetBrains Rider、Visual Studio、スタンドアロン、コンソールツール

サポートされているプロファイリングタイプ : タイムライン、サンプリング、トレース、行ごと。

:

  • .NET Core 3.x または .NET 5+ プロセスにのみアタッチできます。

Supported

使用可能な範囲 : JetBrains Rider、スタンドアロン、コンソールツール

サポートされているプロファイリングタイプ : タイムライン、サンプリング、トレース。

:

  • .NET Core にはいくつかの制限があるため、.NET Core 3.0 以前を対象とするプロジェクトのプロファイリングに問題がある場合があります。場合によっては、プロファイルされたアプリケーションがハングまたはクラッシュすることがあります。.NET Core 3.1 を対象とするプロジェクトは、問題なくプロファイルできます。

  • 実行中の .NETCore プロセスに接続することが可能です。

    • Linux の場合: .NET Core3.0 以降の場合のみ。

    • macOS の場合: .NET5 以降の場合のみ。

Mono 5.10 以降

Supported

使用可能な範囲 : JetBrains Rider、Visual Studio、スタンドアロン、コンソールツール

サポートされているプロファイリングタイプ : タイムライン。

Supported

使用可能な範囲 : JetBrains Rider、スタンドアロン、コンソールツール

サポートされているプロファイリングタイプ : タイムライン。

:

  • プロファイルできるのは 64 ビットプロセスのみです。

  • 実行中の Mono プロセスに接続することはできません。

Mono Unity 2018.3 以降

Supported

使用可能な範囲 : JetBrains Rider、Visual Studio、スタンドアロン、コンソールツール

サポートされているプロファイリングタイプ : タイムライン。

Supported

使用可能な範囲 : JetBrains Rider、スタンドアロン、コンソールツール

サポートされているプロファイリングタイプ : タイムライン。

:

  • 実行中の Unity プロセスに接続することはできません。

Rider の dotTrace でプロファイルできるもの

関連ページ:

dotTrace プロファイラーウィンドウ

このウィンドウでは、.NET アプリケーションのパフォーマンスのボトルネックをプロファイルして分析できます。dotTrace プロファイラーは、以下で構成されるマルチタブウィンドウです。収集されたスナップショットを開くために使用されるすべてのスナップショットタブ、プロファイリングセッションを制御するために使用されるプロファイリングタブ。収集されたパフォーマンススナップショットを分析するために使用される分析タブ。すべてのスナップショットタブ:すべてのスナップショットタブは、以前に収集されたスナッ...

プロファイリング結果を分析する

アプリケーションの実行が遅すぎると、問題を特定して実行するアクションを理解することが困難になる可能性があります。アプリケーションのプロファイリングとパフォーマンススナップショットの取得後の次のステップは、スナップショットを開いてデータを分析することです。通常、パフォーマンス分析の最終的なゴールは、パフォーマンスの問題を引き起こす特定の方法を特定することです。このタスクの実行を支援するために、dotTrace プロファイラーウィンドウには、呼び出しツリーとホットスポットの 2 つのビューがあります...

プロファイリング結果の分析

プロファイリングスナップショットを取得した後の次のステップは、dotTrace Viewer での分析です。Visual Studio に統合されたビューアーでスナップショットを分析することもできます (以下の詳細を参照)。dotTrace ビューアー Visual Studio に統合:dotTrace のインストール時に Visual Studio 統合オプションを選択した場合、Visual Studio には dotTrace ビューアーが組み込まれています。このビューアーはパフォーマンスプ...

プラグインのインストール

プラグインは JetBrains Rider のコア機能を拡張します。例: プラグインをインストールして、次の機能を取得します。バージョン管理システム、課題追跡システム、ビルド管理サーバー、その他のツールとの統合。さまざまな言語とフレームワークのコーディング支援サポート。ショートカットのヒント、ライブプレビュー、ファイルウォッチャーなど。新しいプログラミング言語を学ぶのに役立つコーディング演習。プラグイン設定を開くを押して設定を開き、を選択します。マーケットプレースタブを使用して、JetBrai...

アプリケーションのプロファイル

プロファイルするアプリケーションの種類に関係なく、ワークフローは常に同じであり、次の内容で構成されます。使用するプロファイリング構成を決定する、プロファイリングセッションを実行し、スナップショットを取得する、収集したスナップショットを分析する、セッションを実行してスナップショットを取得する:セッションを開始してスナップショットを取得するツールバーで、プロファイルを作成する実行構成を選択します。実行 | スイッチプロファイリング設定メニューで、プロファイリング構成を選択します。サンプリング、トレ...

.NET プロセスに接続してプロファイルを作成する

dotTrace を使用すると、システムですでに実行されている .NET/.NET Core プロセスをプロファイリングできます。プロファイリングのワークフローは次のようになります。使用するプロファイリング構成を決定する、プロファイリングセッションを実行し、スナップショットを取得する、収集したスナップショットを分析する、セッションを実行してスナップショットを取得する:セッションを開始してスナップショットを取得するメニューから実行 | プロファイル実行プロセスを選択します。実行中のプロセスのリス...