1package opentracing 2 3import ( 4 "context" 5) 6 7// TracerContextWithSpanExtension is an extension interface that the 8// implementation of the Tracer interface may want to implement. It 9// allows to have some control over the go context when the 10// ContextWithSpan is invoked. 11// 12// The primary purpose of this extension are adapters from opentracing 13// API to some other tracing API. 14type TracerContextWithSpanExtension interface { 15 // ContextWithSpanHook gets called by the ContextWithSpan 16 // function, when the Tracer implementation also implements 17 // this interface. It allows to put extra information into the 18 // context and make it available to the callers of the 19 // ContextWithSpan. 20 // 21 // This hook is invoked before the ContextWithSpan function 22 // actually puts the span into the context. 23 ContextWithSpanHook(ctx context.Context, span Span) context.Context 24} 25