如何在Erlang中获取收到消息的时间?
我想根据收到的gen_server消息的频率计算一些东西。
e.g。消息1,一段时间,消息2一段时间。 获取消息之间的时间。
由于
答案 0 :(得分:5)
每次收到消息时都可以使用statistics(wall_clock)
。
它返回的元组的第二个成员将是两个接收之间的时间(以毫秒为单位)。
修改强>:
正如rvirding在评论中提到的那样,您也可以使用now()
然后相应地计算时差。看一下在Erlang / OTP发行版的supervisor.erl
目录中找到的$ERL_TOP/lib/stdlib/src/
。该模块的最后几行(函数addRestart
,inPeriod
和difference
)使用now()
计算重新启动的频率。