some_id
some_id

Reputation: 29896

Getting the time of the received message

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

Upvotes: 3

Views: 286

Answers (1)

3lectrologos
3lectrologos

Reputation: 9662

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().

Upvotes: 5

Related Questions