January 2023
Beginner to intermediate
940 pages
15h 53m
Japanese
本付録は、便利なbpftrace 1行プログラム集である。実用に役立つだけでなく、bpftraceの学習にも役立つ。ほとんどのものは今までの章で示したものである。また、そのままの状態では動かないものが多い。特定のトレースポイントや関数、あるいはカーネルの特定のバージョン、構成を必要とするものも含まれている。
bpftraceの基礎知識については、15章の「15.2 bpftrace」を参照のこと。
引数付きで新プロセスをトレースする。
bpftrace -e 'tracepoint:syscalls:sys_enter_execve { join(args->argv); }'
PID、プロセス名別にシステムコールの回数を数える。
bpftrace -e 'tracepoint:raw_syscalls:sys_enter { @[pid, comm] = count(); }'
システムコールプローブ名別にシステムコールの回数を数える。
bpftrace -e 'tracepoint:syscalls:sys_enter_* { @[probe] = count(); }'
実行中のプロセス名を99Hzでサンプリングする。
bpftrace -e 'profile:hz:99 { @[comm] = count(); }'
プロセス名付きでシステム全体のユーザー/カーネルスタックを49Hzでサンプリングする。
bpftrace -e 'profile:hz:49 { @[kstack, ustack, comm] = count(); }'
PID 189のユーザーレベルスタックを49Hzでサンプリングする。 ...
Read now
Unlock full access