code: func NewCallWrapper(ot opentracing.Tracer) client.CallWrapper {
  	return func(cf client.CallFunc) client.CallFunc {
  		return func(ctx context.Context, node *registry.Node, req client.Request, rsp interface{}, opts client.CallOptions) error {
  			if ot == nil {
  				ot = opentracing.GlobalTracer()
  			}
  			name := fmt.Sprintf("%s.%s", req.Service(), req.Endpoint())
  			ctx, span, err := StartSpanFromContext(ctx, ot, name)
  			if err != nil {
  				return err
  			}
  			defer span.Finish()
  			return cf(ctx, node, req, rsp, opts)
  		}
  	}
  }
docs: // NewCallWrapper accepts an opentracing Tracer and returns a Call Wrapper