Могу ли я спросить dtrace, какие датчики включены? - PullRequest
4 голосов
/ 21 июня 2011

Если это имеет значение, я использую Mac OS X, но я считаю, что это применимо ко всем ОС.Если ответ отличается для каждой ОС, мне было бы интересно узнать об этом.

Допустим, я открываю окно терминала, включаю несколько зондов и начинаю сбор данных с помощью DTrace.1004 * Могу ли я спросить DTrace из другого окна терминала, какие зонды были включены?Если да, то как?

1 Ответ

2 голосов
/ 22 июня 2011

Я получил следующую информацию от Адама Левенталя в списке рассылки 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 из-за ошибки.

...