diff options
| author | Diana Corbacho <diana@rabbitmq.com> | 2017-03-01 12:07:26 +0000 |
|---|---|---|
| committer | Michael Klishin <mklishin@pivotal.io> | 2017-03-01 22:45:58 +0300 |
| commit | bde71d2c49632d25a235edb86aa56efaf760fb97 (patch) | |
| tree | 14b086435300b4ae1e84221f503325aba9f07c9a /src | |
| parent | 831300674837068af16f4e28e93108256b8fbe53 (diff) | |
| download | rabbitmq-server-git-bde71d2c49632d25a235edb86aa56efaf760fb97.tar.gz | |
Update metrics gc to support gc marker
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_core_metrics_gc.erl | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/rabbit_core_metrics_gc.erl b/src/rabbit_core_metrics_gc.erl index e7f848bbc3..e0d7781796 100644 --- a/src/rabbit_core_metrics_gc.erl +++ b/src/rabbit_core_metrics_gc.erl @@ -96,6 +96,8 @@ gc_gen_server2() -> gc_process(Table) -> ets:foldl(fun({Pid = Key, _}, none) -> gc_process(Pid, Table, Key); + ({Pid = Key, _, _, _, _}, none) -> + gc_process(Pid, Table, Key); ({Pid = Key, _, _, _}, none) -> gc_process(Pid, Table, Key) end, none, Table). @@ -115,6 +117,8 @@ gc_entity(Table, GbSet) -> gc_entity(Id, Table, Key, GbSet); ({Id = Key, _}, none) -> gc_entity(Id, Table, Key, GbSet); + ({Id = Key, _, _}, none) -> + gc_entity(Id, Table, Key, GbSet); ({Id = Key, _, _, _, _}, none) -> gc_entity(Id, Table, Key, GbSet) end, none, Table). @@ -130,11 +134,11 @@ gc_entity(Id, Table, Key, GbSet) -> end. gc_process_and_entity(Table, GbSet) -> - ets:foldl(fun({{Pid, Id} = Key, _, _, _, _, _, _}, none) + ets:foldl(fun({{Pid, Id} = Key, _, _, _, _, _, _, _}, none) when Table == channel_queue_metrics -> gc_entity(Id, Table, Key, GbSet), gc_process(Pid, Table, Key); - ({{Pid, Id} = Key, _, _, _}, none) + ({{Pid, Id} = Key, _, _, _, _}, none) when Table == channel_exchange_metrics -> gc_entity(Id, Table, Key, GbSet), gc_process(Pid, Table, Key); @@ -157,7 +161,7 @@ gc_process_and_entity(Id, Pid, Table, Key, GbSet) -> end. gc_process_and_entities(Table, QueueGbSet, ExchangeGbSet) -> - ets:foldl(fun({{Pid, {Q, X}} = Key, _}, none) -> + ets:foldl(fun({{Pid, {Q, X}} = Key, _, _}, none) -> gc_process(Pid, Table, Key), gc_entity(Q, Table, Key, QueueGbSet), gc_entity(X, Table, Key, ExchangeGbSet) |
