| init(List) |  | 0% |  | 0% | 19 | 19 | 59 | 59 | 1 | 1 |
| doBalance(Collection, Collection, BalancerParameters, Configuration) |  | 0% |  | 0% | 12 | 12 | 48 | 48 | 1 | 1 |
| Balancer(NameNodeConnector, BalancerParameters, Configuration) |  | 0% |  | 0% | 2 | 2 | 36 | 36 | 1 | 1 |
| runOneIteration() |  | 0% |  | 0% | 6 | 6 | 33 | 33 | 1 | 1 |
| run(Collection, Collection, BalancerParameters, Configuration) |  | 0% |  | 0% | 6 | 6 | 31 | 31 | 1 | 1 |
| time2Str(long) |  | 0% |  | 0% | 4 | 4 | 12 | 12 | 1 | 1 |
| getRemaining(DatanodeStorageReport, StorageType) |  | 0% |  | 0% | 4 | 4 | 6 | 6 | 1 | 1 |
| chooseStorageGroups(Matcher) |  | 0% | | n/a | 1 | 1 | 7 | 7 | 1 | 1 |
| choose4One(Dispatcher.DDatanode.StorageGroup, Collection, Matcher) |  | 0% |  | 0% | 4 | 4 | 10 | 10 | 1 | 1 |
| matchSourceWithTargetToMove(Dispatcher.Source, Dispatcher.DDatanode.StorageGroup) |  | 0% | | n/a | 1 | 1 | 8 | 8 | 1 | 1 |
| resetData(Configuration) |  | 0% |  | 0% | 2 | 2 | 11 | 11 | 1 | 1 |
| getCapacity(DatanodeStorageReport, StorageType) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| limitOverUtilizedNum() |  | 0% |  | 0% | 2 | 2 | 7 | 7 | 1 | 1 |
| chooseCandidate(Dispatcher.DDatanode.StorageGroup, Iterator, Matcher) |  | 0% |  | 0% | 5 | 5 | 9 | 9 | 1 | 1 |
| checkKeytabAndInit(Configuration) |  | 0% |  | 0% | 2 | 2 | 8 | 8 | 1 | 1 |
| static {...} |  | 0% | | n/a | 1 | 1 | 8 | 8 | 1 | 1 |
| main(String[]) |  | 0% |  | 0% | 2 | 2 | 8 | 8 | 1 | 1 |
| getLong(Configuration, String, long) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| getLongBytes(Configuration, String, long) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| percentage2bytes(double, long) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| chooseStorageGroups(Collection, Collection, Matcher) |  | 0% |  | 0% | 4 | 4 | 7 | 7 | 1 | 1 |
| getInt(Configuration, String, int) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| checkReplicationPolicyCompatibility(Configuration) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| logUtilizationCollections() |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| computeMaxSize2Move(long, long, double, long) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| matchStorageGroups(Dispatcher.DDatanode.StorageGroup, Dispatcher.DDatanode.StorageGroup, Matcher) |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
| startBalancerHttpServer(Configuration) |  | 0% |  | 0% | 2 | 2 | 7 | 7 | 1 | 1 |
| chooseStorageGroups() |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| sortOverUtilized(Map) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| newResult(ExitStatus, long, long) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| newResult(ExitStatus) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$sortOverUtilized$0(Map, Dispatcher.Source, Dispatcher.Source) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| logUtilizationCollection(String, Collection) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| registerBalancerMXBean() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| run(Collection, BalancerParameters, Configuration) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getCompileInfo() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getVersion() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getExceptionsSinceLastBalance() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getFailedTimesSinceLastSuccessfulBalance() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getNnc() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| stop() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getSoftwareVersion() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |