summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rabbit_amqqueue.erl5
-rw-r--r--src/rabbit_amqqueue_process.erl8
-rw-r--r--src/rabbit_channel.erl23
-rw-r--r--src/rabbit_reader.erl4
4 files changed, 26 insertions, 14 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index 775c631d51..73ef183897 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -368,7 +368,7 @@ consumers_all(VHostPath) ->
stat(#amqqueue{pid = QPid}) -> delegate_call(QPid, stat, infinity).
emit_stats(#amqqueue{pid = QPid}) ->
- delegate_cast(QPid, emit_stats).
+ delegate_info(QPid, emit_stats).
delete_immediately(#amqqueue{ pid = QPid }) ->
gen_server2:cast(QPid, delete_immediately).
@@ -519,3 +519,6 @@ delegate_call(Pid, Msg, Timeout) ->
delegate_cast(Pid, Msg) ->
delegate:invoke(Pid, fun (P) -> gen_server2:cast(P, Msg) end).
+
+delegate_info(Pid, Msg) ->
+ delegate:invoke(Pid, fun (P) -> gen_server2:info(P, Msg) end).
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl
index 78bb683578..ac90efd9d4 100644
--- a/src/rabbit_amqqueue_process.erl
+++ b/src/rabbit_amqqueue_process.erl
@@ -749,7 +749,6 @@ prioritise_cast(Msg, _State) ->
{set_maximum_since_use, _Age} -> 8;
maybe_expire -> 8;
drop_expired -> 8;
- emit_stats -> 7;
{ack, _Txn, _MsgIds, _ChPid} -> 7;
{reject, _MsgIds, _Requeue, _ChPid} -> 7;
{notify_sent, _ChPid} -> 7;
@@ -759,7 +758,12 @@ prioritise_cast(Msg, _State) ->
prioritise_info({'DOWN', _MonitorRef, process, DownPid, _Reason},
#q{q = #amqqueue{exclusive_owner = DownPid}}) -> 8;
-prioritise_info(_Msg, _State) -> 0.
+prioritise_info(Msg, _State) ->
+ case Msg of
+ emit_stats -> 7;
+ _ -> 0
+ end.
+
handle_call({init, Recover}, From,
State = #q{q = #amqqueue{exclusive_owner = none}}) ->
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl
index 4e9bd4b137..6b9d4db112 100644
--- a/src/rabbit_channel.erl
+++ b/src/rabbit_channel.erl
@@ -164,7 +164,7 @@ info_all(Items) ->
rabbit_misc:filter_exit_map(fun (C) -> info(C, Items) end, list()).
emit_stats(Pid) ->
- gen_server2:cast(Pid, emit_stats).
+ gen_server2:info(Pid, emit_stats).
%%---------------------------------------------------------------------------
@@ -212,8 +212,13 @@ prioritise_call(Msg, _From, _State) ->
prioritise_cast(Msg, _State) ->
case Msg of
- emit_stats -> 7;
- _ -> 0
+ _ -> 0
+ end.
+
+prioritise_info(Msg, _State) ->
+ case Msg of
+ emit_stats -> 7;
+ _ -> 0
end.
handle_call(flush, _From, State) ->
@@ -286,18 +291,18 @@ handle_cast({deliver, ConsumerTag, AckRequired,
end, State),
noreply(State1#ch{next_tag = DeliveryTag + 1});
-handle_cast(emit_stats, State = #ch{stats_timer = StatsTimer}) ->
- internal_emit_stats(State),
- {noreply,
- State#ch{stats_timer = rabbit_event:reset_stats_timer(StatsTimer)},
- hibernate};
-
handle_cast(flush_confirms, State) ->
{noreply, internal_flush_confirms(State)};
handle_cast({confirm, MsgSeqNo, From}, State) ->
{noreply, confirm(MsgSeqNo, From, State)}.
+handle_info(emit_stats, State = #ch{stats_timer = StatsTimer}) ->
+ internal_emit_stats(State),
+ {noreply,
+ State#ch{stats_timer = rabbit_event:reset_stats_timer(StatsTimer)},
+ hibernate};
+
handle_info({'DOWN', _MRef, process, QPid, _Reason},
State = #ch{queues_for_msg = QFM}) ->
State1 = dict:fold(
diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl
index 4dd150a26f..9d9c7096e6 100644
--- a/src/rabbit_reader.erl
+++ b/src/rabbit_reader.erl
@@ -219,7 +219,7 @@ info(Pid, Items) ->
end.
emit_stats(Pid) ->
- gen_server:cast(Pid, emit_stats).
+ gen_server:info(Pid, emit_stats).
conserve_memory(Pid, Conserve) ->
Pid ! {conserve_memory, Conserve},
@@ -377,7 +377,7 @@ mainloop(Deb, State = #v1{parent = Parent, sock= Sock, recv_ref = Ref}) ->
catch Error -> {error, Error}
end),
mainloop(Deb, State);
- {'$gen_cast', emit_stats} ->
+ emit_stats ->
State1 = internal_emit_stats(State),
mainloop(Deb, State1);
{system, From, Request} ->