函数耗时分布
函数耗时分布
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 组合。
用 kprobe/kretprobe 配对测函数耗时, hist() 直接输出对数分布直方图。
bpftrace -e 'kprobe:vfs_read { @start[tid] = nsecs; }
kretprobe:vfs_read /@start[tid]/ { @ns = hist(nsecs - @start[tid]); delete(@start[tid]); }'