dotTrace 2019.3ヘルプ

タイムラインプロファイリング

タイムラインプロファイリング中、dotTraceはアプリケーションイベントを記録し、プロファイリングセッション中にアプリケーションの状態がどのように変更されたかに関するデータを書き込みます。これには、一時呼び出しスタックおよびスレッド状態データだけでなく、メモリ割り当て、ガベージコレクション、およびI/O操作に関する一時的なデータも含まれます。
セッションが終了すると、タイムライン図に記録されたイベントを表示するタイムラインビューアーでプロファイリング結果を分析できます。
タイムラインプロファイリングはWindows(ETW)のイベントトレースに基づいています。

タイムラインプロファイリングを使用するタイミング

タイムラインプロファイリングは、次の場合に便利です。

  • アプリケーションのボトルネックを見つけます。

  • ユーザーインターフェースの原因を特定します。

  • 過度のガベージコレクションとI/O操作の識別

  • 不規則な作業のディストリビューション、ロックの競合、シリアル化された実行などのマルチスレッドアプリケーションにおける課題の特定

タイムラインとパフォーマンスプロファイリングの違い

大多数の場合、両方のプロファイリング方法は交換可能です。どちらもコールスタックデータを収集し、パフォーマンスのボトルネックを判断できます。
タイムラインプロファイリングの主な利点は、アプリケーションによって行われた呼び出しだけでなく、これらの呼び出しが時間内にどのように配布されたかを見ることができることです。これは、イベントの時間的順序が重要であるマルチスレッドアプリケーションの動作を分析するときに非常に役立ちます。たとえば、同期の遅延の判断、UIのフリーズの原因などです。
もう1つの利点は、タイムラインプロファイリングがより広い範囲のデータを収集することです。コールスタックデータに加えて、メモリ割り当て、ガベージコレクション、およびI/Oイベントを記録します。

コンプは何ですか?まず、トレースパフォーマンスプロファイリングタイプとは異なり、タイムラインプロファイリングは、実行されたコールの正確な数を判断することができません。アルゴリズムの複雑さを分析するのにほとんど使用できませんでした。
さらにタイムラインのプロファイリングは、全く異なるデータ表現を意味します。タイムラインビューアーは、イベントタイムラインで動作するように調整された一連のフィルタとダイアグラムです。パフォーマンスプロファイリングとそのパフォーマンスビューアーインターフェースは、より簡単な "最も遅い方法は何ですか?"シナリオ。

最終更新日: 2020年3月3日