private boolean areSomeRegionReplicasColocatedOnHost(BalancerClusterState c) {
    if (!c.hasRegionReplicas || balancerConditionals.isReplicaDistributionEnabled()) {
      // This check is unnecessary without replicas, or with conditional replica distribution
      // The balancer will auto-run if conditional replica distribution candidates are available
      return false;
    }
    if (c.numHosts >= c.maxReplicas) {
      regionReplicaHostCostFunction.prepare(c);
      double hostCost = Math.abs(regionReplicaHostCostFunction.cost());
      boolean colocatedAtHost = hostCost > CostFunction.getCostEpsilon(hostCost);
      if (colocatedAtHost) {
        return true;
      }
      LOG.trace("No host colocation detected with host cost={}", hostCost);
    }
    return false;
  }
Update the number of metrics that are reported to JMX
hbase-balancer/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java