summaryrefslogtreecommitdiff
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
commitaa6968811986182f8b607cbf22a206c9d82949c2 (patch)
tree6e70d0251039e321a856b2abe1fdf91b683972a9
parentd30734e1ff48d9fa28b31c17ee6800f03a2629b8 (diff)
downloadrabbitmq-server-bug26401.tar.gz
Classify ETS memory by owner (and thus include all msg store memory under "msg store index").bug26401
-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 b1001492..4d613cce 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).