feat: hidden stats config

This commit is contained in:
某文 2023-04-10 22:00:56 +08:00 committed by Zhongwen Deng
parent 57e8e2dae2
commit e5b85916b6
3 changed files with 34 additions and 11 deletions

View File

@ -204,7 +204,9 @@ roots(low) ->
{"stats",
sc(
ref("stats"),
#{}
#{
importance => ?IMPORTANCE_HIDDEN
}
)},
{"sysmon",
sc(
@ -339,6 +341,7 @@ fields("stats") ->
boolean(),
#{
default => true,
importance => ?IMPORTANCE_HIDDEN,
desc => ?DESC(stats_enable)
}
)}
@ -609,8 +612,7 @@ fields("mqtt") ->
)}
];
fields("zone") ->
Fields = emqx_zone_schema:roots(),
[{F, ref(emqx_zone_schema, F)} || F <- Fields];
emqx_zone_schema:zone();
fields("flapping_detect") ->
[
{"enable",
@ -1971,10 +1973,7 @@ desc("persistent_session_builtin") ->
desc("persistent_table_mria_opts") ->
"Tuning options for the mria table.";
desc("stats") ->
"Enable/disable statistic data collection.\n"
"Statistic data such as message receive/send count/rate etc. "
"It provides insights of system performance and helps to diagnose issues. "
"You can find statistic data from the dashboard, or from the '/stats' API.";
"deprecated since 5.0.23";
desc("authorization") ->
"Settings for client authorization.";
desc("mqtt") ->

View File

@ -15,8 +15,10 @@
%%--------------------------------------------------------------------
-module(emqx_zone_schema).
-include_lib("typerefl/include/types.hrl").
-include_lib("hocon/include/hoconsc.hrl").
-export([namespace/0, roots/0, fields/1, desc/1]).
-export([namespace/0, roots/0, fields/1, desc/1, zone/0, zone_without_hidden/0]).
namespace() -> zone.
@ -33,6 +35,29 @@ roots() ->
"overload_protection"
].
zone() ->
Fields = roots(),
Hidden = hidden(),
lists:map(
fun(F) ->
case lists:member(F, Hidden) of
true ->
{F, ?HOCON(?R_REF(F), #{importance => ?IMPORTANCE_HIDDEN})};
false ->
{F, ?HOCON(?R_REF(F), #{})}
end
end,
Fields
).
zone_without_hidden() ->
lists:map(fun(F) -> {F, ?HOCON(?R_REF(F), #{})} end, roots() -- hidden()).
hidden() ->
[
"stats"
].
%% zone schemas are clones from the same name from root level
%% only not allowed to have default values.
fields(Name) ->

View File

@ -352,8 +352,7 @@ with_default_value(Type, Value) ->
Type#{example => emqx_map_lib:binary_string(Value)}.
global_zone_roots() ->
lists:map(fun({K, _}) -> K end, global_zone_schema()).
lists:map(fun({K, _}) -> list_to_binary(K) end, global_zone_schema()).
global_zone_schema() ->
Roots = hocon_schema:roots(emqx_zone_schema),
lists:map(fun({RootKey, {_Root, Schema}}) -> {RootKey, Schema} end, Roots).
emqx_zone_schema:zone_without_hidden().