docs: ClusterStats generateLoadReport(Duration interval) {
      ClusterStats.Builder statsBuilder = ClusterStats.newBuilder().setClusterName(clusterName)
          .setLoadReportInterval(interval);
      for (Map.Entry<Locality, XdsClientLoadRecorder.ClientLoadCounter> entry : localityLoadCounters
          .entrySet()) {
        XdsClientLoadRecorder.ClientLoadSnapshot snapshot = entry.getValue().snapshot();
        statsBuilder
            .addUpstreamLocalityStats(UpstreamLocalityStats.newBuilder()
                .setLocality(entry.getKey())
                .setTotalSuccessfulRequests(snapshot.callsSucceed)
                .setTotalErrorRequests(snapshot.callsFailed)
                .setTotalRequestsInProgress(snapshot.callsInProgress));
        // Discard counters for localities that are no longer exposed by the remote balancer and
        // no RPCs ongoing.
        if (!entry.getValue().isActive() && snapshot.callsInProgress == 0) {
          localityLoadCounters.remove(entry.getKey());
        }
      }
      for (Map.Entry<String, AtomicLong> entry : dropCounters.entrySet()) {
        statsBuilder.addDroppedRequests(DroppedRequests.newBuilder()
            .setCategory(entry.getKey())
            .setDroppedCount(entry.getValue().getAndSet(0)));
      }
      return statsBuilder.build();
    }