JetBrains Rider 2021.1 ヘルプ

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

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

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

制限

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

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

dotTrace は Rider のバンドルプラグインとして提供されており、追加の操作を必要とせずに Rider とともに自動的にインストールされます。何らかの理由で dotTrace を無効にしたい場合は、Rider のプラグインの設定でこれを行うことができます。

dotTrace が Rider で利用できるのは、dotUltimate または All Products Pack サブスクリプションの所有者のみです。

サポートされているオペレーティングシステムとフレームワーク

WindowsmacOS | Linux
.NET フレームワーク 1.0 – 4.8 Supported

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

:

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

Not available

.NET コア 1.0 – 3.1

.NET 5

Supported

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

:

  • .NET Core 3.0 以降のプロセスにのみ接続できます。

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 プロファイラーウィンドウ | JetBrains Rider

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

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

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

タイムラインプロファイリング結果の分析 | dotTrace

タイムラインプロファイリングスナップショットを撮った後の次のステップは、タイムラインビューアーでそれを分析することです。Visual Studio で統合されたビューアーでタイムラインプロファイリングスナップショットを分析することもできます(詳細は下記参照)。Visual Studio に統合されたタイムラインビューアー:dotTrace をインストールするときに視覚習得の統合オプションを選択した場合、Visual Studio にはタイムラインビューアーが組み込まれています。このビューアーは...

プラグイン設定 | JetBrains Rider

XPathView プラグインの設定は、設定 / 環境設定ダイアログの XPath ビューアーページで設定します。最初のヒットを可視領域にスクロールするこのチェックボックスを選択すると、エディターが自動的に最初の XPath にスクロールします。コンテキストノードとしてカーソルを使用するこのチェックボックスをオンにすると、入力した XPath 式で現在選択されているノード(タグ / 属性 /pi など)がそのコンテキストノードとして使用され、このノードに対して式が評価されます。タグ全体のコンテンツではなく...

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

どのアプリケーションタイプをプロファイルするかにかかわらず、ワークフローは常に同じであり、次の要素で構成されています。プロファイリングセッションの設定、セッションを実行してスナップショットを取得する、収集したスナップショットの分析、ステップ 1. プロファイリングセッションの設定:プロファイリングセッションを開始する前に、プロファイリング設定を選択する必要があります。プロファイリング構成は、使用するプロファイリングタイプ、子プロセスをプロファイリングする必要があるかどうかなどのプロファイリング...

.NET プロセスへの接続とプロファイル

dotTrace では、あらゆる .NET のプロファイルを作成できます。システムですでに実行されている .NET Core プロセス。プロファイリングワークフローは次のようになります。プロファイリングセッションの設定、セッションを実行してスナップショットを取得する、収集したスナップショットの分析、ステップ 1. プロファイリングセッションの設定:プロファイリングセッションを開始する前に、少なくとも 1 つの適切なプロファイリング設定があることを確認してください。プロファイリング構成は、使用す...