Erlang 20参考手册
tools
eprof
模块
eprof
模块摘要
Erlang的时间分析工具
描述
该模块eprof提供了一组用于Erlang程序时间分析的函数,以了解如何使用执行时间。分析是使用Erlang跟踪BIF完成的。在分析开始时启用追踪指定的一组进程的本地函数调用,并且在分析停止时禁用。
使用Eprof时,预计程序执行会减慢。
出口
start() -> {ok,Pid} | {error,Reason}
类型
启动eprof服务器,该服务器保存所收集数据的内部状态。
start_profiling(Rootset) -> profiling | {error, Reason}start_profiling(Rootset,Pattern) -> profiling | {error, Reason}start_profiling(Rootset,Pattern,Options) -> profiling | {error, Reason}
类型
开始分析Rootset(以及从中产生的任何新进程)中的进程。有关任何概要分析过程中活动的信息都存储在Eprof数据库中。
Rootset 是一个pid和注册名称的列表。
profiling如果可以对所有进程启用跟踪,则返回该函数Rootset,否则返回error。
可以选择一种模式来缩小分析。例如,可以选择一个特定的模块,只有在该模块中执行的代码才会被分析。
该set_on_spawn选项将对由rootset中的进程产生的所有进程启用通话时间跟踪。这是默认行为。
stop_profiling() -> profiling_stopped | profiling_already_stopped
停止start_profiling/1或开始分析profile/1。
profile(Fun) -> profiling | {error, Reason}profile(Fun, Options) -> profiling | {error, Reason}profile(Rootset) -> profiling | {error, Reason}profile(Rootset,Fun) -> {ok, Value} | {error,Reason}profile(Rootset,Fun,Pattern) -> {ok, Value} | {error, Reason}profile(Rootset,Module,Function,Args) -> {ok, Value} | {error, Reason}profile(Rootset,Module,Function,Args,Pattern) -> {ok, Value} | {error, Reason}profile(Rootset,Module,Function,Args,Pattern,Options) -> {ok, Value} | {error, Reason}
类型
这个函数首先产生一个P评估Fun()或者评估的过程apply(Module,Function,Args)。然后,它开始分析P和处理Rootset(以及从它们产生的任何新进程)。有关任何概要分析过程中活动的信息都存储在Eprof数据库中。
Rootset是PIDS和注册名称的列表。
如果跟踪可以为启用P,并在所有过程Rootset,函数返回{ok,Value}时Fun()/ apply与价值回报Value,或者{error,Reason}如果Fun()/ apply失败,退出原因Reason。否则它会{error, Reason}立即返回。
该set_on_spawn选项将对由rootset中的进程产生的所有进程启用通话时间跟踪。这是默认行为。
程序员必须确保作为参数给出的函数是真正同步的,并且在函数返回值后不继续工作。
analyze() -> okanalyze(Type) -> okanalyze(Type,Options) -> ok
类型
当分析已停止以显示每个进程的结果时调用此函数,即:
- 每个过程使用了多少时间,以及
- 在这个函数调用中这个时间已经用完了。
当分析已停止时,analyze通过total选项调用以显示每个函数调用的结果,即函数调用时间已用于哪个函数。
时间表示为总时间的百分比和绝对时间。
log(File) -> ok
类型
该函数可确保将显示的结果analyze/0,1,2同时打印到文件File和屏幕上。
stop() -> stopped
停止Eprof服务器。
tools相关
Erlang 是一种通用的面向并发的编程语言,可应付大规模开发活动的程序设计语言和运行环境。
| 主页 | https://www.erlang.org/ |
| 源码 | https://github.com/erlang/otp |
| 版本 | 20 |
| 发布版本 | 20.1 |
加载中,请稍侯......