問題があれば、私は Mac OS X を使用していますが、これはすべての OS に当てはまると思います。OSごとに答えが異なる場合は、それについても学びたいと思います。
ターミナル ウィンドウを開き、いくつかのプローブを有効にして、DTrace でデータの収集を開始するとします。
別のターミナル ウィンドウから、有効になっているプローブを DTrace に問い合わせることはできますか? もしそうなら、どのように?
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 では同じカーネル変数を使用できません。