code: func UnaryClientInterceptor(opts ...Option) grpc.UnaryClientInterceptor {
  	o := evaluateOptions(opts)
  	return func(parentCtx context.Context, method string, req, reply interface{}, cc *grpc.ClientConn, invoker grpc.UnaryInvoker, opts ...grpc.CallOption) error {
  		if o.filterOutFunc != nil && !o.filterOutFunc(parentCtx, method) {
  			return invoker(parentCtx, method, req, reply, cc, opts...)
  		}
  		newCtx, clientSpan := newClientSpanFromContext(parentCtx, o.tracer, method)
  		err := invoker(newCtx, method, req, reply, cc, opts...)
  		finishClientSpan(clientSpan, err)
  		return err
  	}
  }
docs: // UnaryClientInterceptor returns a new unary client interceptor for OpenTracing.