@@ -64,7 +64,6 @@ gc_connections() ->
6464 gc_process (connection_coarse_metrics ).
6565
6666gc_channels () ->
67- % % TODO channel stats
6867 gc_process (channel_created ),
6968 gc_process (channel_metrics ),
7069 gc_process (channel_process_metrics ),
@@ -107,7 +106,6 @@ gc_process(Pid, Table, Key) ->
107106 true ->
108107 none ;
109108 false ->
110- % % TODO catch?
111109 ets :delete (Table , Key ),
112110 none
113111 end .
@@ -128,34 +126,29 @@ gc_entity(Id, Table, Key, GbSet) ->
128126 true ->
129127 none ;
130128 false ->
131- % % TODO catch?
132129 ets :delete (Table , Key ),
133130 none
134131 end .
135132
136133gc_process_and_entity (Table , GbSet ) ->
137134 ets :foldl (fun ({{Pid , Id } = Key , _ , _ , _ , _ , _ , _ , _ }, none )
138135 when Table == channel_queue_metrics ->
139- gc_entity (Id , Table , Key , GbSet ),
140- gc_process (Pid , Table , Key );
136+ gc_process_and_entity (Id , Pid , Table , Key , GbSet );
141137 ({{Pid , Id } = Key , _ , _ , _ , _ }, none )
142138 when Table == channel_exchange_metrics ->
143- gc_entity (Id , Table , Key , GbSet ),
144- gc_process (Pid , Table , Key );
139+ gc_process_and_entity (Id , Pid , Table , Key , GbSet );
145140 ({{Id , Pid , _ } = Key , _ , _ , _ , _ }, none )
146141 when Table == consumer_created ->
147- gc_entity (Id , Table , Key , GbSet ),
148- gc_process (Pid , Table , Key );
142+ gc_process_and_entity (Id , Pid , Table , Key , GbSet );
149143 ({{{Pid , Id }, _ } = Key , _ , _ , _ , _ }, none ) ->
150144 gc_process_and_entity (Id , Pid , Table , Key , GbSet )
151145 end , none , Table ).
152146
153147gc_process_and_entity (Id , Pid , Table , Key , GbSet ) ->
154- case rabbit_misc :is_process_alive (Pid ) orelse gb_sets :is_member (Id , GbSet ) of
148+ case rabbit_misc :is_process_alive (Pid ) andalso gb_sets :is_member (Id , GbSet ) of
155149 true ->
156150 none ;
157151 false ->
158- % % TODO catch?
159152 ets :delete (Table , Key ),
160153 none
161154 end .
0 commit comments