feat(otlp-grpc): add retry logic and comprehensive error handling to …#2076
Open
arjun-rajappa wants to merge 5 commits into
Open
feat(otlp-grpc): add retry logic and comprehensive error handling to …#2076arjun-rajappa wants to merge 5 commits into
arjun-rajappa wants to merge 5 commits into
Conversation
…trace exporter - Implement exponential backoff retry mechanism for transient gRPC errors - Add retry support for Unavailable, DeadlineExceeded, Cancelled, ResourceExhausted, Aborted, Internal, and DataLoss errors - Improve certificate handling by reading file contents instead of passing file paths - Add timeout support with deadline tracking across retry attempts - Implement metrics reporting for export failures - Add comprehensive test coverage for error scenarios, retry logic, and edge cases Signed-off-by: Arjun Rajappa <arjun.rajappa@ibm.com>
Contributor
|
👋 This pull request has been marked as stale because it has been open with no activity. You can: comment on the issue or remove the stale label to hold stale off for a while, add the |
Signed-off-by: Arjun Rajappa <arjun.rajappa@ibm.com>
…ILURE, and RETRY_COUNT Signed-off-by: Arjun Rajappa <arjun.rajappa@ibm.com>
kaylareopelle
left a comment
Contributor
There was a problem hiding this comment.
Thank you for adding all the defensive error handling to the gRPC exporter! I have a few questions about the tests.
- Replace all wont_be_nil assertions in #initialize tests with specific equality checks (@timeout, @shutdown, @host) so each test validates the exact value that was configured - Rewrite 'encodes dropped attributes, events, and links counts' to intercept the proto request and assert dropped_attributes_count, dropped_events_count, and dropped_links_count directly on the span proto, rather than only checking the export return value - Rewrite 'translates all the things' to mirror the pattern in otlp-common: create spans via a real TracerProvider using with_ids to pin IDs, then build a complete ExportTraceServiceRequest proto and assert equality in a single must_equal rather than field-by-field - Consolidate TRACING_INTEGRATION_TEST guard from individual skip calls into a single before block on the 'integration with tracer provider' and 'performance' describe groups Signed-off-by: Arjun Rajappa <arjun.rajappa@ibm.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #1667
Changes