func()

in tracing/impl/stackdriver_tracer.go [69:83]


func (tracer *adapterTracer) Inject(sm opentracing.SpanContext, format interface{}, carrier interface{}) error {
	c, ok := sm.(adapterSpanContext)
	if !ok {
		return opentracing.ErrInvalidSpanContext
	}
	if format != opentracing.TextMap && format != opentracing.HTTPHeaders {
		return opentracing.ErrUnsupportedFormat
	}

	ocSpanCtx := trace.FromContext(c.ctx).SpanContext()
	encoded := base64.StdEncoding.EncodeToString(propagation.Binary(ocSpanCtx))
	carrier.(opentracing.TextMapWriter).Set(traceHeader, string(encoded))

	return nil
}