docs: private Metric collectSnapshotAndCount(
        String metricName,
        String metricDescription,
        List<LabelKey> labelKeys,
        List<LabelValue> labelValues,
        String unit,
        io.dropwizard.metrics5.Snapshot codahaleSnapshot,
        long count) {
      List<ValueAtPercentile> valueAtPercentiles =
          Arrays.asList(
              ValueAtPercentile.create(50.0, codahaleSnapshot.getMedian()),
              ValueAtPercentile.create(75.0, codahaleSnapshot.get75thPercentile()),
              ValueAtPercentile.create(98.0, codahaleSnapshot.get98thPercentile()),
              ValueAtPercentile.create(99.0, codahaleSnapshot.get99thPercentile()),
              ValueAtPercentile.create(99.9, codahaleSnapshot.get999thPercentile()));
  
      Snapshot snapshot = Snapshot.create((long) codahaleSnapshot.size(), 0.0, valueAtPercentiles);
      Point point =
          Point.create(Value.summaryValue(Summary.create(count, 0.0, snapshot)), clock.now());
  
      // TODO(mayurkale): OPTIMIZATION: Cache the MetricDescriptor objects.
      MetricDescriptor metricDescriptor =
          MetricDescriptor.create(metricName, metricDescription, unit, Type.SUMMARY, labelKeys);
      TimeSeries timeSeries =
          TimeSeries.createWithOnePoint(labelValues, point, cumulativeStartTimestamp);
  
      return Metric.createWithOneTimeSeries(metricDescriptor, timeSeries);
    }