mirror of
https://github.com/XRPLF/rippled.git
synced 2026-08-21 14:20:56 +00:00
The Peer Disconnect Rate By Reason panel anchored its LogQL capture on "\] ", which only matches a reason logged immediately after the [NNN] peer-id prefix. PeerImp does not log that way: PeerImp::fail emits "[NNN] <name> failed: <reason>" and the clean teardown emits "close: Closed". Only ConnectAttempt::fail, which logs the bare reason, ever matched. The panel's Timeout series was therefore connect-attempt timeouts only, Ping Timeout was invisible, and PeerImp's own Closed was uncounted. Match all three prefixes and separate Ping Timeout from Connect Timeout. Recorded as LogQL trap 11 in the runbook, alongside the other silent failures this dashboard exposed. Also document six overlay observability gaps found while auditing what ping/pong and gossip traffic is actually tracked. All are pre-existing and none is fixed here: the code fixes belong in develop-owned overlay files (TrafficCount, OverlayImpl, PeerImp, PeerfinderManager), not on a telemetry branch, and one of them needs a public signature change. - 09 section 6: six known issues, each marked NOT IMPLEMENTED with file:line evidence -- mtCLUSTER counted as unknown (overhead_cluster_* always zero, 8 panels flatline), squelch_ignored byte counts always zero, inbound/outbound byte-basis asymmetry plus a stale Total header comment, ping/endpoints instrumentation absent, peer span coverage, and PeerFinder exporting 2 of ~17 available readings. - 02 section 2.3.2: add a Status column to the span catalog. Of 36 catalogued spans, 16 are live, 15 were never built, and 5 shipped under different names (consensus.phase.establish became consensus.establish, ledger.close became consensus.ledger_close, rpc.request split into rpc.http_request/rpc.ws_message, txq.apply became txq.apply_direct/txq.accept_tx). The catalog is a design inventory; 09 section 1.1 remains authoritative for what emits. - Phase9_taskList: tasks 9.14-9.17 tracking the deferred work, with exit criteria checked only for what is actually done. - Glossary: new Ping / pong keepalive term distinguishing ping timeout from connect timeout. Correct the Cluster and Squelch entries, which described behaviour the metrics cannot show. The glossary header pointed at tasks/telemetry_terms.py as its generator. That file is in no branch and nowhere on disk -- tasks/ is gitignored one directory up -- so the header now states the file is hand-maintained and gives the entry format. Gates: check_otel_naming.py passes all 9 rules (Rule D over 555 dashboard queries, Rule E over the runbook); 19 doc anchors verified; dashboard JSON valid with a one-line diff. No C++ changes.