This is an automated email from the ASF dual-hosted git repository. kturner pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/accumulo.git
commit 3a223a01965bb590e96adfdc7018b8a630619872 Merge: 91a2ca2349 4d3a4d51b5 Author: Keith Turner <ktur...@apache.org> AuthorDate: Tue May 21 12:35:19 2024 -0400 Merge branch '2.1' .../src/main/java/org/apache/accumulo/tserver/ScanServerMetrics.java | 3 +++ 1 file changed, 3 insertions(+) diff --cc server/tserver/src/main/java/org/apache/accumulo/tserver/ScanServerMetrics.java index 37ddfab028,771def8e4f..e555b8383e --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/ScanServerMetrics.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/ScanServerMetrics.java @@@ -25,8 -23,9 +25,9 @@@ import org.apache.accumulo.core.metadat import org.apache.accumulo.core.metrics.MetricsProducer; import com.github.benmanes.caffeine.cache.LoadingCache; + import com.google.common.base.Preconditions; -import io.micrometer.core.instrument.Counter; +import io.micrometer.core.instrument.FunctionCounter; import io.micrometer.core.instrument.MeterRegistry; import io.micrometer.core.instrument.Timer; import io.micrometer.core.instrument.binder.cache.CaffeineCacheMetrics; @@@ -46,8 -45,10 +47,10 @@@ public class ScanServerMetrics implemen public void registerMetrics(MeterRegistry registry) { reservationTimer = Timer.builder(MetricsProducer.METRICS_SCAN_RESERVATION_TIMER) .description("Time to reserve a tablets files for scan").register(registry); - busyTimeoutCount = Counter.builder(METRICS_SCAN_BUSY_TIMEOUT_COUNTER) + FunctionCounter.builder(METRICS_SCAN_BUSY_TIMEOUT_COUNTER, busyTimeoutCount, AtomicLong::get) .description("The number of scans where a busy timeout happened").register(registry); + Preconditions.checkState(tabletMetadataCache.policy().isRecordingStats(), + "Attempted to instrument cache that is not recording stats."); CaffeineCacheMetrics.monitor(registry, tabletMetadataCache, METRICS_SCAN_TABLET_METADATA_CACHE); }