Skip to content

Commit 2b8d7b2

Browse files
authored
Merge pull request #349 from indrekj/fix-metrics-exporter
Fix using OTEL_METRICS_EXPORTER env variable
2 parents 2fa1eda + 48c4e59 commit 2b8d7b2

File tree

2 files changed

+31
-3
lines changed

2 files changed

+31
-3
lines changed

apps/opentelemetry/src/otel_configuration.erl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@
3535
resource_detectors => [module()],
3636
resource_detector_timeout => integer(),
3737
text_map_propagators := [atom()],
38-
traces_exporter := {atom(), term()},
38+
traces_exporter := {atom(), term()} | undefined,
39+
metrics_exporter := {atom(), term()} | undefined,
3940
processors := list(),
4041
sampler := {atom(), term()},
4142
sweeper := #{interval => integer() | infinity,
@@ -61,6 +62,7 @@ new() ->
6162
resource_detector_timeout => 5000,
6263
text_map_propagators => [trace_context, baggage],
6364
traces_exporter => {opentelemetry_exporter, #{}},
65+
metrics_exporter => {opentelemetry_exporter, #{}},
6466
processors => [{otel_batch_processor, #{scheduled_delay_ms => 5000,
6567
exporting_timeout_ms => 30000,
6668
max_queue_size => 2048,

apps/opentelemetry/test/otel_configuration_SUITE.erl

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@ all() ->
1919
[empty_os_environment, sampler, sampler_parent_based, sampler_parent_based_zero,
2020
sampler_trace_id, sampler_trace_id_default, sampler_parent_based_one,
2121
log_level, propagators, propagators_b3, propagators_b3multi, otlp_exporter,
22-
jaeger_exporter, zipkin_exporter, none_exporter, span_limits, bad_span_limits,
23-
bad_app_config, app_env_exporter, deny_list, resource_detectors].
22+
jaeger_exporter, zipkin_exporter, none_exporter, app_env_exporter,
23+
otlp_metrics_exporter, none_metrics_exporter, span_limits, bad_span_limits,
24+
bad_app_config, deny_list, resource_detectors].
2425

2526
init_per_testcase(empty_os_environment, Config) ->
2627
Vars = [],
@@ -112,6 +113,19 @@ init_per_testcase(none_exporter, Config) ->
112113

113114
setup_env(Vars),
114115

116+
[{os_vars, Vars} | Config];
117+
118+
init_per_testcase(otlp_metrics_exporter, Config) ->
119+
Vars = [{"OTEL_METRICS_EXPORTER", "otlp"}],
120+
121+
setup_env(Vars),
122+
123+
[{os_vars, Vars} | Config];
124+
init_per_testcase(none_metrics_exporter, Config) ->
125+
Vars = [{"OTEL_METRICS_EXPORTER", "none"}],
126+
127+
setup_env(Vars),
128+
115129
[{os_vars, Vars} | Config];
116130
init_per_testcase(deny_list, Config) ->
117131
Vars = [{"OTEL_DENY_LIST", "opentelemetry_exporter,opentelemetry,nonexisting_atom"}],
@@ -283,6 +297,18 @@ app_env_exporter(_Config) ->
283297

284298
ok.
285299

300+
otlp_metrics_exporter(_Config) ->
301+
?assertMatch({opentelemetry_exporter, #{}},
302+
maps:get(metrics_exporter, otel_configuration:merge_with_os([]))),
303+
304+
ok.
305+
306+
none_metrics_exporter(_Config) ->
307+
?assertMatch(undefined,
308+
maps:get(metrics_exporter, otel_configuration:merge_with_os([]))),
309+
310+
ok.
311+
286312
deny_list(_Config) ->
287313
%% nonexisting_atom in the OTEL_DENY_LIST os var is dropped bc it isn't an existing atom
288314
?assertMatch(#{deny_list := [opentelemetry_exporter,opentelemetry]},

0 commit comments

Comments
 (0)