我可以问dtrace启用了哪些探针?

时间:2011-06-21 14:09:54

标签: macos solaris sun dtrace

如果重要,我使用的是Mac OS X,但我相信这适用于操作系统。如果操作系统的答案不同,我也有兴趣了解它。

假设我打开终端窗口,启用一些探针,然后开始使用DTrace收集数据。

从不同的终端窗口,我可以询问DTrace启用了哪些探针?如果是这样,怎么样?

1 个答案:

答案 0 :(得分:2)

我从Adam Leventhal的DTrace邮件列表中获得了以下信息。首先,他提供了这个适用于Solaris的脚本

#!/usr/sbin/dtrace -s

#pragma D option quiet

int i;

tick-100
/i >= `dtrace_nprobes/
{
       exit(0);
}

tick-100
{        printf("%4d %10s %20s %20s %10s %s\n", i,
           stringof(`dtrace_probes[i]->dtpr_provider->dtpv_name),
           stringof(`dtrace_probes[i]->dtpr_mod),
           stringof(`dtrace_probes[i]->dtpr_func),
           stringof(`dtrace_probes[i]->dtpr_name),
           `dtrace_probes[i]->dtpr_ecb != NULL ? "enabled" : "disabled");
       i++
}

不幸的是,由于存在错误,Mac OS X上没有相同的内核变量。