次の例に示すように、実行中のfind のすべてのインスタンスによって呼び出されたread()
コールのarg2
に指定されたサイズの分布を表示できます。 スクリプトの実行後、別のウィンドウでfind .またはfind /.のような、findで検索を開始します。
#dtrace -n 'syscall::read:entry /execname=="find"/{@dist["find"]=quantize(arg2);}'
dtrace: description 'syscall::read:entry ' matched 1 probe^C
find value ------------- Distribution ------------- count 256 | 0 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 6 1024 | 0 2048 | 0 4096 |@@@@@@@@@@ 2 8192 | 0
プログラムが前述の例のように単純な場合は、コマンドラインから実行すると便利です。