そろそろBPFのことを思い出そうと思って記事を書く。 シリーズです: udzura.hatenablog.jp udzura.hatenablog.jp 前回まででRustでのBPF CO-REバイナリの作成方法をまとめたが、C言語などで使う場合の細かい手順を追ってみる。 ちゃんとドキュメントを追い切れていないところがあり、今回は、iovisor/bccのlibbpf-toolsにあるMakefileなどを参照したことは了解願いたい。 github.com さて、利用するBPFプログラムは以下のようにする。 vfs_read をトレースして、読み込みに成功いたバイト数を、log2をbinとするヒストグラムにする。 #include "vmlinux.h" #include <bpf/bpf_helpers.h> #include <bpf/bpf_tracing.h> #include <