fix(emqx_opentelemetry): fix dialyzer warnings

This commit is contained in:
Serge Tupchii 2023-11-21 20:00:10 +02:00
parent 60da6427ca
commit 8d3f98eff2
4 changed files with 15 additions and 17 deletions

View File

@ -39,12 +39,12 @@
-define(PROVIDER, {?MODULE, trace_provider}). -define(PROVIDER, {?MODULE, trace_provider}).
-define(with_provider(IfRegisitered, IfNotRegisired), -define(with_provider(IfRegistered, IfNotRegistered),
case persistent_term:get(?PROVIDER, undefined) of case persistent_term:get(?PROVIDER, undefined) of
undefined -> undefined ->
IfNotRegisired; IfNotRegistered;
Provider -> Provider ->
Provider:IfRegisitered Provider:IfRegistered
end end
). ).

View File

@ -3,13 +3,13 @@
{deps, {deps,
[{emqx, {path, "../emqx"}} [{emqx, {path, "../emqx"}}
%% trace %% trace
, {opentelemetry_api, {git_subdir, "https://github.com/emqx/opentelemetry-erlang", {tag, "v1.4.3-emqx"}, "apps/opentelemetry_api"}} , {opentelemetry_api, {git_subdir, "https://github.com/emqx/opentelemetry-erlang", {tag, "v1.4.4-emqx"}, "apps/opentelemetry_api"}}
, {opentelemetry, {git_subdir, "https://github.com/emqx/opentelemetry-erlang", {tag, "v1.4.3-emqx"}, "apps/opentelemetry"}} , {opentelemetry, {git_subdir, "https://github.com/emqx/opentelemetry-erlang", {tag, "v1.4.4-emqx"}, "apps/opentelemetry"}}
%% log metrics %% log metrics
, {opentelemetry_experimental, {git_subdir, "https://github.com/emqx/opentelemetry-erlang", {tag, "v1.4.3-emqx"}, "apps/opentelemetry_experimental"}} , {opentelemetry_experimental, {git_subdir, "https://github.com/emqx/opentelemetry-erlang", {tag, "v1.4.4-emqx"}, "apps/opentelemetry_experimental"}}
, {opentelemetry_api_experimental, {git_subdir, "https://github.com/emqx/opentelemetry-erlang", {tag, "v1.4.3-emqx"}, "apps/opentelemetry_api_experimental"}} , {opentelemetry_api_experimental, {git_subdir, "https://github.com/emqx/opentelemetry-erlang", {tag, "v1.4.4-emqx"}, "apps/opentelemetry_api_experimental"}}
%% export %% export
, {opentelemetry_exporter, {git_subdir, "https://github.com/emqx/opentelemetry-erlang", {tag, "v1.4.3-emqx"}, "apps/opentelemetry_exporter"}} , {opentelemetry_exporter, {git_subdir, "https://github.com/emqx/opentelemetry-erlang", {tag, "v1.4.4-emqx"}, "apps/opentelemetry_exporter"}}
]}. ]}.
{edoc_opts, [{preprocess, true}]}. {edoc_opts, [{preprocess, true}]}.

View File

@ -102,12 +102,12 @@ cleanup() ->
safe_stop_default_metrics() -> safe_stop_default_metrics() ->
try try
_ = opentelemetry_experimental:stop_default_metrics() _ = opentelemetry_experimental:stop_default_metrics(),
ok
catch catch
%% noramal scenario, metrics supervisor is not started %% noramal scenario, metrics supervisor is not started
exit:{noproc, _} -> ok exit:{noproc, _} -> ok
end, end.
ok.
create_metric_views() -> create_metric_views() ->
Meter = opentelemetry_experimental:get_meter(), Meter = opentelemetry_experimental:get_meter(),

View File

@ -37,7 +37,6 @@
-include_lib("opentelemetry_api/include/otel_tracer.hrl"). -include_lib("opentelemetry_api/include/otel_tracer.hrl").
-define(EMQX_OTEL_CTX, otel_ctx). -define(EMQX_OTEL_CTX, otel_ctx).
%% NOTE: it's possible to use trace_flags to set is_sampled flag
-define(IS_ENABLED, emqx_enable). -define(IS_ENABLED, emqx_enable).
-define(USER_PROPERTY, 'User-Property'). -define(USER_PROPERTY, 'User-Property').
@ -115,13 +114,11 @@ trace_process_publish(Packet, Channel, ProcessFun) ->
Ctx = otel_tracer:set_current_span(RootCtx1, SpanCtx), Ctx = otel_tracer:set_current_span(RootCtx1, SpanCtx),
%% put ctx to packet, so it can be further propagated %% put ctx to packet, so it can be further propagated
Packet1 = put_ctx_to_packet(Ctx, Packet), Packet1 = put_ctx_to_packet(Ctx, Packet),
%% TODO: consider getting rid of propagating Ctx through process dict as it's anyway seems to have _ = otel_ctx:attach(Ctx),
%% very limited usage
otel_ctx:attach(Ctx),
try try
ProcessFun(Packet1, Channel) ProcessFun(Packet1, Channel)
after after
?end_span(), _ = ?end_span(),
clear() clear()
end end
end. end.
@ -261,7 +258,8 @@ clear() ->
safe_stop_default_tracer() -> safe_stop_default_tracer() ->
try try
_ = opentelemetry:stop_default_tracer_provider() _ = opentelemetry:stop_default_tracer_provider(),
ok
catch catch
%% noramal scenario, opentelemetry supervisor is not started %% noramal scenario, opentelemetry supervisor is not started
exit:{noproc, _} -> ok exit:{noproc, _} -> ok