From 5e7ff9874df1b59cea244e6c6e001dbe0c99147f Mon Sep 17 00:00:00 2001 From: Robin Han Date: Fri, 19 Sep 2025 11:48:04 +0800 Subject: [PATCH] fix(metrics): set the interval for the lazy-created histogram Signed-off-by: Robin Han --- .../src/main/java/com/automq/stream/s3/metrics/Metrics.java | 1 + .../com/automq/stream/s3/metrics/wrapper/DeltaHistogram.java | 3 ++- .../com/automq/stream/s3/metrics/wrapper/HistogramMetric.java | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/s3stream/src/main/java/com/automq/stream/s3/metrics/Metrics.java b/s3stream/src/main/java/com/automq/stream/s3/metrics/Metrics.java index e457ef674c..b334c6a2a2 100644 --- a/s3stream/src/main/java/com/automq/stream/s3/metrics/Metrics.java +++ b/s3stream/src/main/java/com/automq/stream/s3/metrics/Metrics.java @@ -189,6 +189,7 @@ public void setup() { .putAll(histogramAttrs) .build(); this.shouldRecord = level.isWithin(globalConfig.getMetricsLevel()); + histogram.setSnapshotInterval(globalConfig.getMetricsReportIntervalMs()); } } } diff --git a/s3stream/src/main/java/com/automq/stream/s3/metrics/wrapper/DeltaHistogram.java b/s3stream/src/main/java/com/automq/stream/s3/metrics/wrapper/DeltaHistogram.java index 5e44b6ca3f..6b7ed7b290 100644 --- a/s3stream/src/main/java/com/automq/stream/s3/metrics/wrapper/DeltaHistogram.java +++ b/s3stream/src/main/java/com/automq/stream/s3/metrics/wrapper/DeltaHistogram.java @@ -22,12 +22,13 @@ import org.HdrHistogram.Histogram; import org.HdrHistogram.Recorder; +import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.LongAdder; import java.util.function.BiPredicate; public class DeltaHistogram { - private static final Long DEFAULT_SNAPSHOT_INTERVAL_MS = 5000L; + private static final Long DEFAULT_SNAPSHOT_INTERVAL_MS = TimeUnit.SECONDS.toMillis(30); private final LongAdder cumulativeCount = new LongAdder(); private final LongAdder cumulativeSum = new LongAdder(); private final AtomicLong min = new AtomicLong(Long.MAX_VALUE); diff --git a/s3stream/src/main/java/com/automq/stream/s3/metrics/wrapper/HistogramMetric.java b/s3stream/src/main/java/com/automq/stream/s3/metrics/wrapper/HistogramMetric.java index 29be045eab..ad86ed00e1 100644 --- a/s3stream/src/main/java/com/automq/stream/s3/metrics/wrapper/HistogramMetric.java +++ b/s3stream/src/main/java/com/automq/stream/s3/metrics/wrapper/HistogramMetric.java @@ -35,6 +35,7 @@ public HistogramMetric(MetricsLevel currentMetricsLevel, MetricsConfig metricsCo public HistogramMetric(MetricsLevel currentMetricsLevel, MetricsConfig metricsConfig, Attributes extraAttributes) { super(metricsConfig, extraAttributes); this.deltaHistogram = new DeltaHistogram(); + this.deltaHistogram.setSnapshotInterval(metricsConfig.getMetricsReportIntervalMs()); this.currentMetricsLevel = currentMetricsLevel; }