OpenTelemetry - Request for Comments #245
Draft
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.


OpenTelemetry has become the default standard for monitoring applications, especially where that application crosses system boundaries to other APIs.
I propose to add OpenTelemetry support to CryptoCurrency.Net, in order to create higher reliability systems, with better observability to understand what limits are being hit by applications (rate limits, errors types, cache misses etc) and get more alerting capabilities.
I've created this first draft PR to collect ideas/requirements/proposals for integrating OpenTelemetry into the excellent CryptoCurrency.Net suite of libraries.
This initial draft only has implemention for the BaseApiClient, and does not yet touch RateLimiting, WebSockets etc, but this is my main area of interest.
Instrumenting too low I don't believe is required, as we already have the System.Net.Http telemetry out of the box, but enhancing this with the attributes of the clients would go along way towards improving system observability.
Comment requests:
I wanted to get this out for JKorf to provide his opinion on how this should be best architected to fit within the overall style of the libraries.
Many thanks for your consideration.