You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Dec 18, 2023. It is now read-only.
As described in #92 - there are cases when you might need to report a span from the past. In that PR Redis library calls are recorded asynchronously. My guess why this API was chosen to expose Redis calls is extreme care of those calls latency.
Current API is quite limiting in this sense.
ISpan doesn't allow to set start and end timestamps explicitly. Same for time events like annotations. Expanding ISpan interface may create some confusions.
Alternative is to report SpanData directly. This approach can be problematic as a lot of logic like calling start/stop handler and sampling needs to be replicated manually.
Another alternative is to either create custom Redis implementation of ISpan or make ISpan constructible from SpanData. I like this last approach. Not sure what may be the problems here.
The text was updated successfully, but these errors were encountered:
Allowing to override timestamps, messages and annotations makes the promise of consistency of those values (ordering and inclusion) fail. Keeping timestamps consistent is very important I think.
OpenTracing API allows to pass end timestamp to span, but not the start timestamp.
Another scenario, besides the extreme care about the latency, where this approach may be useful - constructing spans from some third party library output or reading spans from file.
After discussion we think that it is wise to avoid any timers inconsistencies in Start/Stop API. If span data needs to be exported for the span from the past - direct creation of SpanData should be used
As described in #92 - there are cases when you might need to report a span from the past. In that PR Redis library calls are recorded asynchronously. My guess why this API was chosen to expose Redis calls is extreme care of those calls latency.
Current API is quite limiting in this sense.
ISpan
doesn't allow to set start and end timestamps explicitly. Same for time events like annotations. ExpandingISpan
interface may create some confusions.SpanData
directly. This approach can be problematic as a lot of logic like calling start/stop handler and sampling needs to be replicated manually.ISpan
or makeISpan
constructible fromSpanData
. I like this last approach. Not sure what may be the problems here.The text was updated successfully, but these errors were encountered: