In case of multiple RPC servers in the same JVM it's hard to identify the metric data. The only available information as of now is the port number.
Server name is also added in the constructor of Server.java but it's not used at all.
This patch fix this behaviour:
1. The server name is saved to a field in Server.java (constructor signature is not changed)
2. ServerName is added as a tag to the metrics in RpcMetrics
3. The naming convention for the severs are fix.
About 3: if the server name is not defined the current code tries to identify the name from the class name. Which is not always an easy task as in some cases the server has a protobuf generated dirty name which also could be an inner class.
The patch also improved the detection of the name (if it's not defined). It's a compatible change as the current name is not user ad all.