void registerMetricsForFullAuto(List<String> resources, HelixClusterManager helixClusterManager) {
    // register resource metrics
    for (String resource : resources) {
      Gauge<Integer> totalInstanceCount = () -> helixClusterManager.getTotalInstanceCount(resource);
      registry.gauge(MetricRegistry.name(HelixClusterManager.class, "Resource_" + resource + "_TotalInstanceCount"),
          () -> totalInstanceCount);

      Gauge<Integer> liveInstanceCount = () -> helixClusterManager.getLiveInstanceCount(resource);
      registry.gauge(MetricRegistry.name(HelixClusterManager.class, "Resource_" + resource + "_LiveInstanceCount"),
          () -> liveInstanceCount);

      Gauge<Long> resourceTotalRegisteredHostDiskCapacity =
          () -> helixClusterManager.getResourceTotalRegisteredHostDiskCapacity(resource);
      registry.gauge(
          MetricRegistry.name(HelixClusterManager.class, "Resource_" + resource + "_TotalRegisteredHostDiskCapacity"),
          () -> resourceTotalRegisteredHostDiskCapacity);

      Gauge<Long> resourceAvailableRegisteredHostDiskCapacity =
          () -> helixClusterManager.getResourceAvailableRegisteredHostDiskCapacity(resource);
      registry.gauge(MetricRegistry.name(HelixClusterManager.class,
              "Resource_" + resource + "_AvailableRegisteredHostDiskCapacity"),
          () -> resourceAvailableRegisteredHostDiskCapacity);

      Gauge<Integer> resourceTotalDiskCapacityUsage =
          () -> helixClusterManager.getResourceTotalDiskCapacityUsage(resource);
      registry.gauge(MetricRegistry.name(HelixClusterManager.class, "Resource_" + resource + "_TotalDiskCapacityUsage"),
          () -> resourceTotalDiskCapacityUsage);

      Gauge<Integer> resourceNumberOfPartitions = () -> helixClusterManager.getNumberOfPartitionsInResource(resource);
      registry.gauge(MetricRegistry.name(HelixClusterManager.class, "Resource_" + resource + "_NumberOfPartitions"),
          () -> resourceNumberOfPartitions);

      // register replica state metrics
      for (ReplicaState replicaState : EnumSet.complementOf(EnumSet.of(ReplicaState.DROPPED))) {
        Gauge<Integer> stateReplicaCountInResource =
            () -> helixClusterManager.getReplicaCountForStateInResource(replicaState, resource);
        registry.gauge(MetricRegistry.name(HelixClusterManager.class,
            "Resource_" + resource + "_ReplicaCountInState" + replicaState.name()), () -> stateReplicaCountInResource);
      }
    }
    // register host metrics
    Gauge<Integer> registeredHostDiskCapacity = helixClusterManager::getRegisteredHostDiskCapacity;
    registry.gauge(MetricRegistry.name(HelixClusterManager.class, "RegisteredHostDiskCapacity"),
        () -> registeredHostDiskCapacity);
    Gauge<Integer> hostReplicaCount = helixClusterManager::getHostReplicaCount;
    registry.gauge(MetricRegistry.name(HelixClusterManager.class, "HostReplicaCount"), () -> hostReplicaCount);
    Gauge<Integer> hostTotalDiskCapacityUsage = helixClusterManager::getHostTotalDiskCapacityUsage;
    registry.gauge(MetricRegistry.name(HelixClusterManager.class, "HostTotalDiskCapacityUsage"),
        () -> hostTotalDiskCapacityUsage);
  }
Register FULL AUTO related metrics.
@param resources The resources this host belongs to.
@param helixClusterManager The {@link HelixClusterManager}.
ambry-clustermap/src/main/java/com/github/ambry/clustermap/HelixClusterManagerMetrics.java