我试图用oerf工具来测量特定函数的精确执行时间/周期。我添加了使用perf探测从每个函数输入和返回的事件。我可以看到使用perf脚本的函数如下:
perf script --header -F comm,pid,tid,cpu,time,event我得到的是:
kpktgend_1 33688/33688 [001] 151433.505544: probe:pktgen_alloc_skb:
kpktgend_1 33688/33688 [001] 151433.505545: probe:pktgen_alloc_skb_1:
kpktgend_1 33688/33688 [001] 151433.505546: probe:mlx5e_xmit:
kpktgend_1 33688/33688 [001] 151433.505546: probe:mlx5e_xmit_1:
kpktgend_1 33688/33688 [001] 151433.505547: probe:pktgen_alloc_skb:
kpktgend_1 33688/33688 [001] 151433.505547: probe:pktgen_alloc_skb_1:
kpktgend_1 33688/33688 [001] 151433.505548: probe:mlx5e_xmit:
kpktgend_1 33688/33688 [001] 151433.505549: probe:mlx5e_xmit_1:每个“事件”都是函数的入口点,"event"_1是函数的返回点。这与我想要的非常接近,正如你所看到的,我知道通话的时间。
三个问题:
发布于 2017-09-27 10:38:57
使用-ns标志运行perf脚本可以解决这个问题。
perf script -F time --ns
76970.575503465:
76970.575506464:
76970.575507479:没有:
$perf script -F time
76970.575503:
76970.575506:
76970.575507:来自文件:
perf script -h
--ns Use 9 decimal places when displaying timehttps://stackoverflow.com/questions/45948153
复制相似问题