第41章 SystemTap
41.1. はじめに
SystemTap は、実行中の Linux カーネルに関する情報の収集を簡素化するシンプルなコマンドラインインターフェイスとスクリプト言語を提供し、さらに分析できるようにします。複雑なパフォーマンスや機能問題の診断を可能にするために、データを抽出、フィルターリング、および安全に要約できます。
SystemTap を使用すると、スクリプトを SystemTap スクリプト言語で記述できます。これは、C コードカーネルモジュールにコンパイルされ、カーネルに挿入されます。
systemtap スクリプトの背後にある重要な概念は、イベントに名前を付け、ハンドラーを提供することです。指定したイベントが発生するたびに、Linux カーネルはハンドラーをクイックサブルーチンであるかのように実行し、再開します。関数の入力または終了、タイマーの有効期限、systemtap セッションの開始や停止など、さまざまな種類のイベントがあります。ハンドラーは一連のスクリプト言語のステートメントで、イベント発生時に実行する作業を指定します。この作業には通常、イベントコンテキストからのデータの抽出、内部変数への保存、または結果の出力が含まれます。