27.3. ftrace トレーサー

カーネルの設定方法によっては、指定のカーネルですべてのトレーサーが利用できるとは限りません。RHEL for Real Time カーネルの場合、トレースカーネルおよびデバッグカーネルには、実稼働カーネルとは異なるトレーサーがあります。これは、トレーサーの一部にトレーサーがカーネルに設定され、アクティブではない場合に大きなオーバーヘッドが発生するためです。このトレーサーは、trace および debug カーネルに対してのみ有効になります。

トレーサー

function
最も広く適用されるトレーサーの 1 つ。カーネル内の関数呼び出しを追跡します。トレースされる関数の数によっては、目立ったオーバーヘッドが発生する場合があります。アクティブでない場合は、ほとんどオーバーヘッドが発生しません。
function_graph

function_graph トレーサーは、より視覚に訴える形式で結果を表示するように設計されています。このトレーサーは、関数の終了を追跡し、カーネル内の関数呼び出しのフローを表示します。

注記

このトレーサーは、有効化されると function トレーサーよりもオーバーヘッドが高くなりますが、無効化されると同じオーバーヘッドが低くなります。

wakeup
すべての CPU でアクティビティーが発生することを報告する完全な CPU トレーサー。リアルタイムタスクであるかに関わらず、システム内で最も優先度の高いタスクを起動するのにかかる時間を記録します。非リアルタイムタスクを起動するのにかかる最大時間の記録では、リアルタイムタスクを起動するのにかかる時間が非表示になります。
wakeup_rt
すべての CPU でアクティビティーが発生することを報告する完全な CPU トレーサー。現在の最も高い優先度タスクから、ウェイクアップ時間まで経過時間を記録します。このトレーサーは、リアルタイムタスクの時間のみを記録します。
preemptirqsoff
プリエンプションまたは割り込みを無効にするエリアを追跡し、プリエンプションまたは割り込みが無効となった最大時間を記録します。
preemptoff
preemptirqsoff トレーサーと似ていますが、プリエンプションが無効化された最大間隔のみをトレースします。
irqsoff
preemptirqsoff トレーサーと似ていますが、割り込みが無効化された最大間隔のみをトレースします。
nop
デフォルトのトレーサー。トレース機能自体は提供しませんが、イベントがトレーサーにインターリーブする可能性があるため、nop トレーサーは、イベントのトレースに特に関心がある場合に使用されます。