code: func SpanFromContextOrNoop(ctx context.Context) opentracing.Span {
  	sp := opentracing.SpanFromContext(ctx)
  	if sp != nil {
  		return sp
  	}
  
  	return opentracing.NoopTracer{}.StartSpan("")
  }
docs: // SpanFromContextOrNoop is the same as opentracing.SpanFromContext,
  // but instead of returning nil,
  // it returns a NoopTracer span if ctx doesn't already have an associated span.
  // Use this over opentracing.StartSpanFromContext if you need access to the
  // current span, (e.g. if you don't want to start a child span).
  //
  // NB: if there is no span in the context, the span returned by this function
  // is a noop, and won't be attached to the context; if you
  // want a proper span, either start one and pass it in, or start one
  // in your function.