-
Notifications
You must be signed in to change notification settings - Fork 772
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
[otlp] Rename key for enabling retries during transient failures #5495
[otlp] Rename key for enabling retries during transient failures #5495
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #5495 +/- ##
==========================================
+ Coverage 83.38% 85.56% +2.17%
==========================================
Files 297 289 -8
Lines 12531 12591 +60
==========================================
+ Hits 10449 10773 +324
+ Misses 2082 1818 -264
Flags with carried forward coverage won't be shown. Click here to find out more.
|
src/Shared/Configuration/OpenTelemetryConfigurationExtensions.cs
Outdated
Show resolved
Hide resolved
src/OpenTelemetry.Exporter.OpenTelemetryProtocol/Implementation/ExperimentalOptions.cs
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
src/OpenTelemetry.Exporter.OpenTelemetryProtocol/Implementation/ExperimentalOptions.cs
Show resolved
Hide resolved
I have couple questions:
|
I edited the description to remove progression to stability part as it is not detailed view of end goal. I will lay out a detailed plan separately. |
I'm concerned about the direction here. It sounds like we'll end up with two configuration mechanisms that provide different sets of functionalities. |
That sounds reasonable. To avoid confusion arising from multiple configuration methods, we could initially focus on implementing strongly typed options. If the specifications around environment variables become clearer in the future, we can consider adding them as additional configuration methods. |
It sounds like we're not going to expose any environment variables related to retry during the initial stable release. If the answer is yes, how do we think about this this PR? |
I think this PR is a good change as it streamlines the experimental retry strategies settings.
Introducing two distinct settings as I had initially planned (OTEL_DOTNET_EXPERIMENTAL_OTLP_ENABLE_INMEMORY_RETRY and OTEL_DOTNET_EXPERIMENTAL_OTLP_ENABLE_DISK_RETRY) could cause confusion regarding possible value combinations and their precedence relative to each other. |
Co-authored-by: Reiley Yang <reyang@microsoft.com>
Co-authored-by: Reiley Yang <reyang@microsoft.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Fixes #
Design discussion issue #
Changes
Previously,
OTEL_DOTNET_EXPERIMENTAL_OTLP_ENABLE_INMEMORY_RETRY
was introduced to offer an in-memory retry strategy as an experimental feature.For adding support for a persistent storage-based retry strategy, we need an additional setting.
To avoid having multiple settings for enabling different retry strategies, introducing a single setting,
OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY
. WhenOTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY
is set toin_memory
, it will enable the in-memory-based retry strategy. When the support for persistent storage-based retry is added in future, it could be set todisk
.This is a temporary setting to offer the experimental feature and will be removed in the future when the features are marked as stable. At present, OTLP exporters does not retry requests during transient failures by default.
Merge requirement checklist
CHANGELOG.md
files updated for non-trivial changes