Merge pull request #10062 from terry-xiaoyu/emqx-telementry-timeout
fix: change timeout of gen_server:calls for emqx_telemetry to infinity
This commit is contained in:
commit
9eb908f572
|
@ -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]},
|
||||
|
|
|
@ -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,[]}]},
|
||||
{<<".*">>,[]}]}.
|
||||
|
|
|
@ -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).
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue