DTrace ユーザーガイド

DTrace でプローブを指定する

プローブを一意に識別する 4 つの要素を指定することにより、プローブを完全指定できます。プローブは次の形式で指定します。provider:module:function:name。プローブの要素の指定を省略すると、任意の要素を指定したことになります。たとえば、fbt::alloc:entry は、次の属性のプローブを指定しています。

4 つの要素のうち、前半は省略可能です。::open:entry と指定した場合、open:entry と指定したのと同じことになります。どちらも、すべてのプロバイダおよびカーネルモジュールからの、関数名が open、プローブ名が entry であるプローブを指定したことになります。


# dtrace -l -n open:entry
  ID      PROVIDER        MODULE             FUNCTION NAME
  14       syscall                               open entry
7386           fbt       genunix                 open entry

sh(1) のマニュアルページの「ファイル名の生成」のセクションに記載されている構文と同様のパターンマッチング構文を使って、プローブを指定することもできます。この構文では、特殊文字 *?[、および ] を使用できます。プローブ記述 syscall::open*:entry は、openopen64 の両方のシステムコールを意味します。? は、名前に含まれる任意の 1 文字を表します。[] 文字は、名前に含まれる特定の文字列を指定するために使用します。