Open dm03514 opened 4 years ago
Closing as I don't have a very good idea of the problem yet, just learning this library!
The strategy I took was to make SpanImpl
public and allow callers to access the RawSpan
through SpanImpl.Raw()
.
Then when creating a span there is an option to StartSpan
with an already established RawSpan
:
span := tracer.StartSpan(
rawSpan.Operation,
lightstep.SetRawSpan(rawSpan),
)
Would love if there was any way this could be in main but understand if it's too big of change.
Thank you again, danny
👋 Hello, I was wondering if there was any way you'd be open to allowing a span to be created with an already existing SpanContext? I have a unique use case where I need to save an in-progress span and ship it out of memory, and then later reload it into memory and finish the span. I was wondering if you'd be open to supporting this feature in the lightstep go client?
I was able to add support for this in the jaeger client, and was hoping to use the same functionality with LightStep:
https://github.com/jaegertracing/jaeger-client-go/issues/397
The strategy we took for jaeger was to add a SelfRef type that bhs proposed:
https://github.com/opentracing/specification/issues/81#issuecomment-321150358
If you're interested I would be happy to contribute this!
I was imagining the same API and approach as the jaeger library:
Which would require:
SelfRefType
:newSpan
to check forSelfRefType
and setsp.raw.Context
equal to the provided context reference context:I think this is everything needed to then export a context:
Then starting a span with a previously started context:
I really appreciate your time! Thank you
Danny