首页/系统/Linux 内核与性能调优速查/bpftrace 直方图统计延迟

bpftrace 直方图统计延迟

用 kprobe/kretprobe 配对测函数耗时, hist() 直接输出对数分布直方图。

函数耗时分布

函数耗时分布
bpftrace -e 'kprobe:vfs_read { @start[tid] = nsecs; }
kretprobe:vfs_read /@start[tid]/ { @ns = hist(nsecs - @start[tid]); delete(@start[tid]); }'
多行程序写成文件后 bpftrace file.bt 执行更清晰; 计数键可用 tid/pid/comm 组合。

易错点

  • 忘记 delete 导致表项无界增长
  • 函数重入场景下简单配对会出现不匹配

数据来源与参考

  • bpftrace 官方文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌