@Override
    public void visit(PutRequest putRequest) {
      metrics.putBlobRequestQueueTimeInMs.update(requestQueueTime);
      metrics.putBlobRequestRate.mark();
      metrics.putBlobProcessingTimeInMs.update(requestProcessingTime);
      metrics.updatePutBlobProcessingTimeBySize(requestBlobSize, requestProcessingTime);
      responseQueueTimeHistogram = metrics.putBlobResponseQueueTimeInMs;
      responseSendTimeHistogram = metrics.putBlobSendTimeInMs;
      requestTotalTimeHistogram = metrics.putBlobTotalTimeInMs;
      if (isRequestDropped) {
        metrics.putBlobDroppedRate.mark();
        metrics.totalRequestDroppedRate.mark();
      }
    }
Used to update common metrics for the incoming request.
ambry-server/src/main/java/com/github/ambry/server/AmbryRequests.java