アプリケーションのプロファイル
プロファイルするアプリケーションの種類に関係なく、ワークフローは常に同じであり、次の内容で構成されます。
セッションを実行してスナップショットを取得する
セッションを開始してスナップショットを取得する
ツールバーで、プロファイルを作成する実行構成を選択します。
実行 | スイッチプロファイリング設定 メニューで、プロファイリング構成を選択します。
いずれかの 事前定義済み構成: サンプリング、 トレース、 1 行ずつ、 タイムライン、 タイムライン (Mono) (Mono アプリ用)、 タイムライン (Unity) (Unity アプリ用)。
または独自の カスタム構成。

メニューから 実行 | {profiling-configuration} を使用して {run-configuration} をプロファイリングする を選択します。
プロファイリングが開始されると、 dotTrace プロファイラーツールウィンドウが プロファイリング タブで開き、プロファイリングコントローラーが内部に表示されます。
プロファイリング構成で 最初からプロファイリングデータを収集する を無効にした場合は、
Start Recording をクリックしてプロファイリングデータの記録を開始します。探しているパフォーマンスの問題を再現するか、アプリ全体のパフォーマンスを評価するだけの場合は、アプリケーションで必要な使用シナリオを実行します。
スナップショットを取得 をクリックします。 収集されたスナップショットは、 dotTrace プロファイラー ウィンドウ内のスナップショットのリストに追加されます。 プロファイリングデータの収集を再開するには、
Start Recording をもう一度クリックします。スナップショットを収集したら、プロファイリングセッションを終了できます。 通常は、プロファイリングされたアプリケーションを閉じるか、
切り離す ボタンを使ってプロファイラーをデタッチすることで行います(
強制終了 はプロファイリングされたアプリケーションとセッションを強制的に終了させるため、緊急の場合にのみ使用してください)。
収集されたスナップショットの分析
パフォーマンススナップショットの分析の詳細については、「プロファイリング結果を分析する 」を参照してください。
スナップショットを分析する
dotTrace プロファイラーツールウィンドウの すべてのスナップショット タブで、分析するスナップショットを選択します。
いずれかのビューを使用して収集データを分析します。
呼び出しツリー: すべてのスレッドにおけるすべてのメソッド呼び出しを表示する「古典的な」呼び出しツリー。 各最上位ノードは、特定のスレッドによって実行された最上位関数を表します。 このビューを使用して、実際のアプリケーションアクティビティにすばやくアクセスします。 詳細
トップメソッド :アプリケーションのパフォーマンスを分析する際の最適な開始地点です。 実行時間が最も長いメソッドのシンプルな一覧表示です。
トグルを使用してリストから除外することで、システム関数の「ノイズ」を減らせます。有効化すると、そのメソッドの実行時間は、メソッド自身の時間とすべての子システムメソッド(スタック内の次のユーザーメソッドまで)の時間の合計として計算されます。 詳細
疑わしい方法が見つかったら、 F4 を押すか、コンテキストメニューから ソースに移動 を選択します。 Rider はあなたをそのメソッドのソースコードへと移動します。
プロファイリング構成について
プロファイリングセッションを開始する前に、使用するプロファイリング構成を決定する必要があります。 通常、どちらかを決定します
プロファイリング構成は、使用するプロファイリングタイプ、子プロセスをプロファイリングする必要があるかどうかなどのプロファイリングセッション設定を指定します。
プロファイリングターゲットは常に 現在選択されている 実行構成で指定された実行可能ファイル * です。
次の実行構成タイプをプロファイルできます。
macOS (macOS のみ、
net7.0-macos、net8.0-macos、net7.0-maccatalyst、net8.0-maccatalyst、Xamarin.Macターゲットフレームワークのみ)
他の種類の実行構成を選択した場合は、ツールバーのプロファイリングコントロールが無効になります。
カスタムプロファイリング構成を作成する
メニューから 実行 | スイッチプロファイリング設定 | 実行構成の編集 を選択します。
開いた プロファイリング構成 ウィンドウで、
をクリックして新しいプロファイリング設定を追加します。
リストで、プロファイリングタイプのいずれかを選択します。
タイムライン
スレッドの状態、アプリケーションイベント、およびその他のマルチスレッドデータに関する時間データを収集します。 Windows では、タイムラインプロファイリングは Event Tracing for Windows (ETW) に基づいており、管理者権限で JetBrains ETW ホストサービスを実行する必要があります。 macOS および Linux では、外部サービスは必要ありません。 ネイティブプロファイリングをサポートします。
ほとんどの場合に推奨されます。 特に、マルチスレッドアプリを分析する場合に有効です。 たとえば、UI のフリーズ、過剰なガベージコレクション、不均一なワークロード分散、不十分な I/O などの原因を特定する場合に使用します。
Mono または Unity アプリケーションをプロファイルするための構成を作成したい場合は、それに応じて タイムライン (Mono) または タイムライン (Unity) を選択してください。
サンプリング
正確な時間測定、呼び出し数の測定は行われません。
ほとんどの場合に推奨されます。 アプリのパフォーマンスの問題を初めて探すときに理想的です。
macOS および Linux で .NET Core 3.0 以前をターゲットとしたアプリケーションをプロファイリングしたい場合は、 サンプリング (.NET Core 3.0 以前) を選択してください。 .NET Core の制限により、問題が発生する可能性があります。プロファイル対象のアプリケーションがハングまたはクラッシュする場合があります。 .NET Core 3.1(以降)をターゲットとするプロジェクトは、問題なくプロファイリングできます。
トレース
正確なコールは測定をカウントし、時間測定はプロファイリングオーバーヘッドのために不正確になる場合があります。
サンプリングデータが足りないとき。 例: アルゴリズムの複雑さを分析するため(呼び出し回数に関する情報が呼び出し時間の値よりも価値がある場合)。
1 行ずつ
Windows のみ。
各コード行が測定されますが、プロファイラーの大きなオーバーヘッドのため、呼び出し時間の値は正確ではありません。
高度なユースケースのみ。 例: どの機能が問題を引き起こしているのかを知っていて、その各行を分析したいとき。
構成 名前 とその他のプロファイリングオプションを指定します。
- プロファイリングを手動で制御する
プロファイラーコントロールを介して手動でプロファイリングを制御できます。 例: スナップショットを撮るには、 スナップショットを取得 をクリックする必要があります。
- 最初からプロファイリングデータを収集する
選択した場合、dotTrace は起動直後にプロファイリングデータの収集を開始します。 それ以外の場合、dotTrace は、 dotTrace プロファイラーツールウィンドウで Start Recording をクリックした後にのみデータの収集を開始します。
- API によるプロファイリングの制御
プロファイルされたアプリケーションのコードから直接プロファイリングを制御できます。 例: コードの正確なポイントでスナップショットを取得します。 API の使用について詳しくは、 dotTrace のドキュメントを参照してください。
- 子プロセスをプロファイリングする
選択した場合、dotTrace は、メインのアプリプロセスだけでなく、それが実行するプロセスもプロファイリングします。
- .NET 5 以降の子プロセスをプロファイル
(macOS および Linux のタイムライン)
選択した場合、dotTrace は、メインのアプリプロセスだけでなく、それが実行するプロセスもプロファイリングします。 .NET5 以降のプロセスのみがサポートされています。
- サンプリングレート
(Windows のタイムライン)
dotTrace は Windows カーネルからスタックトレースデータを取得します。 デフォルトでは、カーネルは 1 秒あたり 1000 個のサンプルイベントを提供します。 サンプリングレートを最大 8000 サンプル / 秒まで増やすことができます。 これは、たとえばゲーム開発で、高速に実行されるネイティブコードをプロファイリングする場合に理にかなっています。 サンプリングレートが高いほど、結果の精度は高くなりますが、スナップショットのサイズは大きくなります。
- 時間測定
(Windows 上でのサンプリング、トレース、行単位)
このオプションは、dotTrace が呼び出し時間を計算する方法を定義します。 通常、これは、スレッドが動作していないときに dotTrace が時間を計算するかどうかの選択です。 詳細については、 dotTrace のドキュメントを参照してください。
リアルタイム (パフォーマンスカウンタ)
推奨。 dotTrace は、メソッドの開始から終了までの間に経過した全体的な実時間を計算します。 この時間は、アプリのスレッドの状態に依存しません。 時間は、システムパフォーマンスカウンターを使用して計算されます。
リアルタイム (CPU 命令)
dotTrace は、メソッドの開始から終了までの間に経過した全体的な実時間を計算します。 この時間は、アプリのスレッドの状態に依存しません。 時間は CPU レジスタを使用して計算されます。
スレッド時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間爆弾時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間時間
dotTrace は特定のスレッドが実行中の時間のみを計算します。 スレッドが待機中またはスリープ中の時間は計算に含まれません。
スレッドサイクル時間
dotTrace は特定のスレッドが実行中の時間のみを計算します。 スレッドが待機中またはスリープ中の時間は計算に含まれません。 時間は CPU レジスタを使用して計算されます。
- インライン化を有効化
(トレース、行単位)
dotTrace で JIT インライン化をオフにし、アプリケーションのソースコードの構造に近い呼び出しスタックを取得する場合は、このオプションをオフにします。
- 高い正確性
(トレース、行単位)
選択すると、dotTrace はより多くの時間サンプルを取得して、プロファイラー自体で費やされた時間を考慮します。
- ネイティブプロファイリングを有効化
(タイムライン、Windows 上の Unity/Mono)
選択した場合、dotTrace はネイティブのコールスタックデータを収集します。 結果のスナップショットには、マネージドコールスタックとネイティブコールスタックの両方が含まれます。 このプロファイリングオプションは、Unity ゲームのパフォーマンスの問題を見つけるのに役立つ場合があります。
- ネイティブ割り当てを収集する
(Windows のタイムライン)
選択すると、dotTrace は、プロファイリングされたアプリケーションがネイティブ (アンマネージド) ヒープ内で行うすべてのメモリ割り当てに関する情報を収集します。
... KB ごとのサンプル割り当て は、メモリ割り当てサンプルをトリガーする割り当てメモリのサイズを定義します。 デフォルト値は 100 KB です。 これは、割り当てられたメモリのサイズが合計 100 KB を超えるとサンプルがトリガーされることを意味します。 例: ネイティブスレッドは、プロファイリング中に 50 KB のメモリブロックを 5 つ割り当てます。 このような場合、dotTrace は 100 KB の割り当てを 2 つだけ検出します。
サイズが小さいほど、結果はより正確になり、スナップショットは大きくなります。 このオプションを使用して、データの精度とスナップショットサイズ間の最適なバランスを見つけます。
未リリースの割り当てのみを収集する を選択した場合、dotTrace は、スナップショットを作成した時点でまだアンマネージヒープ内にあった割り当てに関するデータのみをスナップショットに保存します。
- TPL イベントを収集する
(タイムライン)
選択すると、プロファイリングのパフォーマンスに影響する可能性がありますが、dotTrace はタスク並列ライブラリ (TPL) データを収集します。 選択を解除すると、 呼び出しツリー に
Taskノードは表示されなくなり、async呼び出しノードは await 部分と 継続 部分なしで表示されます。アプリケーションがマルチタスクを使用しない場合、またはこの情報が必要ない場合は、このオプションをクリアしてください。
- デバッグ出力を収集する
(Windows のタイムライン)
選択した場合、dotTrace は、プロファイルされたアプリケーションが デバッグ出力に送信するすべてのメッセージに関する情報を収集します。
- シンボルファイルをダウンロードする
(Windows のタイムライン)
PDB ファイル (またはシンボルファイル) を使用すると、呼び出しツリーでネイティブ関数を確認できます。 これは、ネイティブアプリケーションと、ネイティブコードを呼び出すマネージドアプリケーションに関係します。 シンボルファイルをダウンロードする を選択すると、JetBrains Rider はスナップショット取得直後にリモートサーバーから PDB ファイルのダウンロードを試みます。 ファイルのサイズによっては、これにはかなりの時間がかかる場合があることに注意してください。
デフォルトでは、JetBrains Rider は
_NT_SYMBOL_PATH環境変数で指定された場所で PDB ファイルを検索します。 また、、 configure のシンボルサーバー のリンクを使用して、カスタム、ローカルまたはリモート場所を指定することができます。バックグラウンドでのダウンロード が有効になっている場合、dotTrace はプロファイリングセッションの実行中にシンボルファイルのダウンロードを開始します。 これは、スナップショットの取得時間を短縮するのに役立つ場合があります。