mirror of
https://github.com/XRPLF/rippled.git
synced 2026-07-30 18:40:28 +00:00
Drops nodestore_read_us and everything added to reach it. read_mean_us already carries microsecond precision and separated the two sync failure modes cleanly in live testing -- 8.8 us on a clean store against a 223 us cold-store peak -- so the distribution added no signal that changed a diagnosis. The cost of getting it was disproportionate. NodeStoreScheduler had no path to the metrics registry, so its production constructor grew a ServiceRegistry parameter: a metric addition changing a production signature. That in turn forced an edit to a pre-existing test, src/test/app/SHAMapStore_test.cpp, whose only stake in this is that it constructs a scheduler. Worse, the scheduler is built in Application's member initializer list, long before metricsRegistry_ exists, so the registry could not be captured once and had to be re-resolved on every fetch -- a lookup on a path that runs millions of times per sync. The constructor returns to taking JobQueue& alone and SHAMapStore_test.cpp returns to the single-argument call, leaving that file differing from its pre-change form only by the NodeStore:: to node_store:: rename it picked up from develop. FetchReport::elapsed stays microseconds and onFetch keeps its explicit duration_cast to milliseconds for addLoadEvents, which takes milliseconds. That widening was a separate fix and is what makes read latency measurable at all. kSubMillisecondBoundaries loses its only consumer and regains [[maybe_unused]], which is the state the commit that introduced it left it in; without the attribute an unused constant is an error under wextra with werr. Also removes the ledger-data-sync panel that charted the histogram and the fetch_type and found template variables, which filtered on labels no metric emits any more, plus the runbook and reference-doc sections and the two instrument and view counts that named it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Unit tests
This directory contains unit tests for the project. The difference from existing src/test folder
is that we switch to 3rd party testing framework (gtest). We intend to gradually move existing tests
from our own framework to gtest and such tests will be moved to this new folder.