private long calculateHandlerUsageTimeEstimate(final double requestsPerSecond,
    final int numHandlerThreads) {
    if (requestsPerSecond <= numHandlerThreads) {
      // If less than 1 request per second per handler thread, then we use the number of handler
      // threads as a baseline to avoid incorrect estimations when the number of requests is very
      // low.
      return numHandlerThreads;
    } else {
      double requestsPerMillisecond = Math.ceil(requestsPerSecond / 1000);
      // We don't ever want zero here
      return Math.max((long) requestsPerMillisecond, 1L);
    }
  }
Update estimate quota(read/write size/capacityUnits) which will be consumed
@param scanRequest                     the scan to be executed
@param maxScannerResultSize            the maximum bytes to be returned by the scanner
@param maxBlockBytesScanned            the maximum bytes scanned in a single RPC call by the
                                       scanner
@param prevBlockBytesScannedDifference the difference between BBS of the previous two next
                                       calls
hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/DefaultOperationQuota.java