@@ -87,8 +87,12 @@ Prefetch I/O
8787------------
8888
8989``PrefetchIoMetrics `` describes only I/O that passes through the prefetch reader's instrumented
90- input streams. It is not a whole-query or whole-table I/O total. All counters and histograms
91- accumulate for the reader lifetime and are retained across ``SetReadSchema() `` and cache reset.
90+ input streams. It is not a whole-query or whole-table I/O total. All counters accumulate for the
91+ reader lifetime and are retained across ``SetReadSchema() `` and cache reset. Latency uses relaxed
92+ atomic count and sum counters instead of per-I/O histograms to reduce hot-path cost. Collection is
93+ disabled by default; set ``prefetch.io-metrics.enabled `` to ``true `` in the read options to enable
94+ it. When disabled, these per-I/O metrics are absent and the input streams have no metrics
95+ instrumentation.
9296``io.async.pending `` is current state and returns to zero when all callbacks complete.
9397These metrics are C++-only and have no counterparts in Java Paimon.
9498
@@ -100,11 +104,13 @@ These metrics are C++-only and have no counterparts in Java Paimon.
100104 "io.read.requested-bytes", "counter", "bytes", "Bytes requested by synchronous reads"
101105 "io.read.physical-bytes", "counter", "bytes", "Bytes returned by successful synchronous reads"
102106 "io.read.failed", "counter", "requests", "Failed synchronous reads"
103- "io.read.latency-us", "histogram", "microseconds", "Synchronous read latency"
107+ "io.read.latency.count", "counter", "requests", "Completed synchronous read latency samples"
108+ "io.read.latency.sum-us", "counter", "microseconds", "Sum of synchronous read latency"
104109 "io.async.requests", "counter", "requests", "Asynchronous read requests"
105110 "io.async.requested-bytes", "counter", "bytes", "Bytes requested by asynchronous reads"
106111 "io.async.physical-bytes", "counter", "bytes", "Bytes attributed to successful asynchronous reads"
107112 "io.async.completed", "counter", "requests", "Successful asynchronous reads"
108113 "io.async.failed", "counter", "requests", "Failed asynchronous reads"
109114 "io.async.pending", "gauge", "requests", "Asynchronous callbacks not yet completed"
110- "io.async.latency-us", "histogram", "microseconds", "Asynchronous callback latency"
115+ "io.async.latency.count", "counter", "requests", "Completed asynchronous callback latency samples"
116+ "io.async.latency.sum-us", "counter", "microseconds", "Sum of asynchronous callback latency"
0 commit comments