private void setUpMetricsForMultiEndpoint()

in grpc-gcp/src/main/java/com/google/cloud/grpc/GcpMultiEndpointChannel.java [321:344]


  private void setUpMetricsForMultiEndpoint(GcpMultiEndpointOptions options, MultiEndpoint me) {
    String name = options.getName();
    List<String> endpoints = options.getEndpoints();
    endpointSwitchMetric.createTimeSeries(
        appendCommonValues(LabelValue.create(name), LabelValue.create(TYPE_FALLBACK)),
        me,
        MultiEndpoint::getFallbackCnt);
    endpointSwitchMetric.createTimeSeries(
        appendCommonValues(LabelValue.create(name), LabelValue.create(TYPE_RECOVER)),
        me,
        MultiEndpoint::getRecoverCnt);
    endpointSwitchMetric.createTimeSeries(
        appendCommonValues(LabelValue.create(name), LabelValue.create(TYPE_REPLACE)),
        me,
        MultiEndpoint::getReplaceCnt);
    for (String e : endpoints) {
      CurrentEndpointWatcher watcher = new CurrentEndpointWatcher(me, e);
      currentEndpointWatchers.put(name + ":" + e, watcher);
      currentEndpointMetric.createTimeSeries(
          appendCommonValues(LabelValue.create(name), LabelValue.create(e)),
          watcher,
          CurrentEndpointWatcher::getMetricValue);
    }
  }