Pratik Mankawde
188de0a5f3
feat(telemetry): add pre-quorum bootstrap sync diagnostics (WP-A1)
...
A freshly started node most often stalls before it ever peers or reaches
quorum, and that whole chain had no telemetry. Adds the six signals that
make it observable:
- dns_resolve_total / dns_resolve_latency_ms: configured-peer hostname
resolution, emitted from OverlayImpl so libxrpl stays independent.
- overlay_connect_total / overlay_dial_latency_ms: outbound dial outcome
by terminal reason, plus dial duration.
- handshake_negotiation_fail_total: protocol and network-id negotiation
rejections, labelled by reason, so a misconfigured network is no longer
indistinguishable from unreachable peers.
- unl_fetch_total and the unl_quorum gauge: validator-list fetch outcome
per site and trusted key count against the required quorum. Without
these a bad validators.txt leaves the node syncing forever with no
signal.
- clock_close_offset_seconds: network close-time offset, which server_info
hides below 60s but which stalls consensus participation.
Panels land in the Bootstrap row of the Ledger Sync Health dashboard, the
metrics are asserted by the workload validator, and both the reference and
the runbook flow describe them.
Levelization baseline regenerated: overlay now includes MetricMacros.h, so
the overlay/telemetry pair is reported one-way instead of bidirectional.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-25 07:53:20 +01:00
Pratik Mankawde
68bf633955
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-phase9-metric-gap-fill
...
Brings coroutine-aware context storage + tx/consensus worker-body activation.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-22 22:48:16 +01:00
Pratik Mankawde
3d495f9622
Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-native-metrics
...
Brings coroutine-aware context storage + tx/consensus worker-body activation.
Resolved: Telemetry.cpp keeps both meterProvider_ (phase-7) and contextStorage_
(coro-aware); doc-09 keeps phase-7 structure and applies the pathfind.request →
rpc.command.<name> correction to phase-7's own PathFind section.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-22 22:46:54 +01:00
Pratik Mankawde
7de0229450
Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-consensus-tracing
...
Brings coroutine-aware context storage + tx worker-body activation forward.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-22 22:15:38 +01:00
Pratik Mankawde
6706f3cc5f
Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3-tx-tracing
...
Brings coroutine-aware context storage, scoped rpc.command, coro-store-swap
tests, and the scoped pathfind.request forward.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-22 21:58:57 +01:00
Pratik Mankawde
d6ec7ce8af
Merge branch 'pratik/otel-phase1c-rpc-integration' into pratik/otel-phase2-rpc-tracing
...
Brings coroutine-aware context storage + scoped rpc.command spans forward.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-22 20:05:35 +01:00
Pratik Mankawde
6a9eaedeac
Merge branch 'pratik/otel-phase1b-telemetry-infra' into pratik/otel-phase1c-rpc-integration
...
Brings coroutine-aware OTel context storage forward: CoroAwareContextStorage,
its install in Telemetry, ScopedSpanGuard same-store assertion, and the
non-owning ScopedActivation helper.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-22 19:49:26 +01:00
Pratik Mankawde
f1b7104bb8
feat(telemetry): coroutine-aware OTel context storage
...
Backs the OTel active-context stack with xrpl::LocalValue so the ambient
context follows a JobQueue::Coro across yield/resume. Not yet installed.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-22 16:56:16 +01:00
Pratik Mankawde
30b0d2677a
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-phase9-metric-gap-fill
...
# Conflicts:
# src/xrpld/telemetry/ValidationTracker.h
2026-07-20 17:57:08 +01:00
Pratik Mankawde
367fa87da8
chore(telemetry): normalize remaining triple-slash Doxygen comments + refresh levelization
...
Convert leading /// blocks to house-style /** */ across the telemetry
files carried on this branch (using the updated fix_doxy.py). Also
regenerate levelization results. Comment-only: code is byte-identical.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-20 17:42:04 +01:00
Pratik Mankawde
c1f004ec22
Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-native-metrics
...
# Conflicts:
# include/xrpl/telemetry/Telemetry.h
# src/libxrpl/telemetry/TelemetryConfig.cpp
2026-07-20 17:40:30 +01:00
Pratik Mankawde
c155a1e242
Merge branch 'pratik/otel-phase4-consensus-tracing' into pratik/otel-phase5-docs-deployment
...
# Conflicts:
# include/xrpl/telemetry/Telemetry.h
2026-07-20 17:22:02 +01:00
Pratik Mankawde
84729d8eaa
Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-consensus-tracing
2026-07-20 17:19:52 +01:00
Pratik Mankawde
6e99da094c
Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3-tx-tracing
2026-07-20 17:19:07 +01:00
Pratik Mankawde
abd05cb939
Merge branch 'pratik/otel-phase1c-rpc-integration' into pratik/otel-phase2-rpc-tracing
...
# Conflicts:
# .github/scripts/levelization/results/loops.txt
2026-07-20 17:18:53 +01:00
Pratik Mankawde
daea7fa34f
Merge branch 'pratik/otel-phase1b-telemetry-infra' into pratik/otel-phase1c-rpc-integration
...
# Conflicts:
# include/xrpl/telemetry/Telemetry.h
2026-07-20 17:17:20 +01:00
Pratik Mankawde
8b9cb43824
chore(telemetry): normalize Doxygen comment style + refresh levelization
...
Bring the 5 telemetry files introduced on this branch to the enforced
house Doxygen style (/** alone, ' * ' continuation prefix, no single-line
blocks) so the check-doxygen-style hook passes under CI's --all-files run.
Comment-only: code is byte-identical after comment stripping (verified).
Also regenerate levelization results: the committed ordering.txt carried
stale 'xrpl.telemetry > xrpld.consensus/rpc' edges that the current include
graph no longer produces.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-20 17:09:43 +01:00
Pratik Mankawde
de49319b31
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-phase9-metric-gap-fill
2026-07-20 12:19:45 +01:00
Pratik Mankawde
4908b82077
Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-native-metrics
2026-07-20 12:19:28 +01:00
Pratik Mankawde
c3b1f69ba8
Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-consensus-tracing
...
# Conflicts:
# include/xrpl/telemetry/SpanGuard.h
# src/xrpld/app/consensus/RCLConsensus.h
# src/xrpld/consensus/ConsensusTypes.h
2026-07-20 12:10:44 +01:00
Pratik Mankawde
4e9b2f23d6
Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3-tx-tracing
...
# Conflicts:
# include/xrpl/telemetry/SpanGuard.h
# src/libxrpl/telemetry/SpanGuard.cpp
# src/libxrpl/tx/applySteps.cpp
2026-07-20 12:03:57 +01:00
Pratik Mankawde
d7a014ae95
Merge branch 'pratik/otel-phase1c-rpc-integration' into pratik/otel-phase2-rpc-tracing
2026-07-20 11:50:55 +01:00
Pratik Mankawde
98a2ad19fd
Merge branch 'pratik/otel-phase1b-telemetry-infra' into pratik/otel-phase1c-rpc-integration
...
# Conflicts:
# include/xrpl/telemetry/SpanGuard.h
2026-07-17 19:45:15 +01:00
Pratik Mankawde
7be57a460b
Merge branch 'pratik/otel-phase1a-plan-docs' into pratik/otel-phase1b-telemetry-infra
...
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com >
2026-07-17 14:27:46 +01:00
Andrzej Budzanowski
701311f27e
test: Add google benchmark dependency and migrate nodestore timing test as a benchmark ( #7317 )
...
Co-authored-by: Marek Foss <marek.foss@neti-soft.com >
Co-authored-by: Alex Kremer <akremer@ripple.com >
2026-07-16 15:44:43 +00:00
Ed Hennis
530e09dbe8
fix: Update base_uint and test changes released in 3.1.3 ( #7570 )
...
Co-authored-by: Sergey Kuznetsov <skuznetsov@ripple.com >
Co-authored-by: xrplf-ai-reviewer[bot] <266832837+xrplf-ai-reviewer[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
2026-07-14 18:48:10 +00:00
Pratik Mankawde
9819abba3a
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-phase9-metric-gap-fill
2026-07-08 16:02:58 +01:00
Pratik Mankawde
12060bc219
Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-native-metrics
2026-07-08 16:02:58 +01:00
Pratik Mankawde
a8ce1408a9
Merge branch 'pratik/otel-phase1b-telemetry-infra' into pratik/otel-phase1c-rpc-integration
2026-07-08 16:02:51 +01:00
Pratik Mankawde
c0a3e113d9
Merge branch 'pratik/otel-phase1c-rpc-integration' into pratik/otel-phase2-rpc-tracing
2026-07-08 16:02:51 +01:00
Pratik Mankawde
02b32ecdd8
Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-consensus-tracing
2026-07-08 16:02:51 +01:00
Pratik Mankawde
61ae9998e1
Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3-tx-tracing
2026-07-08 16:02:51 +01:00
Pratik Mankawde
22f5b77e0c
Merge branch 'pratik/otel-phase1a-plan-docs' into pratik/otel-phase1b-telemetry-infra
2026-07-08 16:02:43 +01:00
Pratik Mankawde
8919be22bf
levelization
...
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com >
2026-07-07 17:53:45 +01:00
Pratik Mankawde
dce39bc71d
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-phase9-metric-gap-fill
...
# Conflicts:
# OpenTelemetryPlan/08-appendix.md
# OpenTelemetryPlan/presentation.md
# docker/telemetry/xrpld-telemetry.cfg
# docs/telemetry-runbook.md
2026-07-06 22:06:45 +01:00
Pratik Mankawde
363c2caf94
Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-native-metrics
...
# Conflicts:
# OpenTelemetryPlan/08-appendix.md
# OpenTelemetryPlan/09-data-collection-reference.md
# docker/telemetry/docker-compose.yml
# docker/telemetry/grafana/dashboards/statsd-ledger-data-sync.json
# docker/telemetry/grafana/dashboards/statsd-network-traffic.json
# docker/telemetry/grafana/dashboards/statsd-node-health.json
# docker/telemetry/grafana/dashboards/statsd-rpc-pathfinding.json
2026-07-06 22:01:22 +01:00
Pratik Mankawde
ea9c639ee9
Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-consensus-tracing
...
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com >
2026-07-06 20:50:24 +01:00
Marek Foss
f5e63f8a91
test: Migrate basics Beast tests to GTest ( #7136 )
...
Co-authored-by: Alex Kremer <akremer@ripple.com >
2026-07-06 19:48:36 +00:00
Pratik Mankawde
e02b7968ad
Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3-tx-tracing
...
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com >
2026-07-06 20:41:14 +01:00
Pratik Mankawde
38f6afbf4c
code review comments
...
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com >
2026-07-06 20:40:12 +01:00
Pratik Mankawde
7a6ff619e5
code review changes
...
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com >
2026-07-06 20:37:08 +01:00
Marek Foss
7a153a2bce
test: Migrate resource, shamap Beast tests to GTest ( #7133 )
...
Co-authored-by: Alex Kremer <akremer@ripple.com >
2026-07-06 17:26:19 +00:00
Pratik Mankawde
206d386469
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-phase9-metric-gap-fill
...
# Conflicts:
# src/xrpld/app/ledger/InboundLedger.h
# src/xrpld/perflog/detail/PerfLogImp.cpp
2026-07-06 17:17:21 +01:00
Pratik Mankawde
fd518d3e7b
Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-native-metrics
...
# Conflicts:
# .github/scripts/levelization/results/ordering.txt
# include/xrpl/beast/insight/Insight.h
# src/test/csf/Peer.h
2026-07-06 17:15:27 +01:00
Pratik Mankawde
e969b0c6ed
Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-consensus-tracing
...
# Conflicts:
# src/test/csf/Peer.h
# src/xrpld/app/consensus/RCLConsensus.h
2026-07-06 17:11:29 +01:00
Pratik Mankawde
33c17e50b3
Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3-tx-tracing
2026-07-06 17:09:47 +01:00
Pratik Mankawde
e129b0793c
Merge branch 'pratik/otel-phase1c-rpc-integration' into pratik/otel-phase2-rpc-tracing
...
# Conflicts:
# src/tests/libxrpl/CMakeLists.txt
2026-07-06 17:09:33 +01:00
Pratik Mankawde
45aa2f276a
Merge branch 'pratik/otel-phase1b-telemetry-infra' into pratik/otel-phase1c-rpc-integration
...
# Conflicts:
# .github/scripts/levelization/results/loops.txt
2026-07-06 17:08:46 +01:00
Pratik Mankawde
3789ac45e2
Merge branch 'pratik/otel-phase1a-plan-docs' into pratik/otel-phase1b-telemetry-infra
...
# Conflicts:
# conan.lock
# conan/profiles/default
# conanfile.py
2026-07-06 17:07:23 +01:00
Ayaz Salikhov
8e378c4f47
build: Add verify-headers target to cleanup headers ( #7670 )
2026-07-01 23:14:17 +00:00