private Map<String, Object> generateCallInfoMap() {
    // only include RPC info if the Handler is actively servicing an RPC call
    Map<String, Object> map = super.toMap();
    if (getState() != State.RUNNING) {
      return map;
    }
    Map<String, Object> rpcJSON = new HashMap<>();
    ArrayList<Object> paramList = new ArrayList<>();
    map.put("rpcCall", rpcJSON);
    rpcJSON.put("queuetimems", getRPCQueueTime());
    rpcJSON.put("starttimems", getRPCStartTime());
    rpcJSON.put("clientaddress", clientAddress);
    rpcJSON.put("remoteport", remotePort);
    rpcJSON.put("packetlength", getRPCPacketLength());
    rpcJSON.put("method", methodName);
    rpcJSON.put("params", paramList);
    for (Object param : params) {
      if (param instanceof byte[]) {
        paramList.add(Bytes.toStringBinary((byte[]) param));
      } else if (param instanceof Operation) {
        paramList.add(((Operation) param).toMap());
      } else {
        paramList.add(param.toString());
      }
    }
    return map;
  }
Registers current handler client details.
@param clientAddress the address of the current client
@param remotePort    the port from which the client connected
hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.java