Solaris 動的トレースガイド

デフォルトアクション

節には、任意の数のアクションと変数操作を含めることができます。節に何も指定しないと、「デフォルトアクション」が実行されます。デフォルトアクションでは、有効なプローブ ID (EPID ) が主バッファー内にトレースされます。EPID は、特定の述語とアクションによる特定のプローブの特定の有効化を識別します。DTrace コンシューマは、この EPID から、アクションを引き起こしたプローブを特定できます。実際、データのトレース時には必ず、EPID を指定して、コンシューマにトレース対象のデータを伝える必要があります。デフォルトアクションが EPID のトレースのみになっているのは、このためです。

デフォルトアクションを使用すると、dtrace(1M) コマンドの使用が簡単になります。たとえば、次のコマンド例では、タイムシェアリング (TS) スケジューリングモジュール内のすべてのプローブが有効化され、デフォルトアクションが実行されます。


# dtrace -m TS

このコマンドを実行すると、次のような出力が得られます。


# dtrace -m TS
dtrace: description 'TS' matched 80 probes
CPU     ID                    FUNCTION:NAME
  0  12077                 ts_trapret:entry 
  0  12078                ts_trapret:return 
  0  12069                   ts_sleep:entry 
  0  12070                  ts_sleep:return 
  0  12033                  ts_setrun:entry 
  0  12034                 ts_setrun:return 
  0  12081                  ts_wakeup:entry 
  0  12082                 ts_wakeup:return 
  0  12069                   ts_sleep:entry 
  0  12070                  ts_sleep:return 
  0  12033                  ts_setrun:entry 
  0  12034                 ts_setrun:return 
  0  12069                   ts_sleep:entry 
  0  12070                  ts_sleep:return 
  0  12033                  ts_setrun:entry 
  0  12034                 ts_setrun:return 
  0  12069                   ts_sleep:entry 
  0  12070                  ts_sleep:return 
  0  12023                  ts_update:entry 
  0  12079             ts_update_list:entry 
  0  12080            ts_update_list:return 
  0  12079             ts_update_list:entry 
...