Skip to content

Commit 065395e

Browse files
committed
Hibernate 2 metrics gc processes
It was observed that `rabbit_core_metrics_gc` and `rabbit_stream_metrics_gc` processes can grow to several MBs of memory (probably because fetching the list of all queues). As they execute infrequently (every 2 minutes by default) it can save some memory to hibernate them in-between (similar to other similar processes).
1 parent afa28cb commit 065395e

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

deps/rabbit/src/rabbit_core_metrics_gc.erl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
%%
77
-module(rabbit_core_metrics_gc).
88

9+
-behaviour(gen_server).
10+
911
-record(state, {timer,
1012
interval
1113
}).
@@ -17,7 +19,7 @@
1719
-spec start_link() -> rabbit_types:ok_pid_or_error().
1820

1921
start_link() ->
20-
gen_server:start_link({local, ?MODULE}, ?MODULE, [], []).
22+
gen_server:start_link({local, ?MODULE}, ?MODULE, [], [{hibernate_after, 0}]).
2123

2224
init(_) ->
2325
Interval = rabbit_misc:get_env(rabbit, core_metrics_gc_interval, 120000),

deps/rabbitmq_stream/src/rabbit_stream_metrics_gc.erl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232

3333
-spec start_link() -> rabbit_types:ok_pid_or_error().
3434
start_link() ->
35-
gen_server:start_link({local, ?MODULE}, ?MODULE, [], []).
35+
gen_server:start_link({local, ?MODULE}, ?MODULE, [], [{hibernate_after, 0}]).
3636

3737
init(_) ->
3838
Interval =

0 commit comments

Comments
 (0)