Linuxカーネルのftrace機能は、カーネル内での処理の流れを知りたいときにとても便利! カーネル内で実行されたほぼすべての関数を時系列順に知ることができる。 さらに追加情報として、PIDやプロセス名、遅延時間(処理時間)なども取得されていて、おぉ!ここでコンテキストスイッチしてる、とか、この処理がこんなに重い、とかひと目で分かる。 (Linuxに限らず)OSの内部動作を知る、という意味でも使える。 trace-cmdを使うと便利。 trace-cmdのGUIフロントエンドKernelSharkを使うとさらに見やすい!! 関数トレース機能だけでなく、プリエンプト禁止時間の最大時間を取得できたり、タスクの起床遅延時間を計測できたりと色々使えそう。 Example: >cat /sys/kernel/debug/tracing/available_tracers (現在利用可能なトレース機