summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@lshift.net>2009-07-03 10:24:33 +0100
committerMatthew Sackman <matthew@lshift.net>2009-07-03 10:24:33 +0100
commit9fc504937632389a8570606f3b9518f13e6a8e24 (patch)
treeddd72a143bd3d4b44fe786b62a176879d4157cbb /src
parent79c53e4fa94c79d2de98f2d68d2ffa6997862ac0 (diff)
downloadrabbitmq-server-git-9fc504937632389a8570606f3b9518f13e6a8e24.tar.gz
report memory:
a) when we're not hibernating, every 10 seconds b) immediately prior to hibernating c) as soon as we stop hibernating
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_amqqueue_process.erl10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl
index ebee301ee4..986546dce7 100644
--- a/src/rabbit_amqqueue_process.erl
+++ b/src/rabbit_amqqueue_process.erl
@@ -141,7 +141,7 @@ reply(Reply, NewState) ->
reply1(Reply, NewState = #q { hibernated_at = undefined }) ->
{reply, Reply, NewState, NewState #q.hibernate_after};
reply1(Reply, NewState) ->
- NewState1 = adjust_hibernate_after(NewState),
+ NewState1 = report_memory(false, adjust_hibernate_after(NewState)),
{reply, Reply, NewState1, NewState1 #q.hibernate_after}.
noreply(NewState = #q { memory_report_timer = undefined }) ->
@@ -152,7 +152,7 @@ noreply(NewState) ->
noreply1(NewState = #q { hibernated_at = undefined }) ->
{noreply, NewState, NewState #q.hibernate_after};
noreply1(NewState) ->
- NewState1 = adjust_hibernate_after(NewState),
+ NewState1 = report_memory(false, adjust_hibernate_after(NewState)),
{noreply, NewState1, NewState1 #q.hibernate_after}.
adjust_hibernate_after(State = #q { hibernated_at = undefined }) ->
@@ -603,8 +603,7 @@ report_memory(Hibernating, State = #q { mixed_state = MS }) ->
N -> N
end,
rabbit_queue_mode_manager:report_memory(self(), NewMem, Gain, Loss, Hibernating),
- State #q { mixed_state = rabbit_mixed_queue:reset_counters(MS),
- memory_report_timer = undefined }.
+ State #q { mixed_state = rabbit_mixed_queue:reset_counters(MS) }.
%---------------------------------------------------------------------------
@@ -881,7 +880,8 @@ handle_cast({set_mode, Mode}, State = #q { mixed_state = MS }) ->
noreply(State #q { mixed_state = MS1 });
handle_cast(report_memory, State) ->
- noreply1(report_memory(false, State)).
+ noreply1
+ ((report_memory(false, State)) #q { memory_report_timer = undefined }).
handle_info({'DOWN', MonitorRef, process, DownPid, _Reason},
State = #q{owner = {DownPid, MonitorRef}}) ->