summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rabbit_memory_monitor.erl18
1 files changed, 6 insertions, 12 deletions
diff --git a/src/rabbit_memory_monitor.erl b/src/rabbit_memory_monitor.erl
index 66c01298e8..62b464e0f3 100644
--- a/src/rabbit_memory_monitor.erl
+++ b/src/rabbit_memory_monitor.erl
@@ -209,11 +209,12 @@ internal_update(State = #state{queue_durations = Durations,
desired_duration = DesiredDurationAvg,
disk_alarm = DiskAlarm}) ->
DesiredDurationAvg1 = desired_duration_average(State),
- State1 = State#state{desired_duration = DesiredDurationAvg1},
- maybe_inform_queues(
- should_inform_predicate(DiskAlarm),
- DesiredDurationAvg, DesiredDurationAvg1, Durations),
- State1.
+ ShouldInform = should_inform_predicate(DiskAlarm),
+ case ShouldInform(DesiredDurationAvg, DesiredDurationAvg1) of
+ true -> inform_queues(ShouldInform, DesiredDurationAvg1, Durations);
+ false -> ok
+ end,
+ State#state{desired_duration = DesiredDurationAvg1}.
desired_duration_average(#state{queue_duration_sum = Sum,
queue_duration_count = Count,
@@ -237,13 +238,6 @@ desired_duration_average(#state{queue_duration_sum = Sum,
(Sum / Count) / MemoryRatio
end.
-maybe_inform_queues(ShouldInform, DesiredDurationAvg, DesiredDurationAvg1,
- Durations) ->
- case ShouldInform(DesiredDurationAvg, DesiredDurationAvg1) of
- true -> inform_queues(ShouldInform, DesiredDurationAvg1, Durations);
- false -> ok
- end.
-
inform_queues(ShouldInform, DesiredDurationAvg, Durations) ->
true =
ets:foldl(