mirror of
https://github.com/XRPLF/rippled.git
synced 2026-07-30 18:40:28 +00:00
fix(telemetry): root peer.validation.receive and peer.proposal.receive spans
These inbound peer-message entry points (kConsumer) used span(), which inherits whatever span is active on the peer thread — including a leaked tx.receive scope — so validations/proposals were wrongly nested under unrelated transaction traces. rootSpan() starts a fresh trace root. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -175,6 +175,12 @@ RED metrics on the _Transaction Overview_ dashboard.
|
||||
| `peer.proposal.receive` | PeerImp.cpp:1667 | `peer_id`, `proposal_trusted` | Proposal received from peer |
|
||||
| `peer.validation.receive` | PeerImp.cpp:2264 | `peer_id`, `validation_trusted` | Validation received from peer |
|
||||
|
||||
Both peer receive spans are `kConsumer` inbound entry points started as fresh
|
||||
trace roots. They never inherit an ambient span left active on the peer thread,
|
||||
so they do not nest under an unrelated transaction's trace. The distributed
|
||||
child span that links back to the sending node is the separate
|
||||
`consensus.*.receive` / `tx.receive` span (see Cross-Node Trace Propagation).
|
||||
|
||||
---
|
||||
|
||||
## Insights and Sample Queries
|
||||
|
||||
Reference in New Issue
Block a user