summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Sébastien Pédron <jean-sebastien.pedron@dumbbell.fr>2023-03-27 17:54:29 +0200
committerJean-Sébastien Pédron <jean-sebastien.pedron@dumbbell.fr>2023-04-05 11:50:11 +0200
commit7e92132355db3f0ac676a332a73263a84f646753 (patch)
treec8570b53cbea0b18e5d276a62c81a0ffbf564b9a
parentdc9a7a62f04e14255607d1df9e1d1a1b4d528eb4 (diff)
downloadrabbitmq-server-git-deprecate-classic-mirrored-queues.tar.gz
Mark management metrics collection as deprecateddeprecate-classic-mirrored-queues
[TBW]
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_app.erl6
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_features.erl11
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_util.erl5
-rw-r--r--deps/rabbitmq_management_agent/src/rabbit_mgmt_agent_config.erl20
-rw-r--r--deps/rabbitmq_management_agent/src/rabbit_mgmt_agent_sup.erl6
5 files changed, 39 insertions, 9 deletions
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_app.erl b/deps/rabbitmq_management/src/rabbit_mgmt_app.erl
index 1462b4a520..be375996e8 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_app.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_app.erl
@@ -27,10 +27,10 @@
{mfa, {rabbit_mgmt_load_definitions, boot, []}}]}).
start(_Type, _StartArgs) ->
- case application:get_env(rabbitmq_management_agent, disable_metrics_collector, false) of
- false ->
- start();
+ case rabbit_mgmt_agent_config:is_metrics_collector_enabled() of
true ->
+ start();
+ false ->
rabbit_log:warning("Metrics collection disabled in management agent, "
"management only interface started", []),
start()
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_features.erl b/deps/rabbitmq_management/src/rabbit_mgmt_features.erl
index 5318aa4cca..3ecfe9d5fc 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_features.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_features.erl
@@ -7,7 +7,8 @@
-module(rabbit_mgmt_features).
--export([is_op_policy_updating_disabled/0]).
+-export([is_op_policy_updating_disabled/0,
+ are_stats_enabled/0]).
is_op_policy_updating_disabled() ->
case get_restriction([operator_policy_changes, disabled]) of
@@ -15,6 +16,14 @@ is_op_policy_updating_disabled() ->
_ -> false
end.
+are_stats_enabled() ->
+ DisabledFromConf = application:get_env(
+ rabbitmq_management, disable_management_stats, false),
+ case DisabledFromConf of
+ true -> false;
+ _ -> rabbit_mgmt_agent_config:is_metrics_collector_permitted()
+ end.
+
%% Private
get_restriction(Path) ->
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_util.erl b/deps/rabbitmq_management/src/rabbit_mgmt_util.erl
index d4ec1e2870..77f30c9136 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_util.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_util.erl
@@ -133,8 +133,9 @@ disable_stats(ReqData) ->
<<"true">> -> true;
_ -> false
end,
- MgmtOnly orelse get_bool_env(rabbitmq_management, disable_management_stats, false)
- orelse get_bool_env(rabbitmq_management_agent, disable_metrics_collector, false).
+ MgmtOnly orelse
+ not rabbit_mgmt_agent_config:is_metrics_collector_enabled() orelse
+ not rabbit_mgmt_features:are_stats_enabled().
enable_queue_totals(ReqData) ->
EnableTotals = case qs_val(<<"enable_queue_totals">>, ReqData) of
diff --git a/deps/rabbitmq_management_agent/src/rabbit_mgmt_agent_config.erl b/deps/rabbitmq_management_agent/src/rabbit_mgmt_agent_config.erl
index 8f9a9c25c6..b13e380644 100644
--- a/deps/rabbitmq_management_agent/src/rabbit_mgmt_agent_config.erl
+++ b/deps/rabbitmq_management_agent/src/rabbit_mgmt_agent_config.erl
@@ -7,6 +7,14 @@
-module(rabbit_mgmt_agent_config).
-export([get_env/1, get_env/2]).
+-export([is_metrics_collector_enabled/0,
+ is_metrics_collector_permitted/0]).
+
+-rabbit_deprecated_feature(
+ {management_metrics_collector,
+ #{deprecation_phase => permitted_by_default,
+ doc_url => "https://blog.rabbitmq.com/posts/2021/08/4.0-deprecation-announcements/"
+ }}).
%% some people have reasons to only run with the agent enabled:
%% make it possible for them to configure key management app
@@ -20,3 +28,15 @@ get_env(Key, Default) ->
rabbit_misc:get_env(rabbitmq_management, Key,
rabbit_misc:get_env(rabbitmq_management_agent, Key,
Default)).
+
+is_metrics_collector_enabled() ->
+ DisabledFromConf = application:get_env(
+ rabbitmq_management_agent, disable_metrics_collector, false),
+ case DisabledFromConf of
+ true -> false;
+ _ -> is_metrics_collector_permitted()
+ end.
+
+is_metrics_collector_permitted() ->
+ FeatureName = management_metrics_collector,
+ rabbit_deprecated_features:is_permitted(FeatureName).
diff --git a/deps/rabbitmq_management_agent/src/rabbit_mgmt_agent_sup.erl b/deps/rabbitmq_management_agent/src/rabbit_mgmt_agent_sup.erl
index 0b99566000..71b72e73be 100644
--- a/deps/rabbitmq_management_agent/src/rabbit_mgmt_agent_sup.erl
+++ b/deps/rabbitmq_management_agent/src/rabbit_mgmt_agent_sup.erl
@@ -34,8 +34,8 @@ start_link() ->
maybe_enable_metrics_collector() ->
- case application:get_env(rabbitmq_management_agent, disable_metrics_collector, false) of
- false ->
+ case rabbit_mgmt_agent_config:is_metrics_collector_enabled() of
+ true ->
ok = pg:join(?MANAGEMENT_PG_SCOPE, ?MANAGEMENT_PG_GROUP, self()),
ST = {rabbit_mgmt_storage, {rabbit_mgmt_storage, start_link, []},
permanent, ?WORKER_WAIT, worker, [rabbit_mgmt_storage]},
@@ -52,6 +52,6 @@ maybe_enable_metrics_collector() ->
GC = {rabbit_mgmt_gc, {rabbit_mgmt_gc, start_link, []},
permanent, ?WORKER_WAIT, worker, [rabbit_mgmt_gc]},
[ST, MD, GC | MC ++ MGC];
- true ->
+ false ->
[]
end.