合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
fprof类似eprof,但是会把详细信息存储到文件中,方便数据统计分析。 只看某一函数的简单调用方法: 1> fprof:apply(Module, fun, Args). 2> fprof:profile(). 3> fprof:analyse(). 实际上在执行的时候,fprof:apply/3前后会自动添加trace([start, ...]) 和 trace(stop). > fprof:trace([start, {file, "./fprof.trace"}, {procs, PidSpec}]). %% 或者可以trace多个Pid,[PidSpec] > fprof:trace(stop). > fprof:profile({file, "./fprof.trace"}). > fprof:analyse([{dest, "fprof.analysis"},{sort,own}]). %% 详细参数见: http://www.erlang.org/doc/man/fprof.html#analyse-2 %是一种标记,每一个“段落”中,%表示被调用的函数主体,%以上为调用它的函数,%以下为它调用的函数。“段落”中的CNT列表示被调用次数,Acc表示包括%之上的函数在内所花费的时间,own表示不包括%之上的函数所用的时间。 suspend表示进程挂起。 也可以将fprof这类工具卸载想监控的代码前后。