Skip to content

Commit 589ace5

Browse files
Merge pull request #11396 from rabbitmq/mergify/bp/v3.13.x/pr-11389
Prefer monotonic time to measure durations (backport #11389)
2 parents 9a1770e + 9c81f49 commit 589ace5

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

deps/rabbit/src/rabbit_channel.erl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@
126126
delivery_tag,
127127
%% consumer tag
128128
tag,
129-
delivered_at,
129+
delivered_at :: integer(),
130130
%% queue name
131131
queue,
132132
%% message ID used by queue and message store implementations
@@ -1985,10 +1985,10 @@ record_sent(Type, QueueType, Tag, AckRequired,
19851985
false ->
19861986
ok
19871987
end,
1988-
DeliveredAt = os:system_time(millisecond),
19891988
rabbit_trace:tap_out(Msg, ConnName, ChannelNum, Username, TraceState),
19901989
UAMQ1 = case AckRequired of
19911990
true ->
1991+
DeliveredAt = erlang:monotonic_time(millisecond),
19921992
?QUEUE:in(#pending_ack{delivery_tag = DeliveryTag,
19931993
tag = Tag,
19941994
delivered_at = DeliveredAt,
@@ -2778,7 +2778,7 @@ evaluate_consumer_timeout(State = #ch{unacked_message_q = UAMQ}) ->
27782778

27792779
evaluate_consumer_timeout1(PA = #pending_ack{delivered_at = Time},
27802780
State) ->
2781-
Now = os:system_time(millisecond),
2781+
Now = erlang:monotonic_time(millisecond),
27822782
case get_consumer_timeout(PA, State) of
27832783
Timeout when is_integer(Timeout)
27842784
andalso Time < Now - Timeout ->

0 commit comments

Comments
 (0)