第1章 はじめに

SystemTap は、稼動中の Linux システムに関する情報の収集を単純化する無料のソフトウェア (GPL) インフラストラクチャーを提供します。これにより、パフォーマンスまたは機能の問題の診断が支援されます。また、開発者は、データを収集するのに必要になることがある退屈で破壊的なインストルメンテーション、再コンパイル、インストール、および再起動を行う必要がなくなります。
SystemTap は、稼働中のカーネルに対してインストルメンテーションを記述するために簡単なコマンドラインインターフェースとスクリプト言語を提供します。このインストルメンテーションは、タップセットライブラリーで提供されるプローブポイントと関数を使用します。
要するに、タップセットは、カーネルサブシステムに関する知識を他のスクリプトが使用できる事前記述されたプローブおよび関数へカプセル化するスクリプトです。タップセットは C プログラムのライブラリーと似ています。カーネルエリアの基礎になる詳細を公開せずに、カーネルの管理および監視に必要な主要情報を公開します。通常、タップセットはカーネルの専門家によって開発されます。
タップセットは高レベルなデータとサブシステムの状態遷移を公開します。通常、タップセットの開発者は、SystemTap ユーザーがカーネルサブシステムの低レベルな詳細をほとんど知らないと仮定します。したがって、タップセットの開発者は通常の SystemTap ユーザーが有用で便利な SystemTap スクリプトを書けるようにするタップセットを作成します。

1.1. 本ガイドの目的

本ガイドは、SystemTap の最も便利で一般的なタップセットを取り上げることを目的としています。また、本ガイドには、適切なタップセットの開発や文書化に関するガイドラインも含まれています。本ガイドに含まれるタップセット定義は、各タップセットファイルのコードにある正しい書式のコメントから自動的に抽出されました。そのため、本ガイドの定義への訂正は対応するタップセットファイルに直接適用する必要があります。