当前位置 : 主页 > 网络安全 > 测试自动化 >

在CPU时间内使用fprof进行Erlang性能分析

来源:互联网 收集:自由互联 发布时间:2021-06-22
我正在尝试使用fprof对我的软件进行更好的性能可视化.但是,默认是使用挂钟测量的,但我想用cpu时间测量它.因此,我在 shell上运行以下命令,但是出现错误.无法真正找到它在互联网或erl
我正在尝试使用fprof对我的软件进行更好的性能可视化.但是,默认是使用挂钟测量的,但我想用cpu时间测量它.因此,我在 shell上运行以下命令,但是出现错误.无法真正找到它在互联网或erlang文档上失败的原因.有人有任何提示吗?

% fprof:trace([start, {cpu_time, true}]).
{error,not_supported}
fprof的cpu_time标志被转换为trace的cpu_timestamp,如上面的代码片段所示:

根据http://erlang.org/doc/man/erlang.html#trace-3:

cpu_timestamp

A global trace flag for the Erlang node that makes all trace timestamps be in CPU time, not wallclock. It is only allowed with PidSpec==all. If the host machine operating system does not support high resolution CPU time measurements, trace/3 exits with badarg.

因此,如果调用erlang:trace(all,true,[cpu_timestamp])返回badarg异常,则意味着您的平台不支持此功能.

网友评论