bpftrace测量函数耗时
bpftrace可以通过在函数开始和结束时打桩,测量两者的间隔得到函数的执行时间。目前能够在内核函数返回时时插装的主要是kprobe。下面是一个例子:
#!/usr/bin/bpftrace kprobe:try_to_wake_up { @start[tid] = nsecs; } kretprobe:try_to_wake_up /@start[tid] != 0/ { @ns[tid] = avg(nsecs - @start[tid]); delete(@start[tid]); }
执行后ctl C终止bpftrace后就可以@ns的输出就是函数的耗时。
浙公网安备 33010602011771号