Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exporter boot #338

Merged
merged 3 commits into from
Dec 30, 2021
Merged

Exporter boot #338

merged 3 commits into from
Dec 30, 2021

Conversation

tsloughter
Copy link
Member

In batch_processor and simple_processor the exporter:init is moved out of the
gen_statem init. If it fails (returns undefined) then the init will be
attempted again each time spans are to be exported.

The only issue is the warnings about failing to init the exporter
will continue to print forever if it can never initialize. We
can't simply stop trying to init if the failure is one that can
never resolve on its own because the exporter can be changed at
anytime by the user.

This is not meant to be used for retry logic and has no exp
backoff. It is only meant to deal with issues like the exporter's
deps not being started when the SDK tries to init the exporter and
it will soon successfully init because the release is in the
process of booting.

Tristan Sloughter added 2 commits December 29, 2021 12:37
In batch_processor and simple_processor the exporter:init is moved
out of the gen_statem `init`. If it fails (returns `undefined`)
then the `init` will be attempted again each time spans are to
be exported.

The only issue is the warnings about failing to init the exporter
will continue to print forever if it can never initialize. We
can't simply stop trying to init if the failure is one that can
never resolve on its own because the exporter can be changed at
anytime by the user.

This is not meant to be used for retry logic and has no exp
backoff. It is only meant to deal with issues like the exporter's
deps not being started when the SDK tries to init the exporter and
it will soon successfully init because the release is in the
process of booting.
@codecov
Copy link

codecov bot commented Dec 30, 2021

Codecov Report

Merging #338 (8ccf52e) into main (0e3cd24) will increase coverage by 0.04%.
The diff coverage is 55.55%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #338      +/-   ##
==========================================
+ Coverage   39.75%   39.79%   +0.04%     
==========================================
  Files          54       54              
  Lines        3655     3671      +16     
==========================================
+ Hits         1453     1461       +8     
- Misses       2202     2210       +8     
Flag Coverage Δ
api 67.28% <ø> (ø)
elixir 16.44% <ø> (ø)
erlang 39.84% <55.55%> (+0.04%) ⬆️
exporter 19.98% <ø> (ø)
sdk 76.88% <55.55%> (-0.57%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
apps/opentelemetry/src/otel_exporter.erl 19.44% <14.28%> (-1.99%) ⬇️
apps/opentelemetry/src/otel_batch_processor.erl 70.10% <100.00%> (+1.21%) ⬆️
apps/opentelemetry/src/otel_simple_processor.erl 70.37% <100.00%> (+0.55%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0e3cd24...8ccf52e. Read the comment docs.

@tsloughter tsloughter merged commit 016500c into open-telemetry:main Dec 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants