From b60e584ea25eaff2c4feed56b8ef9bd395c26029 Mon Sep 17 00:00:00 2001 From: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com> Date: Fri, 6 Mar 2026 17:27:31 +0000 Subject: [PATCH] Add consensus.accept.apply span to data collection reference Add the close time span and its 6 attributes to the Phase 4 consensus span table and attribute table in 09-data-collection-reference.md. Co-Authored-By: Claude Opus 4.6 --- .../09-data-collection-reference.md | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/OpenTelemetryPlan/09-data-collection-reference.md b/OpenTelemetryPlan/09-data-collection-reference.md index 22d3592b28..2ef6b9e6e2 100644 --- a/OpenTelemetryPlan/09-data-collection-reference.md +++ b/OpenTelemetryPlan/09-data-collection-reference.md @@ -126,6 +126,7 @@ Controlled by `trace_consensus=1` in `[telemetry]` config. | `consensus.ledger_close` | — | RCLConsensus.cpp | Ledger close event triggered by consensus | | `consensus.accept` | — | RCLConsensus.cpp | Consensus accepts a ledger (round complete) | | `consensus.validation.send` | — | RCLConsensus.cpp | Validation message sent after ledger accepted | +| `consensus.accept.apply` | — | RCLConsensus.cpp | Ledger application with close time details | **Where to find**: Jaeger → Operation: `consensus.*` @@ -197,13 +198,18 @@ Every span can carry key-value attributes that provide context for filtering and #### Consensus Attributes -| Attribute | Type | Set On | Description | -| --------------------------- | ------- | ------------------------------------------------------------------------- | ------------------------------------------------------------- | -| `xrpl.consensus.round` | int64 | `consensus.proposal.send` | Consensus round number | -| `xrpl.consensus.mode` | string | `consensus.proposal.send`, `consensus.ledger_close` | Node mode: `"syncing"`, `"tracking"`, `"full"`, `"proposing"` | -| `xrpl.consensus.proposers` | int64 | `consensus.proposal.send`, `consensus.accept` | Number of proposers in the round | -| `xrpl.consensus.proposing` | boolean | `consensus.validation.send` | Whether this node was a proposer | -| `xrpl.consensus.ledger.seq` | int64 | `consensus.ledger_close`, `consensus.accept`, `consensus.validation.send` | Ledger sequence number | +| Attribute | Type | Set On | Description | +| ------------------------------------ | ------- | --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- | +| `xrpl.consensus.round` | int64 | `consensus.proposal.send` | Consensus round number | +| `xrpl.consensus.mode` | string | `consensus.proposal.send`, `consensus.ledger_close` | Node mode: `"syncing"`, `"tracking"`, `"full"`, `"proposing"` | +| `xrpl.consensus.proposers` | int64 | `consensus.proposal.send`, `consensus.accept` | Number of proposers in the round | +| `xrpl.consensus.proposing` | boolean | `consensus.validation.send` | Whether this node was a proposer | +| `xrpl.consensus.ledger.seq` | int64 | `consensus.ledger_close`, `consensus.accept`, `consensus.validation.send`, `consensus.accept.apply` | Ledger sequence number | +| `xrpl.consensus.close_time` | int64 | `consensus.accept.apply` | Agreed-upon ledger close time (epoch seconds) | +| `xrpl.consensus.close_time_correct` | boolean | `consensus.accept.apply` | Whether validators reached agreement on close time | +| `xrpl.consensus.close_resolution_ms` | int64 | `consensus.accept.apply` | Close time rounding granularity in milliseconds | +| `xrpl.consensus.state` | string | `consensus.accept.apply` | Consensus outcome: `"finished"` or `"moved_on"` | +| `xrpl.consensus.round_time_ms` | int64 | `consensus.accept.apply` | Total consensus round duration in milliseconds | **Jaeger query**: Tag `xrpl.consensus.mode=proposing` to find rounds where node was proposing.