Skip to content

Commit 8513832

Browse files
authored
Refactors and cleans up OTEL's log handler usage (#199)
* Refactors and cleans up OTEL's log handler usage * Bumps OTel lib and updates config accordingly * Bumps otel logs exporter and removes unnecessary log filter * Fixes charlist in party client's span events
1 parent fd2f939 commit 8513832

8 files changed

Lines changed: 27 additions & 143 deletions

File tree

Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,5 +120,8 @@ distclean: clean-build-image
120120

121121
test: eunit common-test
122122

123+
dbg:
124+
$(REBAR) ct -v --suite=apps/hellgate/test/hg_invoice_tests_SUITE.erl --group=all_non_destructive_tests --case=payment_big_cascade_success
125+
123126
cover-report:
124127
$(REBAR) cover

apps/hellgate/src/hellgate.erl

Lines changed: 14 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -133,25 +133,21 @@ ensure_otel_log_handler() ->
133133
MaxQueue = application:get_env(hellgate, otel_log_max_queue_size, 2048),
134134
DelayMs = application:get_env(hellgate, otel_log_scheduled_delay_ms, 1000),
135135
TimeoutMs = application:get_env(hellgate, otel_log_exporting_timeout_ms, 300000),
136-
LogLevel = application:get_env(hellgate, otel_log_level, info),
137-
HandlerConfig = #{
138-
report_cb => fun hg_otel_log_filter:format_otp_report_utf8/1,
139-
exporter =>
140-
{otel_exporter_logs_otlp, #{
141-
protocol => http_protobuf,
142-
ssl_options => []
143-
}},
144-
max_queue_size => MaxQueue,
145-
scheduled_delay_ms => DelayMs,
146-
exporting_timeout_ms => TimeoutMs
147-
},
136+
LogLevel = application:get_env(hellgate, otel_log_level, debug),
148137
LoggerHandlerConfig = #{
149138
level => LogLevel,
150-
filter_default => log,
151-
filters => [{hg_otel_trace_id_bytes, {fun hg_otel_log_filter:filter/2, undefined}}],
152-
config => HandlerConfig
139+
config => #{
140+
exporter =>
141+
{otel_exporter_logs_otlp, #{
142+
protocol => http_protobuf,
143+
ssl_options => []
144+
}},
145+
max_queue_size => MaxQueue,
146+
scheduled_delay_ms => DelayMs,
147+
exporting_timeout_ms => TimeoutMs
148+
}
153149
},
154-
case logger:add_handler(otel_logs, hg_otel_log_handler, LoggerHandlerConfig) of
150+
case logger:add_handler(otel_logs, otel_log_handler, LoggerHandlerConfig) of
155151
ok ->
156152
ok;
157153
{error, {already_exist, _}} ->
@@ -171,13 +167,8 @@ ensure_otel_log_handler() ->
171167
flush_otel_logs() ->
172168
case logger:get_handler_config(otel_logs) of
173169
{ok, HandlerCfg} ->
174-
Config = maps:get(config, HandlerCfg, #{}),
175-
DelayMs = maps:get(
176-
scheduled_delay_ms,
177-
Config,
178-
maps:get(scheduled_delay_ms, HandlerCfg, 1000)
179-
),
180-
_ = logger:info("otel_log_handler_flush"),
170+
_ = logger:info("Waiting for OTEL logs exporter to flush"),
171+
DelayMs = maps:get(scheduled_delay_ms, HandlerCfg, 1000),
181172
timer:sleep(erlang:min(?FLUSH_MAX_WAIT_MS, DelayMs + ?FLUSH_EXPORT_OVERHEAD_MS)),
182173
ok;
183174
_ ->

apps/hellgate/src/hg_otel_log_filter.erl

Lines changed: 0 additions & 65 deletions
This file was deleted.

apps/hellgate/src/hg_otel_log_handler.erl

Lines changed: 0 additions & 48 deletions
This file was deleted.

apps/hellgate/test/hg_ct_helper.erl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ start_app(party_client = AppName) ->
216216
{
217217
start_app(AppName, [
218218
{services, #{
219-
party_management => "http://party-management:8022/v1/processing/partymgmt"
219+
party_management => <<"http://party-management:8022/v1/processing/partymgmt">>
220220
}},
221221
{woody, #{
222222
% disabled | safe | aggressive

apps/hellgate/test/hg_invoice_tests_SUITE.erl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -499,6 +499,9 @@ groups() ->
499499

500500
-spec init_per_suite(config()) -> config().
501501
init_per_suite(C) ->
502+
%% NOTE Comment out primary logger's level change to revert to default
503+
%% verbosity of info level.
504+
ok = logger:set_primary_config(level, debug),
502505
% _ = dbg:tracer(),
503506
% _ = dbg:p(all, c),
504507
% _ = dbg:tpl({'hg_invoice_payment', 'p', '_'}, x),

config/sys.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@
171171

172172
{party_client, [
173173
{services, #{
174-
party_management => "http://party-management:8022/v1/processing/partymgmt"
174+
party_management => <<"http://party-management:8022/v1/processing/partymgmt">>
175175
}},
176176
{woody, #{
177177
% disabled | safe | aggressive

rebar.lock

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,12 @@
9191
0},
9292
{<<"opentelemetry_experimental">>,
9393
{git_subdir,"https://github.com/valitydev/opentelemetry-erlang.git",
94-
{ref,"685389b35fb188166e072c389a487a8e5a9f0804"},
94+
{ref,"21c41d1eb6dffb95d51c4b1cd89b38eae00fc08a"},
9595
"apps/opentelemetry_experimental"},
9696
0},
9797
{<<"opentelemetry_exporter">>,
9898
{git_subdir,"https://github.com/valitydev/opentelemetry-erlang.git",
99-
{ref,"685389b35fb188166e072c389a487a8e5a9f0804"},
99+
{ref,"21c41d1eb6dffb95d51c4b1cd89b38eae00fc08a"},
100100
"apps/opentelemetry_exporter"},
101101
0},
102102
{<<"parse_trans">>,{pkg,<<"parse_trans">>,<<"3.3.1">>},2},
@@ -132,7 +132,7 @@
132132
{ref,"3a60e5dc5bbd709495024f26e100b041c3547fd9"}},
133133
1},
134134
{<<"tls_certificate_check">>,
135-
{pkg,<<"tls_certificate_check">>,<<"1.31.0">>},
135+
{pkg,<<"tls_certificate_check">>,<<"1.32.0">>},
136136
1},
137137
{<<"unicode_util_compat">>,{pkg,<<"unicode_util_compat">>,<<"0.7.1">>},2},
138138
{<<"woody">>,
@@ -172,7 +172,7 @@
172172
{<<"ranch">>, <<"8C7A100A139FD57F17327B6413E4167AC559FBC04CA7448E9BE9057311597A1D">>},
173173
{<<"recon">>, <<"CBA53FA8DB83AD968C9A652E09C3ED7DDCC4DA434F27C3EAA9CA47FFB2B1FF03">>},
174174
{<<"ssl_verify_fun">>, <<"354C321CF377240C7B8716899E182CE4890C5938111A1296ADD3EC74CF1715DF">>},
175-
{<<"tls_certificate_check">>, <<"9A910B54D8CB96CC810CABF4C0129F21360F82022B20180849F1442A25CCBB04">>},
175+
{<<"tls_certificate_check">>, <<"A9BA9F1EA59F6728F564BC990047B56539C48F17866C2DEFA51D3C872A8DCDF6">>},
176176
{<<"unicode_util_compat">>, <<"A48703A25C170EEDADCA83B11E88985AF08D35F37C6F664D6DCFB106A97782FC">>}]},
177177
{pkg_hash_ext,[
178178
{<<"accept">>, <<"CA69388943F5DAD2E7232A5478F16086E3C872F48E32B88B378E1885A59F5649">>},
@@ -206,6 +206,6 @@
206206
{<<"ranch">>, <<"49FBCFD3682FAB1F5D109351B61257676DA1A2FDBE295904176D5E521A2DDFE5">>},
207207
{<<"recon">>, <<"2C7523C8DEE91DFF41F6B3D63CBA2BD49EB6D2FE5BF1EEC0DF7F87EB5E230E1C">>},
208208
{<<"ssl_verify_fun">>, <<"FE4C190E8F37401D30167C8C405EDA19469F34577987C76DDE613E838BBC67F8">>},
209-
{<<"tls_certificate_check">>, <<"9D2B41B128D5507BD8AD93E1A998E06D0AB2F9A772AF343F4C00BF76C6BE1532">>},
209+
{<<"tls_certificate_check">>, <<"38E38DB768244D808E11ED27F812E7D927EA5F999007B07D0473DB44D7F7CC51">>},
210210
{<<"unicode_util_compat">>, <<"B3A917854CE3AE233619744AD1E0102E05673136776FB2FA76234F3E03B23642">>}]}
211211
].

0 commit comments

Comments
 (0)