public static void logPartitionStatistics(ILogger log, String name, IMap<Object, Integer> map, boolean printSizes) { MapProxyImpl mapProxy = (MapProxyImpl) map; MapService mapService = (MapService) mapProxy.getService(); MapServiceContext mapServiceContext = mapService.getMapServiceContext(); Collection<Integer> localPartitions = mapServiceContext.getOwnedPartitions(); int localSize = 0; StringBuilder partitionIDs = new StringBuilder(); StringBuilder partitionSizes = new StringBuilder(); String separator = ""; for (int partitionId : localPartitions) { int partitionSize = mapServiceContext.getRecordStore(partitionId, map.getName()).size(); localSize += partitionSize; partitionIDs.append(separator).append(partitionId); partitionSizes.append(separator).append(partitionSize); separator = ", "; } log.info(format("%s: Local partitions (count %d) (size %d) (avg %.2f) (IDs %s)%s", name, localPartitions.size(), localSize, localSize / (float) localPartitions.size(), partitionIDs.toString(), printSizes ? format(" (sizes %s)", partitionSizes.toString()) : "")); }