2010-11-25 4 views
3

얼랑에서 수신 된 메시지의 시간을 어떻게 얻습니까?수신 된 메시지의 시간 얻기

gen_server에 수신 된 메시지의 빈도에 따라 뭔가를 계산하고 싶습니다.

메시지 1, 언젠가, 메시지 2 언젠가. 메시지 간격을 확인하십시오.

감사

+0

요금 계산이 필요하십니까? :) –

+0

예. 하나는 토렌트의 총 위/아래 속도, 또 다른 하나는 피어를 질식 시키거나 개별 피어 속도를 계산하는 것입니다. – jarryd

답변

5

당신은 당신이 메시지를 수신 statistics(wall_clock) 때마다 사용할 수 있습니다. 반환하는 튜플의 두 번째 멤버는 두 수신 사이의 시간 (밀리 초)입니다.

편집 : rvirding으로

그의 코멘트에 언급, 당신은 또한 now()를 사용하고 그에 따라 시간 차이를 계산할 수 있습니다. Erlang/OTP 배포본의 $ERL_TOP/lib/stdlib/src/ 디렉토리에있는 supervisor.erl을보십시오. 해당 모듈의 마지막 줄 (함수 addRestart, 및 difference)은 now()을 사용하여 다시 시작 빈도를 계산합니다.

+3

또는 더 정확하게 말하면'statistics (wall_clock) '를 두 번 호출하는 사이의 시간입니다. 또 다른 방법은 마이크로 초 해상도를 반환하는'now()'를 사용하는 것입니다. – rvirding

관련 문제