docs: public void forceGatherAllMetrics() {
      LOG.info("Forcing to gather all metrics and flush out.");
      Metrics.MetricPublisherPublishMessage.Builder builder =
          Metrics.MetricPublisherPublishMessage.newBuilder();
  
      for (List<String> metricNames : timeBucketToMetricNames.values()) {
        for (String metricName : metricNames) {
          gatherOneMetric(metricName, builder);
        }
      }
  
      metricCollectionCount.incr();
      addDataToMetricPublisher(builder, COLLECTION_COUNT_NAME, metricCollectionCount);
  
      Metrics.MetricPublisherPublishMessage msg = builder.build();
  
      queue.offer(msg);
    }