@Override
    public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
      perfClientMetrics.requestResponseError.inc();
      logger.error("Exception caught on channel {} while processing request/response", ctx.channel(), cause);
      ctx.close();
    }
Custom handler that sends out the request and receives and processes the response.
TODO support GET-after-POST and DELETE-after-POST operations for race condition testing.
ambry-tools/src/main/java/com/github/ambry/tools/perf/rest/NettyPerfClient.java