protected void purgeObsoleteSamples(MetricConfig config, long now) {
        long expireAge = config.samples() * config.timeWindowMs();
        for (Sample sample : samples) {
            // samples overlapping the monitored window are kept,
            // even if they started before it
            if (now - sample.lastEventMs >= expireAge) {
                sample.reset(now);
            }
        }
    }
A SampledStat records a single scalar value measured over one or more samples. Each sample is recorded over a
configurable window. The window can be defined by number of events or elapsed time (or both, if both are given the
window is complete when <i>either</i> the event count or elapsed time criterion is met).
<p>
All the samples are combined to produce the measurement. When a window is complete the oldest sample is cleared and
recycled to begin recording the next sample.

Subclasses of this class define different statistics measured using this basic pattern.
clients/src/main/java/org/apache/kafka/common/metrics/stats/SampledStat.java