3.6. Tapsets
Tapsets は、SystemTap スクリプトで使用する事前作成されたプローブおよび関数のライブラリーを形成するスクリプトです。ユーザーが SystemTap スクリプトを実行すると、SystemTap はスクリプトのプローブイベントとハンドラーを tapset ライブラリーに対して確認します。そして SystemTap はスクリプトを C 言語に変換する前に対応するプローブと関数を読み込みます (SystemTap で発生するセッションの情報は、「アーキテクチャー」 を参照してください)。
SystemTap スクリプトと同様に、tapsets はファイル名拡張子
.stp
を使用します。tapsets の標準ライブラリーは、デフォルトで /usr/share/systemtap/tapset/
にあります。ただし SystemTap スクリプトとは異なり、tapsets は直接実行するものではなく、他のスクリプトがそこから定義をプルできるライブラリーを構成します。
簡単に言うと、tapset ライブラリーは抽象化レイヤーで、ユーザーによるイベントおよび関数の定義を容易にするように設計されています。言うなれば、Tapsets は、ユーザーがイベントとして特定を希望する可能性のある関数に便利なエイリアスを提供します。適切なエイリアスを知ることは、ほとんどの場合、カーネルのバージョンごとに異なる特定のカーネル関数を覚えるよりも容易です。
「イベント」 および「SystemTap 関数」のいくつかのハンドラーと関数は、tapsets で定義されています。たとえば、
thread_indent()
は indent.stp
で定義されています。