code: func StreamClientInterceptor(opts ...Option) grpc.StreamClientInterceptor {
  	o := evaluateOptions(opts)
  	return func(parentCtx context.Context, desc *grpc.StreamDesc, cc *grpc.ClientConn, method string, streamer grpc.Streamer, opts ...grpc.CallOption) (grpc.ClientStream, error) {
  		if o.filterOutFunc != nil && !o.filterOutFunc(parentCtx, method) {
  			return streamer(parentCtx, desc, cc, method, opts...)
  		}
  		newCtx, clientSpan := newClientSpanFromContext(parentCtx, o.tracer, method)
  		clientStream, err := streamer(newCtx, desc, cc, method, opts...)
  		if err != nil {
  			finishClientSpan(clientSpan, err)
  			return nil, err
  		}
  		return &tracedClientStream{ClientStream: clientStream, clientSpan: clientSpan}, nil
  	}
  }
docs: // StreamClientInterceptor returns a new streaming client interceptor for OpenTracing.