public static Map<Short, Map<Short, ContainerStorageStats>> generateRandomAggregatedAccountStorageStats(
      short accountIdStart, int numberOfAccounts, int numberOfContainersPerAccount, long maxLogicalStorageUsage,
      int physicalFactor, int maxNumberOfBlobs) {
    short accountId = accountIdStart;
    Map<Short, Map<Short, ContainerStorageStats>> result = new HashMap<>();
    for (int i = 0; i < numberOfAccounts; i++) {
      if (!result.containsKey(accountId)) {
        result.put(accountId, new HashMap<>());
      }
      short containerId = 0;
      for (int j = 0; j < numberOfContainersPerAccount; j++) {
        long logicalStorageUsage = Math.abs(random.nextLong() % maxLogicalStorageUsage);
        int numberOfBlobs = random.nextInt(maxNumberOfBlobs);
        if (numberOfBlobs == 0) {
          numberOfBlobs = 1;
        }
        result.get(accountId)
            .put(containerId, new ContainerStorageStats.Builder(containerId).logicalStorageUsage(logicalStorageUsage)
                .physicalStorageUsage(logicalStorageUsage * physicalFactor)
                .numberOfBlobs(numberOfBlobs)
                .build());
        containerId++;
      }
      accountId++;
    }
    return result;
  }
Generate aggregated account storage stats in a map with random values.
@param accountIdStart The start value of account id
@param numberOfAccounts The number of accounts
@param numberOfContainersPerAccount The number of containers per account
@param maxLogicalStorageUsage the maximum value for logical storage usage
@param physicalFactor The multiply factor for physical storage usage
@param maxNumberOfBlobs The maximum value for number of blobs.
@return
ambry-api/src/test/java/com/github/ambry/server/StorageStatsUtilTest.java