|
|
@@ -27,7 +27,6 @@
|
|
|
-export([post_config_update/5]).
|
|
|
-export([update/1]).
|
|
|
-export([add_otel_log_handler/0, remove_otel_log_handler/0]).
|
|
|
--export([stop_all_otel_apps/0]).
|
|
|
-export([otel_exporter/1]).
|
|
|
|
|
|
update(Config) ->
|
|
|
@@ -59,7 +58,6 @@ post_config_update(?OPTL, _Req, New, Old, AppEnvs) ->
|
|
|
MetricsRes = ensure_otel_metrics(New, Old),
|
|
|
LogsRes = ensure_otel_logs(New, Old),
|
|
|
TracesRes = ensure_otel_traces(New, Old),
|
|
|
- _ = maybe_stop_all_otel_apps(New),
|
|
|
case {MetricsRes, LogsRes, TracesRes} of
|
|
|
{ok, ok, ok} -> ok;
|
|
|
Other -> {error, Other}
|
|
|
@@ -67,9 +65,6 @@ post_config_update(?OPTL, _Req, New, Old, AppEnvs) ->
|
|
|
post_config_update(_ConfPath, _Req, _NewConf, _OldConf, _AppEnvs) ->
|
|
|
ok.
|
|
|
|
|
|
-stop_all_otel_apps() ->
|
|
|
- stop_all_otel_apps(true).
|
|
|
-
|
|
|
add_otel_log_handler() ->
|
|
|
ensure_otel_logs(emqx:get_config(?OPTL), #{}).
|
|
|
|
|
|
@@ -104,7 +99,6 @@ ensure_otel_logs(#{logs := LogsConf}, #{logs := LogsConf}) ->
|
|
|
ok;
|
|
|
ensure_otel_logs(#{logs := #{enable := true} = LogsConf}, _OldConf) ->
|
|
|
ok = remove_handler_if_present(?OTEL_LOG_HANDLER_ID),
|
|
|
- ok = ensure_log_apps(),
|
|
|
HandlerConf = tr_handler_conf(LogsConf),
|
|
|
%% NOTE: should primary logger level be updated if it's higher than otel log level?
|
|
|
logger:add_handler(?OTEL_LOG_HANDLER_ID, ?OTEL_LOG_HANDLER, HandlerConf);
|
|
|
@@ -126,21 +120,6 @@ remove_handler_if_present(HandlerId) ->
|
|
|
ok
|
|
|
end.
|
|
|
|
|
|
-ensure_log_apps() ->
|
|
|
- {ok, _} = application:ensure_all_started(opentelemetry_exporter),
|
|
|
- {ok, _} = application:ensure_all_started(opentelemetry_experimental),
|
|
|
- ok.
|
|
|
-
|
|
|
-maybe_stop_all_otel_apps(#{
|
|
|
- metrics := #{enable := false},
|
|
|
- logs := #{enable := false},
|
|
|
- traces := #{enable := false}
|
|
|
-}) ->
|
|
|
- IsShutdown = false,
|
|
|
- stop_all_otel_apps(IsShutdown);
|
|
|
-maybe_stop_all_otel_apps(_) ->
|
|
|
- ok.
|
|
|
-
|
|
|
tr_handler_conf(Conf) ->
|
|
|
#{
|
|
|
level := Level,
|
|
|
@@ -171,18 +150,3 @@ is_ssl(<<"https://", _/binary>> = _Endpoint) ->
|
|
|
true;
|
|
|
is_ssl(_Endpoint) ->
|
|
|
false.
|
|
|
-
|
|
|
-stop_all_otel_apps(IsShutdown) ->
|
|
|
- %% if traces were enabled, it's not safe to stop opentelemetry app,
|
|
|
- %% as there could be not finsihed traces that would crash if spans ETS tables are deleted
|
|
|
- _ =
|
|
|
- case IsShutdown of
|
|
|
- true ->
|
|
|
- _ = application:stop(opentelemetry);
|
|
|
- false ->
|
|
|
- ok
|
|
|
- end,
|
|
|
- _ = application:stop(opentelemetry_experimental),
|
|
|
- _ = application:stop(opentelemetry_experimental_api),
|
|
|
- _ = application:stop(opentelemetry_exporter),
|
|
|
- ok.
|