diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_disk_queue.erl | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/rabbit_disk_queue.erl b/src/rabbit_disk_queue.erl index 329b453a4d..c8f726318e 100644 --- a/src/rabbit_disk_queue.erl +++ b/src/rabbit_disk_queue.erl @@ -44,7 +44,7 @@ dump_queue/1, delete_non_durable_queues/1, auto_ack_next_message/1 ]). --export([length/1]). +-export([length/1, get_cache_info/0]). -export([stop/0, stop_and_obliterate/0, to_disk_only_mode/0, to_ram_disk_mode/0]). @@ -263,6 +263,7 @@ -spec(to_ram_disk_mode/0 :: () -> 'ok'). -spec(to_disk_only_mode/0 :: () -> 'ok'). -spec(length/1 :: (queue_name()) -> non_neg_integer()). +-spec(get_cache_info/0 :: () -> [{atom(), term()}]). -endif. @@ -333,6 +334,9 @@ to_ram_disk_mode() -> length(Q) -> gen_server2:call(?SERVER, {length, Q}, infinity). +get_cache_info() -> + gen_server2:call(?SERVER, get_cache_info, infinity). + %% ---- GEN-SERVER INTERNAL API ---- init([FileSizeLimit, ReadFileHandlesLimit]) -> @@ -473,7 +477,9 @@ handle_call({dump_queue, Q}, _From, State) -> {reply, Result, State1}; handle_call({delete_non_durable_queues, DurableQueues}, _From, State) -> {ok, State1} = internal_delete_non_durable_queues(DurableQueues, State), - {reply, ok, State1}. + {reply, ok, State1}; +handle_call(get_cache_info, _From, State = #dqstate { message_cache = Cache }) -> + {reply, ets:info(Cache), State}. handle_cast({publish, Q, Message}, State) -> {ok, _MsgSeqId, State1} = |
