付録Cbpftrace 1行プログラム

本付録は、便利なbpftrace 1行プログラム集である。実用に役立つだけでなく、bpftraceの学習にも役立つ。ほとんどのものは今までの章で示したものである。また、そのままの状態では動かないものが多い。特定のトレースポイントや関数、あるいはカーネルの特定のバージョン、構成を必要とするものも含まれている。

bpftraceの基礎知識については、15章「15.2 bpftrace」を参照のこと。

C.1 CPU

引数付きで新プロセスをトレースする。

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でサンプリングする。 ...

Get 詳解 システム・パフォーマンス 第2版 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.