| TokenMetadata |   | 39% |   | 29% | 141 | 195 | 260 | 481 | 38 | 79 | 0 | 1 |
| ReplicaPlans |   | 34% |   | 18% | 57 | 77 | 119 | 172 | 12 | 29 | 0 | 1 |
| AbstractReplicationStrategy |   | 53% |   | 37% | 37 | 60 | 52 | 130 | 10 | 27 | 0 | 1 |
| RangesAtEndpoint |   | 23% |   | 12% | 37 | 48 | 50 | 73 | 17 | 28 | 0 | 1 |
| GossipingPropertyFileSnitch |  | 0% |  | 0% | 23 | 23 | 55 | 55 | 7 | 7 | 1 | 1 |
| Ec2MetadataServiceConnector.V2Connector |  | 0% |  | 0% | 13 | 13 | 38 | 38 | 6 | 6 | 1 | 1 |
| DynamicEndpointSnitch |   | 72% |   | 69% | 37 | 79 | 42 | 162 | 16 | 35 | 0 | 1 |
| AbstractCloudMetadataServiceConnector |  | 0% |  | 0% | 9 | 9 | 37 | 37 | 6 | 6 | 1 | 1 |
| Ec2Snitch |  | 0% |  | 0% | 16 | 16 | 39 | 39 | 7 | 7 | 1 | 1 |
| PendingRangeMaps |   | 51% |   | 30% | 17 | 25 | 34 | 69 | 4 | 12 | 0 | 1 |
| Replica |   | 40% |   | 34% | 23 | 34 | 25 | 47 | 11 | 21 | 0 | 1 |
| CloudstackSnitch |  | 0% |  | 0% | 13 | 13 | 37 | 37 | 7 | 7 | 1 | 1 |
| ReconnectableSnitchHelper |  | 0% |  | 0% | 25 | 25 | 42 | 42 | 11 | 11 | 1 | 1 |
| PropertyFileSnitch |   | 63% |   | 56% | 18 | 34 | 20 | 92 | 0 | 10 | 0 | 1 |
| ReplicationFactor |   | 39% |   | 20% | 23 | 34 | 17 | 39 | 3 | 14 | 0 | 1 |
| Replicas |   | 16% |   | 22% | 16 | 20 | 32 | 41 | 6 | 9 | 0 | 1 |
| SnitchProperties |  | 0% |  | 0% | 15 | 15 | 36 | 36 | 10 | 10 | 1 | 1 |
| InetAddressAndPort |   | 56% |   | 53% | 20 | 44 | 27 | 74 | 10 | 30 | 0 | 1 |
| AbstractReplicaCollection.ReplicaList |   | 53% |   | 42% | 20 | 40 | 24 | 49 | 7 | 21 | 0 | 1 |
| AbstractCloudMetadataServiceSnitch |  | 0% |  | 0% | 16 | 16 | 30 | 30 | 6 | 6 | 1 | 1 |
| NetworkTopologyStrategy |   | 72% |   | 50% | 32 | 50 | 22 | 104 | 5 | 17 | 0 | 1 |
| AzureSnitch |  | 0% |  | 0% | 13 | 13 | 21 | 21 | 4 | 4 | 1 | 1 |
| InetAddressAndPort.Serializer |   | 41% |   | 23% | 11 | 17 | 15 | 33 | 2 | 8 | 0 | 1 |
| ReplicaMultimap |  | 0% |  | 0% | 17 | 17 | 22 | 22 | 14 | 14 | 1 | 1 |
| ReplicaPlans.new ReplicaPlans.Selector() {...} |   | 40% |   | 16% | 11 | 15 | 13 | 22 | 2 | 6 | 0 | 1 |
| ReplicaLayout |   | 55% |   | 14% | 11 | 20 | 19 | 43 | 4 | 13 | 0 | 1 |
| Ec2MultiRegionSnitch |  | 0% |  | 0% | 5 | 5 | 22 | 22 | 4 | 4 | 1 | 1 |
| ReplicaPlans.new ReplicaPlans.Selector() {...} |  | 13% |  | 16% | 3 | 5 | 13 | 16 | 0 | 2 | 0 | 1 |
| InOurDc |  | 0% |  | 0% | 13 | 13 | 17 | 17 | 6 | 6 | 1 | 1 |
| AbstractReplicaCollection |   | 74% |   | 86% | 11 | 41 | 16 | 64 | 7 | 23 | 0 | 1 |
| EndpointsForRange |   | 56% |   | 57% | 10 | 21 | 10 | 28 | 6 | 14 | 0 | 1 |
| TokenMetadata.Topology.Builder |   | 79% |   | 62% | 10 | 22 | 13 | 56 | 2 | 10 | 0 | 1 |
| SnitchUtils |  | 0% |  | 0% | 2 | 2 | 10 | 10 | 1 | 1 | 1 | 1 |
| Endpoints |   | 73% |   | 50% | 12 | 30 | 8 | 40 | 5 | 19 | 0 | 1 |
| EndpointsForToken.Builder |   | 54% |   | 27% | 7 | 12 | 8 | 19 | 1 | 6 | 0 | 1 |
| EndpointsForRange.Builder |   | 54% |   | 27% | 7 | 12 | 8 | 19 | 1 | 6 | 0 | 1 |
| Ec2MetadataServiceConnector.EC2MetadataType |  | 0% | | n/a | 5 | 5 | 7 | 7 | 5 | 5 | 1 | 1 |
| ReplicaMultimap.Builder |  | 0% | | n/a | 5 | 5 | 11 | 11 | 5 | 5 | 1 | 1 |
| Replicas.ReplicaCount |  | 0% |  | 0% | 9 | 9 | 9 | 9 | 6 | 6 | 1 | 1 |
| AbstractReplicaCollection.ReplicaMap.EntrySet |  | 0% |  | 0% | 5 | 5 | 5 | 5 | 4 | 4 | 1 | 1 |
| Ec2MetadataServiceConnector |  | 0% | | n/a | 2 | 2 | 6 | 6 | 2 | 2 | 1 | 1 |
| SimpleSeedProvider |   | 71% |   | 58% | 5 | 9 | 12 | 34 | 0 | 3 | 0 | 1 |
| SystemReplicas |  | 0% |  | 0% | 6 | 6 | 9 | 9 | 5 | 5 | 1 | 1 |
| AbstractReplicaCollection.new Collector() {...} |  | 0% | | n/a | 7 | 7 | 9 | 9 | 7 | 7 | 1 | 1 |
| SimpleStrategy |   | 81% |   | 60% | 7 | 19 | 5 | 41 | 0 | 9 | 0 | 1 |
| RangesAtEndpoint.Builder |   | 66% |   | 54% | 7 | 13 | 5 | 20 | 2 | 7 | 0 | 1 |
| EndpointsForToken |   | 75% |   | 80% | 8 | 24 | 6 | 29 | 6 | 19 | 0 | 1 |
| EndpointsByReplica.Builder |  | 0% | | n/a | 5 | 5 | 7 | 7 | 5 | 5 | 1 | 1 |
| TokenMetadataEvent |  | 0% | | n/a | 3 | 3 | 10 | 10 | 3 | 3 | 1 | 1 |
| AbstractReplicaCollection.ReplicaMap |   | 83% |   | 80% | 6 | 21 | 6 | 39 | 3 | 11 | 0 | 1 |
| InetAddressAndPort.FwdFrmSerializer |   | 69% |   | 41% | 6 | 10 | 3 | 20 | 0 | 4 | 0 | 1 |
| GoogleCloudSnitch |  | 0% | | n/a | 3 | 3 | 8 | 8 | 3 | 3 | 1 | 1 |
| Ec2MetadataServiceConnector.V1Connector |  | 0% | | n/a | 3 | 3 | 4 | 4 | 3 | 3 | 1 | 1 |
| AlibabaCloudSnitch |  | 0% | | n/a | 3 | 3 | 7 | 7 | 3 | 3 | 1 | 1 |
| ReplicaLayout.ForTokenWrite |   | 62% |  | 75% | 2 | 6 | 5 | 12 | 1 | 4 | 0 | 1 |
| EndpointsByRange.Builder |  | 0% | | n/a | 4 | 4 | 7 | 7 | 4 | 4 | 1 | 1 |
| ReplicaLayout.ForRangeRead |  | 24% |  | 0% | 3 | 4 | 4 | 7 | 2 | 3 | 0 | 1 |
| ReplicaLayout.ForTokenRead |  | 16% |  | 0% | 3 | 4 | 4 | 6 | 2 | 3 | 0 | 1 |
| RackInferringSnitch |  | 0% | | n/a | 3 | 3 | 3 | 3 | 3 | 3 | 1 | 1 |
| ReplicaPlan.ForRead |  | 0% |  | 0% | 4 | 4 | 1 | 1 | 2 | 2 | 1 | 1 |
| EndpointSnitchInfo | | 33% | | n/a | 5 | 7 | 5 | 8 | 5 | 7 | 0 | 1 |
| ReplicaPlan.ForWrite |  | 81% |  | 100% | 2 | 14 | 2 | 16 | 2 | 13 | 0 | 1 |
| ReplicaPlan.ForPaxosWrite | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| RangesByEndpoint.Builder | | 0% | | n/a | 3 | 3 | 5 | 5 | 3 | 3 | 1 | 1 |
| EndpointsByReplica | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| EndpointsByRange | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| RangesByEndpoint | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| InOurDc.ReplicaTester | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| ReplicaPlan.SharedForRangeRead | | 40% | | n/a | 1 | 3 | 1 | 3 | 1 | 3 | 0 | 1 |
| InOurDc.EndpointTester | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| AbstractCloudMetadataServiceConnector.HttpException | | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 | 1 | 1 |
| ReplicaPlan.AbstractForRead |  | 82% |  | 75% | 2 | 9 | 1 | 8 | 1 | 7 | 0 | 1 |
| ReplicaLayout.ForWrite |  | 75% |   | 66% | 3 | 8 | 1 | 11 | 1 | 5 | 0 | 1 |
| AbstractReplicaCollection.ReplicaMap.KeySet | | 68% | | n/a | 1 | 4 | 2 | 5 | 1 | 4 | 0 | 1 |
| AbstractReplicaCollection.ReplicaList.new Iterator() {...} |  | 92% |   | 80% | 2 | 9 | 0 | 15 | 0 | 4 | 0 | 1 |
| TokenMetadataDiagnostics | | 60% | | 50% | 1 | 4 | 1 | 5 | 0 | 3 | 0 | 1 |
| AbstractReplicaCollection.ReplicaMap.AbstractImmutableSet | | 57% | | n/a | 2 | 4 | 2 | 4 | 2 | 4 | 0 | 1 |
| NetworkTopologyStrategy.DatacenterEndpoints |  | 94% |   | 78% | 3 | 11 | 1 | 27 | 0 | 4 | 0 | 1 |
| AbstractReplicaCollection.AsList |  | 75% | | n/a | 1 | 4 | 2 | 8 | 1 | 4 | 0 | 1 |
| AbstractReplicationStrategy.ReplicaCache |  | 93% |   | 60% | 4 | 9 | 3 | 21 | 0 | 4 | 0 | 1 |
| AbstractEndpointSnitch |  | 88% |   | 62% | 2 | 11 | 0 | 9 | 0 | 7 | 0 | 1 |
| IEndpointSnitch | | 75% | | n/a | 1 | 5 | 1 | 5 | 1 | 5 | 0 | 1 |
| AbstractNetworkTopologySnitch |  | 95% |   | 66% | 8 | 14 | 2 | 22 | 0 | 2 | 0 | 1 |
| AbstractReplicaCollection.ReplicaList.new Iterator() {...} |  | 91% |  | 75% | 1 | 5 | 0 | 6 | 0 | 3 | 0 | 1 |
| ReplicaPlan.AbstractReplicaPlan |  | 88% | | 50% | 1 | 7 | 0 | 12 | 0 | 6 | 0 | 1 |
| DynamicEndpointSnitch.new Runnable() {...} | | 60% | | n/a | 1 | 2 | 2 | 3 | 1 | 2 | 0 | 1 |
| AbstractCloudMetadataServiceConnector.DefaultCloudMetadataServiceConnector | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 1 | 1 |
| ReplicaPlans.new ReplicaPlans.Selector() {...} | | 50% | | n/a | 1 | 2 | 1 | 2 | 1 | 2 | 0 | 1 |
| LocalStrategy |  | 97% | | n/a | 1 | 8 | 1 | 13 | 1 | 8 | 0 | 1 |
| TokenMetadata.new AbstractIterator() {...} |  | 100% |  | 100% | 0 | 7 | 0 | 12 | 0 | 2 | 0 | 1 |
| TokenMetadata.Topology |  | 100% |  | 100% | 0 | 9 | 0 | 15 | 0 | 8 | 0 | 1 |
| AbstractReplicaCollection.ReplicaList.new Iterator() {...} |  | 100% |  | 100% | 0 | 4 | 0 | 5 | 0 | 3 | 0 | 1 |
| ReplicaPlan.ForRangeRead |  | 100% | | n/a | 0 | 4 | 0 | 7 | 0 | 4 | 0 | 1 |
| ReplicaCollection.Builder.Conflict |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 | 0 | 1 |
| ReplicaCollection.Builder |  | 100% |  | 100% | 0 | 4 | 0 | 5 | 0 | 3 | 0 | 1 |
| TokenMetadataEvent.TokenMetadataEventType |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 | 0 | 1 |
| ReplicaPlan.ForTokenRead |  | 100% | | n/a | 0 | 2 | 0 | 3 | 0 | 2 | 0 | 1 |
| ReplicaPlan.SharedForTokenRead |  | 100% | | n/a | 0 | 3 | 0 | 3 | 0 | 3 | 0 | 1 |
| AbstractReplicationStrategy.ReplicaHolder | | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 | 0 | 1 |
| PropertyFileSnitch.new WrappedRunnable() {...} | | 100% | | n/a | 0 | 2 | 0 | 3 | 0 | 2 | 0 | 1 |
| SimpleSnitch | | 100% | | n/a | 0 | 5 | 0 | 5 | 0 | 5 | 0 | 1 |
| DynamicEndpointSnitch.new Runnable() {...} | | 100% | | n/a | 0 | 2 | 0 | 3 | 0 | 2 | 0 | 1 |
| ReplicaPlan | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |