summaryrefslogtreecommitdiff
path: root/vendor/github.com/opentracing/opentracing-go/gocontext.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/opentracing/opentracing-go/gocontext.go')
-rw-r--r--vendor/github.com/opentracing/opentracing-go/gocontext.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/vendor/github.com/opentracing/opentracing-go/gocontext.go b/vendor/github.com/opentracing/opentracing-go/gocontext.go
index 08c00c04e..1831bc9b2 100644
--- a/vendor/github.com/opentracing/opentracing-go/gocontext.go
+++ b/vendor/github.com/opentracing/opentracing-go/gocontext.go
@@ -7,8 +7,13 @@ type contextKey struct{}
var activeSpanKey = contextKey{}
// ContextWithSpan returns a new `context.Context` that holds a reference to
-// `span`'s SpanContext.
+// the span. If span is nil, a new context without an active span is returned.
func ContextWithSpan(ctx context.Context, span Span) context.Context {
+ if span != nil {
+ if tracerWithHook, ok := span.Tracer().(TracerContextWithSpanExtension); ok {
+ ctx = tracerWithHook.ContextWithSpanHook(ctx, span)
+ }
+ }
return context.WithValue(ctx, activeSpanKey, span)
}