获取收到消息的时间

jar*_*ryd 3 erlang

如何在Erlang中获取收到消息的时间?

我想根据收到的gen_server消息的频率计算一些东西.

例如消息1,一些时间,消息2一段时间.获取消息之间的时间.

谢谢

3le*_*gos 5

您可以在statistics(wall_clock)每次收到消息时使用.它返回的元组的第二个成员将是两个接收之间的时间(以毫秒为单位).

编辑:

正如rvirding在他的评论中提到的那样,你也可以使用now()然后相应地计算时差.看一下在Erlang/OTP发行版supervisor.erl$ERL_TOP/lib/stdlib/src/目录中找到的内容.该模块(功能的最后几行addRestart,inPerioddifference)计算使用重新启动的频率now().

  • 或者,更确切地说,两次调用`statistics(wall_clock)`之间的时间.另一种方法是使用`now()`返回微秒分辨率. (3认同)