| runLoop(ExtendedBlock) |  | 0% |  | 0% | 14 | 14 | 55 | 55 | 1 | 1 |
| printStats(StringBuilder) |  | 0% |  | 0% | 5 | 5 | 29 | 29 | 1 | 1 |
| findNextUsableBlockIter() |  | 0% |  | 0% | 7 | 7 | 31 | 31 | 1 | 1 |
| run() |  | 0% |  | 0% | 5 | 5 | 33 | 33 | 1 | 1 |
| scanBlock(ExtendedBlock, long) |  | 0% |  | 0% | 3 | 3 | 27 | 27 | 1 | 1 |
| VolumeScanner(BlockScanner.Conf, DataNode, FsVolumeReference) |  | 0% | | n/a | 1 | 1 | 29 | 29 | 1 | 1 |
| enableBlockPoolId(String) |  | 0% |  | 0% | 4 | 4 | 20 | 20 | 1 | 1 |
| expireOldScannedBytesRecords(long) |  | 0% |  | 0% | 3 | 3 | 13 | 13 | 1 | 1 |
| getNextBlockToScan() |  | 0% |  | 0% | 4 | 4 | 22 | 22 | 1 | 1 |
| calculateShouldScan(String, long, long, long, long) |  | 0% |  | 0% | 4 | 4 | 11 | 11 | 1 | 1 |
| markSuspectBlock(ExtendedBlock) |  | 0% |  | 0% | 4 | 4 | 15 | 15 | 1 | 1 |
| disableBlockPoolId(String) |  | 0% |  | 0% | 4 | 4 | 14 | 14 | 1 | 1 |
| saveBlockIterator(FsVolumeSpi.BlockIterator) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| popNextSuspectBlock() |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| getStatistics() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| positiveMsToHours(long) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| shutdown() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| toString() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setConf(BlockScanner.Conf) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| static {...} |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |