feat: Phase 5b: Add ledger/peer/tx spans + expand Grafana dashboards - #6433
Closed
pratikmankawde wants to merge 31 commits into
Closed
feat: Phase 5b: Add ledger/peer/tx spans + expand Grafana dashboards#6433pratikmankawde wants to merge 31 commits into
pratikmankawde wants to merge 31 commits into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## pratik/otel-phase5-docs-deployment #6433 +/- ##
====================================================================
- Coverage 81.3% 81.3% -0.0%
====================================================================
Files 1000 1000
Lines 74764 74764
Branches 7631 7644 +13
====================================================================
- Hits 60779 60771 -8
- Misses 13985 13993 +8
🚀 New features to boost your workflow:
|
This was referenced Feb 26, 2026
pratikmankawde
force-pushed
the
pratik/otel-phase5-docs-deployment
branch
from
February 27, 2026 18:01
fc1ed3c to
3581839
Compare
pratikmankawde
force-pushed
the
pratik/otel-phase5b-spans
branch
from
February 27, 2026 18:03
2194022 to
261caa2
Compare
pratikmankawde
force-pushed
the
pratik/otel-phase5-docs-deployment
branch
from
February 27, 2026 18:06
3581839 to
56cc5e6
Compare
pratikmankawde
force-pushed
the
pratik/otel-phase5b-spans
branch
from
February 27, 2026 18:06
261caa2 to
4fce0da
Compare
pratikmankawde
force-pushed
the
pratik/otel-phase5-docs-deployment
branch
from
February 27, 2026 18:16
56cc5e6 to
85f583f
Compare
pratikmankawde
force-pushed
the
pratik/otel-phase5b-spans
branch
from
February 27, 2026 18:16
4fce0da to
e2b2589
Compare
pratikmankawde
force-pushed
the
pratik/otel-phase5-docs-deployment
branch
from
March 6, 2026 16:23
85f583f to
93aa588
Compare
pratikmankawde
force-pushed
the
pratik/otel-phase5b-spans
branch
from
March 6, 2026 16:23
e2b2589 to
31761c5
Compare
pratikmankawde
force-pushed
the
pratik/otel-phase5-docs-deployment
branch
from
March 6, 2026 17:37
93aa588 to
87f4abe
Compare
pratikmankawde
force-pushed
the
pratik/otel-phase5b-spans
branch
2 times, most recently
from
March 6, 2026 17:48
6d0b533 to
2d9b5c7
Compare
pratikmankawde
force-pushed
the
pratik/otel-phase5-docs-deployment
branch
from
March 8, 2026 18:28
ecade9c to
3c3fb44
Compare
pratikmankawde
force-pushed
the
pratik/otel-phase5b-spans
branch
2 times, most recently
from
March 8, 2026 18:59
294f01a to
fbecd74
Compare
pratikmankawde
force-pushed
the
pratik/otel-phase5-docs-deployment
branch
from
March 8, 2026 19:05
0c29397 to
27d208a
Compare
pratikmankawde
force-pushed
the
pratik/otel-phase5b-spans
branch
from
March 8, 2026 19:05
fbecd74 to
e95ae38
Compare
pratikmankawde
force-pushed
the
pratik/otel-phase5-docs-deployment
branch
from
March 8, 2026 19:30
27d208a to
cf2a9f3
Compare
…nfig Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…iring Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…nfig Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…nfig Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…rd parity Adds node health context (amendment_blocked, server_state) to rpc.command.* spans, inspired by the community xrpl-validator-dashboard. Part of the external dashboard parity initiative across phases 2-11. See docs/superpowers/specs/2026-03-30-external-dashboard-parity-design.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add amendment_blocked and server_state span attributes to every rpc.command.* span so operators can correlate RPC behavior with node state. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…sk lists Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… NetworkOPs Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ard parity Adds xrpl.peer.version attribute to tx.receive spans for version-mismatch correlation during network upgrades. Part of the external dashboard parity initiative across phases 2-11. See docs/superpowers/specs/2026-03-30-external-dashboard-parity-design.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… 3.7) Tag transaction receive spans with the relaying peer's rippled version to enable version-mismatch correlation during network upgrades. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… close time Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…dashboard parity Adds ledger_hash, validation.full to validation send/receive spans, and validation_quorum, proposers_validated to consensus.accept spans. Foundation for Phase 7 ValidationTracker agreement computation. Part of the external dashboard parity initiative across phases 2-11. See docs/superpowers/specs/2026-03-30-external-dashboard-parity-design.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add validation ledger hash and full-validation flag to consensus.validation.send spans, plus quorum and proposer count to consensus.accept spans for trace-level agreement analysis. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…span Move validation_quorum and proposers_validated attributes from consensus.accept.apply to consensus.accept span to match the design spec. Both values are available in onAccept() scope. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ucture Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Move xrpld data paths from ./data/ to docker/telemetry/data/ so runtime files stay within the docker telemetry directory. Add .gitignore to exclude the data directory from version control. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… Tempo API Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… span (Task 4.8) Add ledger hash and full-validation flag to peer.validation.receive spans for trace-level agreement analysis across validators. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The xrpld/app/misc/CanonicalTXSet.h header doesn't exist — it was incorrectly added during a rebase conflict resolution. The correct include xrpl/ledger/CanonicalTXSet.h is already present. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
pratikmankawde
force-pushed
the
pratik/otel-phase5-docs-deployment
branch
from
April 1, 2026 10:02
58aa308 to
87ed778
Compare
pratikmankawde
force-pushed
the
pratik/otel-phase5b-spans
branch
from
April 1, 2026 10:02
4f8197e to
cfa57cd
Compare
pratikmankawde
force-pushed
the
pratik/otel-phase5-docs-deployment
branch
from
April 24, 2026 22:17
87ed778 to
360ecbd
Compare
|
This PR has conflicts, please resolve them in order for the PR to be reviewed. |
Contributor
Author
|
Phase 5b content has been absorbed into Phase 6 (#6439) during the rebase of the PR chain onto the updated Phase 3 base. All spans (ledger.build, tx.apply, ledger.store, ledger.validate, peer.proposal.receive, peer.validation.receive), dashboards (ledger-operations, peer-network), TESTING.md updates, and codecov exclusions are now part of the Phase 6 commit. Closing as merged-by-absorption. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
High Level Overview of Change
Add 6 new OpenTelemetry spans to instrument ledger building, ledger validation,
ledger storage, transaction application, and peer proposal/validation message
receipt. Expand all Grafana dashboards from 4 to 8 panels each and add 2 new
dashboards (Ledger Operations, Peer Network), bringing the total to 32 panels
across 5 dashboards. Each panel now includes a description explaining what it
shows and how the PromQL query calculates the metric.
Context of Change
Phase 5a (the base branch `pratik/otel-phase5-docs-deployment`) delivered
consensus spans, the observability stack (otel-collector, Jaeger, Tempo, Prometheus,
Grafana), and integration tests. During review, we identified that the
`trace_ledger` config category existed with its `XRPL_TRACE_LEDGER` macro but
had zero spans using it, and `trace_peer` had only 1 span (`tx.receive`).
Dashboard panels were limited to 4 per dashboard with no panel descriptions.
This PR fills those gaps:
New spans (6, bringing total from 10 to 16):
Dashboard changes (12 → 32 panels):
All traces viewable in both Jaeger and Grafana Tempo via OTel Collector fan-out.
Type of Change
API Impact
None. This change only adds internal observability instrumentation (OpenTelemetry
spans) and Docker-based Grafana dashboards. No public API, libxrpl, or peer
protocol changes.
Test Plan
Integration test (`bash docker/telemetry/integration-test.sh`) passes 24/24
with all 16 span types verified across a 6-node consensus network: