This diff adds a GetServerId that exposes a unique UUID associated with each server. This is used to help track gRPC servers updating.
why separate instead of Ping including it?
Just to keep Ping intact since it's useful in basic tests and being able to save a few characters from not have to extract the server id from the ping response every time you call it. Happy to move it around.
no strong opinion on separate API vs. Ping, GetServerId seems reasonable to me
any particular reason this is an inner function?
you could also use GrpcServerProcess for this, but this is fine too
api_client.shutdown_server() would also work