summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2014-10-06 12:10:18 +0100
committerSimon MacMullen <simon@rabbitmq.com>2014-10-06 12:10:18 +0100
commit37c0ea90c8f0266a2dfd68952c0135631535e9e3 (patch)
tree6e70d0251039e321a856b2abe1fdf91b683972a9 /src
parent425a2c70194eee59ea8ef25eef19c160e4cf8363 (diff)
downloadrabbitmq-server-git-37c0ea90c8f0266a2dfd68952c0135631535e9e3.tar.gz
Classify ETS memory by owner (and thus include all msg store memory under "msg store index").
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_vm.erl11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/rabbit_vm.erl b/src/rabbit_vm.erl
index b100149212..4d613ccedf 100644
--- a/src/rabbit_vm.erl
+++ b/src/rabbit_vm.erl
@@ -44,8 +44,8 @@ memory() ->
|| Names <- distinguished_interesting_sups()],
Mnesia = mnesia_memory(),
- MsgIndexETS = ets_memory(rabbit_msg_store_ets_index),
- MgmtDbETS = ets_memory(rabbit_mgmt_db),
+ MsgIndexETS = ets_memory([msg_store_persistent, msg_store_transient]),
+ MgmtDbETS = ets_memory([rabbit_mgmt_db]),
[{total, Total},
{processes, Processes},
@@ -117,10 +117,11 @@ mnesia_memory() ->
_ -> 0
end.
-ets_memory(Name) ->
+ets_memory(OwnerNames) ->
+ Owners = [whereis(N) || N <- OwnerNames],
lists:sum([bytes(ets:info(T, memory)) || T <- ets:all(),
- N <- [ets:info(T, name)],
- N =:= Name]).
+ O <- [ets:info(T, owner)],
+ lists:member(O, Owners)]).
bytes(Words) -> Words * erlang:system_info(wordsize).