chore(statsd): update statsd conf root

This commit is contained in:
Turtle 2021-07-29 09:48:59 +08:00 committed by turtleDeng
parent 61c11b8e3f
commit 4afae79be9
14 changed files with 21 additions and 15 deletions

View File

@ -72,7 +72,7 @@
-export([ssl/1]). -export([ssl/1]).
%% will be used by emqx_ct_helper to find the dependent apps %% will be used by emqx_ct_helper to find the dependent apps
-export([includes/0]). -export([includes/0, extra_schema_fields/1]).
structs() -> ["cluster", "node", "rpc", "log", structs() -> ["cluster", "node", "rpc", "log",
"zones", "listeners", "broker", "zones", "listeners", "broker",
@ -485,7 +485,7 @@ fields("alarm") ->
]; ];
fields(FieldName) -> fields(FieldName) ->
extra_schema_fields(FieldName). ?MODULE:extra_schema_fields(FieldName).
-ifndef(EMQX_EXT_SCHEMAS). -ifndef(EMQX_EXT_SCHEMAS).
%% Function extra_schema_fields/1 only terminates with explicit exception %% Function extra_schema_fields/1 only terminates with explicit exception

View File

@ -46,6 +46,7 @@ init_per_suite(Config) ->
%% important! let emqx_schema include the current app! %% important! let emqx_schema include the current app!
meck:new(emqx_schema, [non_strict, passthrough, no_history, no_link]), meck:new(emqx_schema, [non_strict, passthrough, no_history, no_link]),
meck:expect(emqx_schema, includes, fun() -> ["emqx_authz"] end ), meck:expect(emqx_schema, includes, fun() -> ["emqx_authz"] end ),
meck:expect(emqx_schema, extra_schema_fields, fun(FieldName) -> emqx_authz_schema:fields(FieldName) end),
ok = emqx_ct_helpers:start_apps([emqx_authz]), ok = emqx_ct_helpers:start_apps([emqx_authz]),
%create_default_app(), %create_default_app(),

View File

@ -32,6 +32,7 @@ init_per_suite(Config) ->
%% important! let emqx_schema include the current app! %% important! let emqx_schema include the current app!
meck:new(emqx_schema, [non_strict, passthrough, no_history, no_link]), meck:new(emqx_schema, [non_strict, passthrough, no_history, no_link]),
meck:expect(emqx_schema, includes, fun() -> ["emqx_authz"] end ), meck:expect(emqx_schema, includes, fun() -> ["emqx_authz"] end ),
meck:expect(emqx_schema, extra_schema_fields, fun(FieldName) -> emqx_authz_schema:fields(FieldName) end),
meck:new(emqx_resource, [non_strict, passthrough, no_history, no_link]), meck:new(emqx_resource, [non_strict, passthrough, no_history, no_link]),
meck:expect(emqx_resource, create, fun(_, _, _) -> {ok, meck_data} end ), meck:expect(emqx_resource, create, fun(_, _, _) -> {ok, meck_data} end ),

View File

@ -35,6 +35,7 @@ init_per_suite(Config) ->
%% important! let emqx_schema include the current app! %% important! let emqx_schema include the current app!
meck:new(emqx_schema, [non_strict, passthrough, no_history, no_link]), meck:new(emqx_schema, [non_strict, passthrough, no_history, no_link]),
meck:expect(emqx_schema, includes, fun() -> ["emqx_authz"] end ), meck:expect(emqx_schema, includes, fun() -> ["emqx_authz"] end ),
meck:expect(emqx_schema, extra_schema_fields, fun(FieldName) -> emqx_authz_schema:fields(FieldName) end),
ok = emqx_ct_helpers:start_apps([emqx_authz]), ok = emqx_ct_helpers:start_apps([emqx_authz]),
ct:pal("---- emqx_hooks: ~p", [ets:tab2list(emqx_hooks)]), ct:pal("---- emqx_hooks: ~p", [ets:tab2list(emqx_hooks)]),

View File

@ -32,6 +32,7 @@ init_per_suite(Config) ->
%% important! let emqx_schema include the current app! %% important! let emqx_schema include the current app!
meck:new(emqx_schema, [non_strict, passthrough, no_history, no_link]), meck:new(emqx_schema, [non_strict, passthrough, no_history, no_link]),
meck:expect(emqx_schema, includes, fun() -> ["emqx_authz"] end ), meck:expect(emqx_schema, includes, fun() -> ["emqx_authz"] end ),
meck:expect(emqx_schema, extra_schema_fields, fun(FieldName) -> emqx_authz_schema:fields(FieldName) end),
meck:new(emqx_resource, [non_strict, passthrough, no_history, no_link]), meck:new(emqx_resource, [non_strict, passthrough, no_history, no_link]),
meck:expect(emqx_resource, create, fun(_, _, _) -> {ok, meck_data} end ), meck:expect(emqx_resource, create, fun(_, _, _) -> {ok, meck_data} end ),

View File

@ -32,6 +32,7 @@ init_per_suite(Config) ->
%% important! let emqx_schema include the current app! %% important! let emqx_schema include the current app!
meck:new(emqx_schema, [non_strict, passthrough, no_history, no_link]), meck:new(emqx_schema, [non_strict, passthrough, no_history, no_link]),
meck:expect(emqx_schema, includes, fun() -> ["emqx_authz"] end ), meck:expect(emqx_schema, includes, fun() -> ["emqx_authz"] end ),
meck:expect(emqx_schema, extra_schema_fields, fun(FieldName) -> emqx_authz_schema:fields(FieldName) end),
meck:new(emqx_resource, [non_strict, passthrough, no_history, no_link]), meck:new(emqx_resource, [non_strict, passthrough, no_history, no_link]),
meck:expect(emqx_resource, create, fun(_, _, _) -> {ok, meck_data} end ), meck:expect(emqx_resource, create, fun(_, _, _) -> {ok, meck_data} end ),

View File

@ -32,6 +32,7 @@ init_per_suite(Config) ->
%% important! let emqx_schema include the current app! %% important! let emqx_schema include the current app!
meck:new(emqx_schema, [non_strict, passthrough, no_history, no_link]), meck:new(emqx_schema, [non_strict, passthrough, no_history, no_link]),
meck:expect(emqx_schema, includes, fun() -> ["emqx_authz"] end ), meck:expect(emqx_schema, includes, fun() -> ["emqx_authz"] end ),
meck:expect(emqx_schema, extra_schema_fields, fun(FieldName) -> emqx_authz_schema:fields(FieldName) end),
meck:new(emqx_resource, [non_strict, passthrough, no_history, no_link]), meck:new(emqx_resource, [non_strict, passthrough, no_history, no_link]),
meck:expect(emqx_resource, create, fun(_, _, _) -> {ok, meck_data} end ), meck:expect(emqx_resource, create, fun(_, _, _) -> {ok, meck_data} end ),

View File

@ -2,7 +2,7 @@
## Statsd for EMQ X ## Statsd for EMQ X
##-------------------------------------------------------------------- ##--------------------------------------------------------------------
emqx_statsd:{ statsd:{
enable: true enable: true
server: "127.0.0.1:8125" server: "127.0.0.1:8125"
sample_time_interval: "10s" sample_time_interval: "10s"

View File

@ -10,7 +10,6 @@
]}, ]},
{env,[]}, {env,[]},
{modules, []}, {modules, []},
{licenses, ["Apache 2.0"]}, {licenses, ["Apache 2.0"]},
{links, []} {links, []}
]}. ]}.

View File

@ -84,23 +84,23 @@ statsd_api() ->
[{"/statsd", Metadata, statsd}]. [{"/statsd", Metadata, statsd}].
statsd(get, _Request) -> statsd(get, _Request) ->
Response = emqx_config:get_raw([<<"emqx_statsd">>], #{}), Response = emqx_config:get_raw([<<"statsd">>], #{}),
{200, Response}; {200, Response};
statsd(put, Request) -> statsd(put, Request) ->
{ok, Body, _} = cowboy_req:read_body(Request), {ok, Body, _} = cowboy_req:read_body(Request),
Params = emqx_json:decode(Body, [return_maps]), Params = emqx_json:decode(Body, [return_maps]),
Enable = maps:get(<<"enable">>, Params), Enable = maps:get(<<"enable">>, Params),
ok = emqx_config:update([emqx_statsd], Params), ok = emqx_config:update([statsd], Params),
enable_statsd(Enable). enable_statsd(Enable).
enable_statsd(true) -> enable_statsd(true) ->
ok = emqx_statsd_sup:stop_child(?APP), ok = emqx_statsd_sup:stop_child(?APP),
emqx_statsd_sup:start_child(?APP, emqx_config:get([?APP], #{})), emqx_statsd_sup:start_child(?APP, emqx_config:get([statsd], #{})),
{200}; {200};
enable_statsd(false) -> enable_statsd(false) ->
_ = emqx_statsd_sup:stop_child(?APP), _ = emqx_statsd_sup:stop_child(?APP),
{200}. {200}.
get_raw(Key, Def) -> get_raw(Key, Def) ->
emqx_config:get_raw([<<"emqx_statsd">>]++ [Key], Def). emqx_config:get_raw([<<"statsd">>]++ [Key], Def).

View File

@ -32,9 +32,9 @@ stop(_) ->
ok. ok.
maybe_enable_statsd() -> maybe_enable_statsd() ->
case emqx_config:get([?APP, enable], false) of case emqx_config:get([statsd, enable], false) of
true -> true ->
emqx_statsd_sup:start_child(?APP, emqx_config:get([?APP], #{})); emqx_statsd_sup:start_child(?APP, emqx_config:get([statsd], #{}));
false -> false ->
ok ok
end. end.

View File

@ -11,9 +11,9 @@
-typerefl_from_string({ip_port/0, emqx_statsd_schema, to_ip_port}). -typerefl_from_string({ip_port/0, emqx_statsd_schema, to_ip_port}).
structs() -> ["emqx_statsd"]. structs() -> ["statsd"].
fields("emqx_statsd") -> fields("statsd") ->
[ {enable, emqx_schema:t(boolean(), undefined, false)} [ {enable, emqx_schema:t(boolean(), undefined, false)}
, {server, fun server/1} , {server, fun server/1}
, {sample_time_interval, fun duration_ms/1} , {sample_time_interval, fun duration_ms/1}

View File

@ -5,7 +5,6 @@
%% %%
[ {"emqx_data_bridge", emqx_data_bridge_schema} [ {"emqx_data_bridge", emqx_data_bridge_schema}
, {"emqx_retainer", emqx_retainer_schema} , {"emqx_retainer", emqx_retainer_schema}
, {"emqx_statsd", emqx_statsd_schema}
, {"emqx_authn", emqx_authn_schema} , {"emqx_authn", emqx_authn_schema}
, {"emqx_authz", emqx_authz_schema} , {"emqx_authz", emqx_authz_schema}
, {"emqx_bridge_mqtt", emqx_bridge_mqtt_schema} , {"emqx_bridge_mqtt", emqx_bridge_mqtt_schema}
@ -14,4 +13,5 @@
, {"emqx_dashboard", emqx_dashboard_schema} , {"emqx_dashboard", emqx_dashboard_schema}
, {"emqx_gateway", emqx_gateway_schema} , {"emqx_gateway", emqx_gateway_schema}
, {"emqx_prometheus", emqx_prometheus_schema} , {"emqx_prometheus", emqx_prometheus_schema}
, {"statsd", emqx_statsd_schema}
]. ].

View File

@ -152,6 +152,7 @@ prod_overrides() ->
[{add, [ {erl_opts, [deterministic]}]}]. [{add, [ {erl_opts, [deterministic]}]}].
profiles() -> profiles() ->
CommonCompileOpts = lists:keydelete('EMQX_EXT_SCHEMAS', 2, common_compile_opts()),
Vsn = get_vsn(), Vsn = get_vsn(),
[ {'emqx', [ {erl_opts, prod_compile_opts()} [ {'emqx', [ {erl_opts, prod_compile_opts()}
, {relx, relx(Vsn, cloud, bin)} , {relx, relx(Vsn, cloud, bin)}
@ -169,10 +170,10 @@ profiles() ->
, {relx, relx(Vsn, edge, pkg)} , {relx, relx(Vsn, edge, pkg)}
, {overrides, prod_overrides()} , {overrides, prod_overrides()}
]} ]}
, {check, [ {erl_opts, common_compile_opts()} , {check, [ {erl_opts, CommonCompileOpts}
]} ]}
, {test, [ {deps, test_deps()} , {test, [ {deps, test_deps()}
, {erl_opts, common_compile_opts() ++ erl_opts_i()} , {erl_opts, CommonCompileOpts ++ erl_opts_i() }
, {extra_src_dirs, [{"test", [{recursive,true}]}]} , {extra_src_dirs, [{"test", [{recursive,true}]}]}
]} ]}
] ++ ee_profiles(Vsn). ] ++ ee_profiles(Vsn).