diff --git a/lib-ce/emqx_telemetry/src/emqx_telemetry.app.src b/lib-ce/emqx_telemetry/src/emqx_telemetry.app.src index 52bfe7b10..27852ba7b 100644 --- a/lib-ce/emqx_telemetry/src/emqx_telemetry.app.src +++ b/lib-ce/emqx_telemetry/src/emqx_telemetry.app.src @@ -1,6 +1,6 @@ {application, emqx_telemetry, [{description, "EMQ X Telemetry"}, - {vsn, "4.3.4"}, % strict semver, bump manually! + {vsn, "4.3.5"}, % strict semver, bump manually! {modules, []}, {registered, [emqx_telemetry_sup]}, {applications, [kernel,stdlib]}, diff --git a/lib-ce/emqx_telemetry/src/emqx_telemetry.appup.src b/lib-ce/emqx_telemetry/src/emqx_telemetry.appup.src index 3d079e839..3e5d0bcdf 100644 --- a/lib-ce/emqx_telemetry/src/emqx_telemetry.appup.src +++ b/lib-ce/emqx_telemetry/src/emqx_telemetry.appup.src @@ -1,11 +1,9 @@ %% -*- mode: erlang -*- %% Unless you know what you are doing, DO NOT edit manually!! {VSN, - [{"4.3.3",[{load_module,emqx_telemetry,brutal_purge,soft_purge,[]}]}, - {<<"4\\.3\\.[0-2]">>, + [{<<"4\\.3\\.[0-4]">>, [{load_module,emqx_telemetry,brutal_purge,soft_purge,[]}]}, {<<".*">>,[]}], - [{"4.3.3",[{load_module,emqx_telemetry,brutal_purge,soft_purge,[]}]}, - {<<"4\\.3\\.[0-2]">>, + [{<<"4\\.3\\.[0-4]">>, [{load_module,emqx_telemetry,brutal_purge,soft_purge,[]}]}, {<<".*">>,[]}]}. diff --git a/lib-ce/emqx_telemetry/src/emqx_telemetry.erl b/lib-ce/emqx_telemetry/src/emqx_telemetry.erl index 9935d5005..aa8acaab7 100644 --- a/lib-ce/emqx_telemetry/src/emqx_telemetry.erl +++ b/lib-ce/emqx_telemetry/src/emqx_telemetry.erl @@ -75,7 +75,7 @@ enabled :: undefined | boolean(), - url :: string(), + url :: undefined | string(), report_interval :: undefined | non_neg_integer(), @@ -90,6 +90,8 @@ -define(TELEMETRY, emqx_telemetry). +-define(HTTP_TIMEOUT, 10). + %%-------------------------------------------------------------------- %% Mnesia bootstrap %%-------------------------------------------------------------------- @@ -115,19 +117,19 @@ stop() -> gen_server:stop(?MODULE). enable() -> - gen_server:call(?MODULE, enable). + gen_server:call(?MODULE, enable, infinity). disable() -> - gen_server:call(?MODULE, disable). + gen_server:call(?MODULE, disable, infinity). is_enabled() -> - gen_server:call(?MODULE, is_enabled). + gen_server:call(?MODULE, is_enabled, infinity). get_uuid() -> - gen_server:call(?MODULE, get_uuid). + gen_server:call(?MODULE, get_uuid, infinity). get_telemetry() -> - gen_server:call(?MODULE, get_telemetry). + gen_server:call(?MODULE, get_telemetry, infinity). %%-------------------------------------------------------------------- %% gen_server callbacks @@ -353,15 +355,18 @@ report_telemetry(State = #state{url = URL}) -> Data = get_telemetry(State), case emqx_json:safe_encode(Data) of {ok, Bin} -> - httpc_request(post, URL, [], Bin), + _ = httpc_request(post, URL, [], Bin), ?tp(debug, telemetry_data_reported, #{}); {error, Reason} -> %% debug? why? ?tp(debug, telemetry_data_encode_error, #{data => Data, reason => Reason}) end. +%% we might set url = undefined in testcase +httpc_request(_, undefined, _, _) -> + ignore; httpc_request(Method, URL, Headers, Body) -> - HTTPOptions = [{timeout, timer:seconds(10)}, {ssl, [{verify, verify_none}]}], + HTTPOptions = [{timeout, timer:seconds(?HTTP_TIMEOUT)}, {ssl, [{verify, verify_none}]}], Options = [], httpc:request(Method, {URL, Headers, "application/json", Body}, HTTPOptions, Options). diff --git a/lib-ce/emqx_telemetry/test/emqx_telemetry_SUITE.erl b/lib-ce/emqx_telemetry/test/emqx_telemetry_SUITE.erl index ec9a764ff..d018ad3e9 100644 --- a/lib-ce/emqx_telemetry/test/emqx_telemetry_SUITE.erl +++ b/lib-ce/emqx_telemetry/test/emqx_telemetry_SUITE.erl @@ -42,7 +42,7 @@ t_uuid(_) -> {ok, UUID2} = emqx_telemetry:get_uuid(), emqx_telemetry:stop(), emqx_telemetry:start_link([{enabled, true}, - {url, "https://telemetry.emqx.io/api/telemetry"}, + {url, undefined}, {report_interval, 7 * 24 * 60 * 60}]), {ok, UUID3} = emqx_telemetry:get_uuid(), ?assertEqual(UUID2, UUID3). @@ -80,7 +80,7 @@ t_send_after_enable(_) -> ok = snabbkaffe:start_trace(), try ok = emqx_telemetry:enable(), - ?assertMatch({ok, _}, ?block_until(#{?snk_kind := telemetry_data_reported}, 2000, 100)) + ?assertMatch({ok, _}, ?block_until(#{?snk_kind := telemetry_data_reported}, 15000, 100)) after ok = snabbkaffe:stop() end.