Erlangで受信したメッセージの時刻を取得するにはどうすればよいですか?受信したメッセージの時刻を取得する
gen_serverへの受信メッセージの頻度に応じて何かを計算したいと思います。
メッセージ1、ある時間、メッセージ2、ある時間。 メッセージ間の時間を取得します。
おかげ
Erlangで受信したメッセージの時刻を取得するにはどうすればよいですか?受信したメッセージの時刻を取得する
gen_serverへの受信メッセージの頻度に応じて何かを計算したいと思います。
メッセージ1、ある時間、メッセージ2、ある時間。 メッセージ間の時間を取得します。
おかげ
あなたがメッセージを受け取るstatistics(wall_clock)
するたびに使用することができます。 返すタプルの2番目のメンバーは、2つの受信の間の時間(ミリ秒単位)です。
編集:
rvirdingが彼のコメントで述べているように、あなたもnow()
を使用し、それに応じて時間差を計算することができます。 Erlang/OTP配布の$ERL_TOP/lib/stdlib/src/
ディレクトリにあるsupervisor.erl
をご覧ください。そのモジュールの最後の行(関数addRestart
、およびdifference
)は、now()
を使用して再起動の頻度を計算します。
より正確には、 'statistics(wall_clock)'を2回呼び出すまでの時間です。もう1つの方法は、マイクロ秒の解像度を返す 'now()'を使うことです。 – rvirding
料金計算中ですか? :) –
はい。 1つはトレントのアップ/ダウン速度の合計、もう1つはピアチョーク、個々のピアレート計算です。 – jarryd