Solaris 动态跟踪指南

缺省操作

子句可以包含任意数量的操作和变量处理。如果将子句保留为空,则会采用缺省操作。缺省操作将跟踪主体缓冲区已启用的探测器标识符 (enabled probe identifier, EPID)。EPID 使用特定谓词和操作标识特定探测器的特定启用。通过 EPID,DTrace 使用者可以确定引起该操作的探测器。实际上,只要跟踪数据,都必须为该数据附加 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 
...