mirror of
https://github.com/XRPLF/rippled.git
synced 2026-08-21 14:20:56 +00:00
Panels 21 (NuDB Read Latency) and 23 (NuDB Read Found Ratio) on the Ledger Data & Sync dashboard guarded their divisor with clamp_min(<denominator>, 1). clamp_min raises the value, not just the zero case, so any node reading fewer than 1 block per second was divided by a fabricated 1 instead of by its real read count. Replace the clamp with the filter (<denominator> > 0). A comparison without the bool modifier drops the sample rather than rewriting it, so these panels now show no data instead of a wrong number. Measured over 7 days: five nodes fall below 1 read/s. On validator-0 the clamp reported 2.726 us/read against a true 5.493, and on nonUNLmalloc-tc it reported 0 us/read, which cannot occur. The error is largest exactly when panel 21 is used as the bottleneck discriminator during a stall, because that is when the read rate collapses toward zero. Matches the existing idiom on the same nodestore_state metric family in the NodeStore Write vs Read Latency panel.