我正在尝试使用fprof对我的软件进行更好的性能可视化.但是,默认是使用挂钟测量的,但我想用cpu时间测量它.因此,我在 shell上运行以下命令,但是出现错误.无法真正找到它在互联网或erl
% 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 withbadarg
.
因此,如果调用erlang:trace(all,true,[cpu_timestamp])返回badarg异常,则意味着您的平台不支持此功能.