How to debug grpc call?

You can set the GRPC_TRACE environment variable to all to have grpc dump a whole bunch of data about what the connection is doing: export GRPC_TRACE=all edit from comment: apparently you also need to set: export GRPC_VERBOSITY=DEBUG

Pattern for rich error handling in gRPC

Include additional error details in the response Metadata. However, still make sure to provide a useful status code and message. In this case, you can add RegisterUserResponse to the Metadata. In gRPC Java, that would look like: Metadata.Key<RegisterUserResponse> REGISTER_USER_RESPONSE_KEY = ProtoUtils.keyForProto(RegisterUserResponse.getDefaultInstance()); … Metadata metadata = new Metadata(); metadata.put(REGISTER_USER_RESPONSE_KEY, registerUserResponse); responseObserver.onError( Status.INVALID_ARGUMENT.withDescription(“Email or password malformed”) .asRuntimeException(metadata)); … Read more