【问题标题】:Can I ask dtrace what probes are enabled?请问dtrace启用了哪些探针?
【发布时间】:2011-06-21 14:09:54
【问题描述】:

如果重要的话,我使用的是 Mac OS X,但我相信这将适用于所有操作系统。如果每个操作系统的答案不同,我也会有兴趣了解这一点。

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

我可以从不同的终端窗口询问 DTrace 启用了哪些探测吗?如果有,怎么做?

【问题讨论】:

    标签: macos solaris sun dtrace


    【解决方案1】:

    我在 DTrace 邮件列表中从 Adam Leventhal 那里获得了以下信息。首先,他提供了这个在 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 上不可用。

    【讨论】:

      猜你喜欢
      • 2019-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-02
      • 1970-01-01
      相关资源
      最近更新 更多