| RetryingGetBlocksFromPeersTask |   | 58% |   | 12% | 6 | 11 | 14 | 35 | 2 | 7 | 0 | 1 |
| GetBlockFromPeerTask |   | 87% |   | 83% | 2 | 14 | 5 | 47 | 1 | 11 | 0 | 1 |
| AbstractPeerRequestTask |   | 87% |   | 80% | 2 | 16 | 6 | 47 | 0 | 11 | 0 | 1 |
| RetryingGetBlockFromPeersTask |   | 89% |  | 100% | 2 | 12 | 1 | 37 | 2 | 9 | 0 | 1 |
| AbstractRetryingSwitchingPeerTask |   | 94% |   | 88% | 3 | 25 | 0 | 68 | 2 | 16 | 0 | 1 |
| GetBodiesFromPeerTask |   | 97% |   | 91% | 2 | 15 | 0 | 56 | 1 | 9 | 0 | 1 |
| AbstractEthTask |   | 97% |   | 78% | 3 | 26 | 1 | 46 | 0 | 19 | 0 | 1 |
| GetBodiesFromPeerTask.BodyIdentifier |   | 97% |   | 68% | 5 | 14 | 0 | 37 | 0 | 6 | 0 | 1 |
| GetNodeDataFromPeerTask |   | 96% |   | 75% | 2 | 11 | 2 | 28 | 0 | 7 | 0 | 1 |
| GetPooledTransactionsFromPeerTask |   | 96% |   | 75% | 2 | 12 | 2 | 30 | 0 | 8 | 0 | 1 |
| AbstractGetHeadersFromPeerTask |  | 99% |   | 96% | 1 | 18 | 0 | 62 | 0 | 4 | 0 | 1 |
| RetryingGetHeadersEndingAtFromPeerByHashTask |  | 99% |   | 66% | 2 | 9 | 0 | 27 | 0 | 6 | 0 | 1 |
| GetHeadersFromPeerByNumberTask |  | 98% |   | 50% | 1 | 9 | 0 | 16 | 0 | 8 | 0 | 1 |
| AbstractRetryingPeerTask |  | 100% |   | 87% | 3 | 28 | 0 | 55 | 0 | 16 | 0 | 1 |
| BufferedGetPooledTransactionsFromPeerFetcher |  | 100% |  | 100% | 0 | 11 | 0 | 54 | 0 | 7 | 0 | 1 |
| GetReceiptsFromPeerTask |  | 100% |  | 100% | 0 | 15 | 0 | 43 | 0 | 10 | 0 | 1 |
| GetHeadersFromPeerByHashTask |  | 100% | | n/a | 0 | 9 | 0 | 19 | 0 | 9 | 0 | 1 |
| WaitForPeersTask |  | 100% |  | 100% | 0 | 9 | 0 | 30 | 0 | 6 | 0 | 1 |
| RetryingGetNodeDataFromPeerTask |  | 100% | | n/a | 0 | 5 | 0 | 14 | 0 | 5 | 0 | 1 |
| WaitForPeerTask |  | 100% |   | 50% | 1 | 7 | 0 | 19 | 0 | 6 | 0 | 1 |
| AbstractPeerTask |  | 100% | | n/a | 0 | 2 | 0 | 6 | 0 | 2 | 0 | 1 |
| AbstractPeerTask.PeerTaskResult |  | 100% | | n/a | 0 | 3 | 0 | 6 | 0 | 3 | 0 | 1 |
| AbstractEthTask.new OperationTimer.TimingContext() {...} |  | 100% | | n/a | 0 | 2 | 0 | 3 | 0 | 2 | 0 | 1 |