获取收到消息的时间

发布于 2024-10-05 01:15:39 字数 121 浏览 1 评论 0原文

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

我想根据 gen_server 收到消息的频率来计算一些内容。

例如,消息 1,某个时间,消息 2,某个时间。 获取消息之间的时间。

谢谢

How does one get the time of the received message in Erlang?

I want to calculate something according to the frequency of the received messages to the gen_server.

e.g. message 1, some time, message 2 some time.
get the time between messages.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

擦肩而过的背影 2024-10-12 01:15:39

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

编辑

正如 rvirding 在他的评论中提到的,您还可以使用 now() 然后计算相应的时间差。查看 Erlang/OTP 发行版的 $ERL_TOP/lib/stdlib/src/ 目录中的 supervisor.erl。该模块的最后几行(函数 addRestartinPerioddifference)使用 now() 计算重新启动的频率>。

You can use statistics(wall_clock) each time you receive a message.
The second member of the tuple it returns will be the time between the two receives (in milliseconds).

Edit:

As rvirding mentions in his comment, you can also use now() and then calculate the time difference accordingly. Take a look at supervisor.erl found in the $ERL_TOP/lib/stdlib/src/ directory of your Erlang/OTP distribution. The last lines of that module (functions addRestart, inPeriod and difference) calculate the frequency of restarts using now().

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文