public static DistributionSummary newDistributionSummary(MeterRegistry registry,
                                                             String name, Iterable<Tag> tags,
                                                             DistributionStatisticConfig distStatsConfig) {
        requireNonNull(registry, "registry");
        requireNonNull(name, "name");
        requireNonNull(tags, "tags");
        requireNonNull(distStatsConfig, "distStatsConfig");

        return DistributionSummary.builder(name)
                                  .tags(tags)
                                  .publishPercentiles(distStatsConfig.getPercentiles())
                                  .publishPercentileHistogram(distStatsConfig.isPercentileHistogram())
                                  .percentilePrecision(distStatsConfig.getPercentilePrecision())
                                  .distributionStatisticBufferLength(distStatsConfig.getBufferLength())
                                  .distributionStatisticExpiry(distStatsConfig.getExpiry())
                                  .maximumExpectedValue(distStatsConfig.getMaximumExpectedValueAsDouble())
                                  .minimumExpectedValue(distStatsConfig.getMinimumExpectedValueAsDouble())
                                  .serviceLevelObjectives(distStatsConfig.getServiceLevelObjectiveBoundaries())
                                  .register(registry);
    }
Returns a newly-registered {@link DistributionSummary} configured by
given {@link DistributionStatisticConfig}.

@param distStatsConfig the {@link DistributionStatisticConfig} to use
core/src/main/java/com/linecorp/armeria/common/metric/MoreMeters.java