modcalls.d
位于DTraceToolkit的Kernel
文件夹下,其功能是统计不同模块调用kernel
函数的次数。脚本代码就一行(略去版权信息):
fbt:::entry { @calls[probemod] = count(); }
脚本代码分析如下:
监听fbt Provider
的 entry probe
(fbt Provider
几乎提供了对所有kernel
函数的entry
和exit
的trace
)。定义calls
这个aggregation
,用probemod
做key
(probemod
记录了当前probe
的模块名)。当probe
触发后,把calls
里相应模块的统计次数加[……]