diff options
author | Simon MacMullen <simon@rabbitmq.com> | 2013-11-15 16:43:04 +0000 |
---|---|---|
committer | Simon MacMullen <simon@rabbitmq.com> | 2013-11-15 16:43:04 +0000 |
commit | 15fe0b12410e4740653764ea0ee3540331487347 (patch) | |
tree | 8a896742ade2e75e4851eed86944ad19c418b0b2 | |
parent | 24333af1e874873439706cc8ff2b3bcaec7f4469 (diff) | |
download | rabbitmq-server-15fe0b12410e4740653764ea0ee3540331487347.tar.gz |
Store timestamps as integers.
-rw-r--r-- | src/rabbit_amqqueue_process.erl | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl index 9a4f3205..09cb4254 100644 --- a/src/rabbit_amqqueue_process.erl +++ b/src/rabbit_amqqueue_process.erl @@ -157,8 +157,8 @@ init_state(Q) -> exclusive_consumer = none, has_had_consumers = false, active_consumers = priority_queue:new(), - consumer_use_info = #cu_info{inactive = erlang:now(), - active = erlang:now(), + consumer_use_info = #cu_info{inactive = now_micros(), + active = now_micros(), inactive_dur = 1, active_dur = 1}, senders = pmon:new(delegate), @@ -551,20 +551,20 @@ deliver_from_queue_deliver(AckRequired, State) -> update_cu(#cu_info{active = WhenActive, inactive = WhenInactive} = CUInfo, inactive) -> - case timer:now_diff(WhenInactive, WhenActive) > 0 of + case WhenInactive > WhenActive of true -> CUInfo; - false -> Now = erlang:now(), - CUInfo#cu_info{active_dur = timer:now_diff(Now, WhenActive), + false -> Now = now_micros(), + CUInfo#cu_info{active_dur = Now - WhenActive, inactive = Now} end; update_cu(#cu_info{inactive = WhenInactive, active = WhenActive, active_dur = Active, avg = Avg} = CUInfo, active) -> - case timer:now_diff(WhenActive, WhenInactive) > 0 of + case WhenActive > WhenInactive of true -> CUInfo; - false -> Now = erlang:now(), - Inactive = timer:now_diff(Now, WhenInactive), + false -> Now = now_micros(), + Inactive = Now - WhenInactive, Time = Inactive + Active, Ratio = Active / Time, Weight = erlang:min(1, Time / 1000000), @@ -1083,9 +1083,9 @@ i(consumer_utilisation, #q{consumer_use_info = #cu_info{active = WhenActive, inactive = WhenInactive, avg = Avg}}) -> - Now = erlang:now(), - case timer:now_diff(Now, WhenInactive) < 5000000 of - false -> case timer:now_diff(WhenInactive, WhenActive) > 0 of + Now = now_micros(), + case Now - WhenInactive < 5000000 of + false -> case WhenInactive > WhenActive of true -> inactive; false -> active end; |