diff options
author | Jean-Sébastien Pédron <jean-sebastien.pedron@dumbbell.fr> | 2023-03-27 17:54:29 +0200 |
---|---|---|
committer | Jean-Sébastien Pédron <jean-sebastien.pedron@dumbbell.fr> | 2023-04-05 11:50:11 +0200 |
commit | 7e92132355db3f0ac676a332a73263a84f646753 (patch) | |
tree | c8570b53cbea0b18e5d276a62c81a0ffbf564b9a | |
parent | dc9a7a62f04e14255607d1df9e1d1a1b4d528eb4 (diff) | |
download | rabbitmq-server-git-deprecate-classic-mirrored-queues.tar.gz |
Mark management metrics collection as deprecateddeprecate-classic-mirrored-queues
[TBW]
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. |