Pratik Mankawde
0aebf47df4
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-27 17:03:59 +01:00
Pratik Mankawde
23d5271eb6
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-27 16:58:48 +01:00
Pratik Mankawde
58fa19735e
Merge branch 'pratik/otel-phase1c-rpc-integration' into pratik/otel-phase2-rpc-tracing
...
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com >
2026-07-27 16:56:51 +01:00
Pratik Mankawde
7e5f726388
Merge branch 'pratik/otel-phase1b-telemetry-infra' into pratik/otel-phase1c-rpc-integration
2026-07-27 16:56:15 +01:00
Pratik Mankawde
42a6fe8885
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-27 16:55:39 +01:00
Pratik Mankawde
a5299f86f7
Merge branch 'develop' into pratik/otel-phase1a-plan-docs
...
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com >
2026-07-27 16:54:28 +01:00
Ayaz Salikhov
9466ecb5c2
ci: Group github-actions dependabot updates ( #7876 )
2026-07-27 14:32:53 +00:00
Sergey Kuznetsov
e0aa50c4be
ci: Update CI image and prepare-runner action ( #7874 )
2026-07-27 14:18:01 +00:00
Andrzej Budzanowski
29120dfcbd
test: Migrate nodestore tests from Beast to GTest ( #7292 )
...
Co-authored-by: Marek Foss <marek.foss@neti-soft.com >
Co-authored-by: Alex Kremer <akremer@ripple.com >
2026-07-27 13:00:14 +00:00
Andrzej Budzanowski
20801d98ac
test: Improve the server status test to not race and randomly fail ( #7304 )
...
Co-authored-by: Alex Kremer <akremer@ripple.com >
2026-07-27 11:58:15 +00:00
dependabot[bot]
b878818e80
ci: [DEPENDABOT] bump actions/checkout from 7.0.0 to 7.0.1 ( #7871 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-27 09:55:01 +00:00
Sergey Kuznetsov
fecfc0cf3f
chore: Fix clang version in devshell ( #7860 )
...
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
2026-07-24 17:30:20 +00:00
Ayaz Salikhov
ea0a6904f0
chore: Verify tooling version for Nix-managed environments ( #7862 )
2026-07-24 15:52:45 +00:00
Pratik Mankawde
ffa782ca96
Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-consensus-tracing
...
# Conflicts:
# include/xrpl/telemetry/SpanNames.h
2026-07-24 16:07:03 +01:00
Pratik Mankawde
fb76c43307
feat(telemetry): correlate tx spans to the ledger being worked on
...
Add shared current_ledger_seq / current_ledger_hash span attributes so a
transaction's work can be joined to the ledger trace that produced it, and
fix discrepancy D1 (txq.enqueue was a detached trace root).
- Define current_ledger_seq / current_ledger_hash once in SpanNames.h and
re-export via `using` from TxQ/TxApply/Tx span-name headers. These name the
ledger being worked on (open/tentative apply or in-flight consensus build),
distinct from ledger_seq (the built/validated ledger on ledger.build /
consensus.round). Named after the RPC field ledger_current_index.
- txq.enqueue: set current_ledger_seq/hash from the view, and parent the span
to the caller's tx.process span via an explicit captured SpanContext (new
trailing TxQ::apply param) instead of a detached root. The parent is
explicit, not ambient-inherited, and the ScopedSpanGuard scope is RAII-bound
to the synchronous apply, so it cannot leak onto a reused worker (D1 fix).
On the open-ledger rebuild path no tx.process context exists, so it stays a
root and the attribute provides the correlation.
- tx.preclaim / tx.transactor: set both attributes from their ledger view.
tx.preflight is stateless (no view) and is the documented exception.
- tx.process / tx.receive: set current_ledger_seq from the current open ledger
index at submit/receive time (no hash: not yet applied to a ledger).
- Contract test pins the two new attribute key strings.
Neither key is a spanmetrics dimension, so there is no metric-cardinality
impact. Dashboards/collector/docs land on the later phases per the chain split.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-24 16:03:42 +01:00
Ayaz Salikhov
29d74142ae
build: Patсh binary in local Linux nix environment ( #7859 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-07-24 14:59:24 +00:00
Pratik Mankawde
0a76df5f3c
Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-consensus-tracing
...
# Conflicts:
# include/xrpl/telemetry/SpanGuard.h
# src/libxrpl/telemetry/SpanGuard.cpp
2026-07-24 12:28:08 +01:00
Pratik Mankawde
6165a26fed
Merge branch 'pratik/otel-phase1c-rpc-integration' into pratik/otel-phase2-rpc-tracing
2026-07-24 12:25:36 +01:00
Pratik Mankawde
07b8e90bd5
Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3-tx-tracing
2026-07-24 12:25:36 +01:00
Pratik Mankawde
0feb356d42
Merge branch 'pratik/otel-phase1b-telemetry-infra' into pratik/otel-phase1c-rpc-integration
2026-07-24 12:25:35 +01:00
Pratik Mankawde
017c82eeee
make span functions noexcept
...
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com >
2026-07-24 12:20:35 +01:00
Kassaking7
9afa1cf4d1
fix: Update PermissionedDEX invariant domain tracking for valid offer replacement ( #7387 )
...
Co-authored-by: Bart <bthomee@users.noreply.github.com >
2026-07-23 21:40:21 +00:00
Ed Hennis
7908aec2ec
feat: Check default fields are not default when serializing ( #6267 )
...
Co-authored-by: Vito <5780819+Tapanito@users.noreply.github.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
Co-authored-by: Bart <bthomee@users.noreply.github.com >
2026-07-23 21:39:11 +00:00
Marek Foss
4c0180b3db
test: Migrate csf and xrpld-consensus Beast non-JTx tests to GTest ( #7046 )
...
Co-authored-by: Alex Kremer <akremer@ripple.com >
2026-07-23 21:38:21 +00:00
Marek Foss
4acccfeda8
test: Modularize Peerfinder component and migrate Peerfinder tests from Beast to GTest and GMock ( #7054 )
...
Co-authored-by: Alex Kremer <akremer@ripple.com >
2026-07-23 21:00:06 +00:00
Ed Hennis
b89d75a2d5
test: Add an RAII class to manage the env.parseFailureExpected flag ( #7669 )
2026-07-23 20:57:00 +00:00
Ayaz Salikhov
40cdf49d15
build: Use custom libc in a devshell by default ( #7852 )
2026-07-23 19:05:24 +00:00
Mayukha Vadari
38c54c3f36
feat: Add fixCleanup3_4_0 amendment (no functionality yet) ( #7854 )
2026-07-23 18:50:59 +00:00
Sergey Kuznetsov
95e1ffea6e
ci: Add llvm-tools-preview to rust toolchain ( #7853 )
2026-07-23 16:49:44 +00:00
Pratik Mankawde
9ee75bba94
Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-consensus-tracing
...
Carries the telemetry.md doc refresh (coro-aware SpanGuard model) forward.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-23 14:25:55 +01:00
Pratik Mankawde
435252d851
Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3-tx-tracing
...
Carries the telemetry.md doc refresh (coro-aware SpanGuard model) forward.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-23 14:25:55 +01:00
Pratik Mankawde
5579098068
Merge branch 'pratik/otel-phase1c-rpc-integration' into pratik/otel-phase2-rpc-tracing
...
Carries the telemetry.md doc refresh (coro-aware SpanGuard model) forward.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-23 14:25:54 +01:00
Pratik Mankawde
17866bcc8e
Merge branch 'pratik/otel-phase1b-telemetry-infra' into pratik/otel-phase1c-rpc-integration
...
Carries the telemetry.md doc refresh (coro-aware SpanGuard model) forward.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-23 14:25:54 +01:00
Pratik Mankawde
7a19cb6da6
docs(telemetry): update SpanGuard model — coro-aware scopes, ScopedActivation, drop removed rootSpan/detached
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-23 14:24:43 +01:00
Pratik Mankawde
88c83e6f34
Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-consensus-tracing
...
Carries the tx activation-site dedup (activateIfLive) forward.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-23 14:07:54 +01:00
Pratik Mankawde
a2c50245af
refactor(telemetry): use activateIfLive helper at consensus accept site
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-23 14:07:11 +01:00
Pratik Mankawde
9f5a095079
refactor(telemetry): use activateIfLive helper at tx activation sites
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-23 14:02:15 +01:00
Pratik Mankawde
34dfc4edf0
Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-consensus-tracing
...
Brings review fixes: no-alloc GetCurrent hot path, activateIfLive helper,
non-copyable storage, accurate drop-counter doc.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-23 13:59:05 +01:00
Pratik Mankawde
8fddbe84a3
Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3-tx-tracing
...
Brings review fixes: no-alloc GetCurrent hot path, activateIfLive helper,
non-copyable storage, accurate drop-counter doc.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-23 13:59:02 +01:00
Pratik Mankawde
842f994dbb
Merge branch 'pratik/otel-phase1c-rpc-integration' into pratik/otel-phase2-rpc-tracing
...
Brings review fixes: no-alloc GetCurrent hot path, activateIfLive helper,
non-copyable storage, accurate drop-counter doc.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-23 13:59:01 +01:00
Pratik Mankawde
be78519581
Merge branch 'pratik/otel-phase1b-telemetry-infra' into pratik/otel-phase1c-rpc-integration
...
Brings review fixes: no-alloc GetCurrent hot path, activateIfLive helper,
non-copyable storage, accurate drop-counter doc.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-23 13:58:58 +01:00
Pratik Mankawde
c209829c44
refactor(telemetry): no-alloc GetCurrent hot path, activateIfLive helper, non-copyable storage, accurate drop-counter doc
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-23 13:50:16 +01:00
Sergey Kuznetsov
74cfb3586a
ci: Update CI image ( #7850 )
2026-07-23 11:21:49 +00:00
Ayaz Salikhov
0072ced94c
ci: Update XRPLF/actions ( #7849 )
2026-07-23 10:22:18 +00:00
Pratik Mankawde
c4315b1551
Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-consensus-tracing
...
Brings M1 (dropped-deterministic-id counter) + M2 (childSpan doc) forward.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-22 23:14:45 +01:00
Pratik Mankawde
94459bea19
Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3-tx-tracing
...
Brings M1 (dropped-deterministic-id counter) + M2 (childSpan doc) forward.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-22 23:14:41 +01:00
Pratik Mankawde
45cf7cccd0
Merge branch 'pratik/otel-phase1c-rpc-integration' into pratik/otel-phase2-rpc-tracing
...
Brings M1 (dropped-deterministic-id counter) + M2 (childSpan doc) forward.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-22 23:14:39 +01:00
Pratik Mankawde
fe0bfe5147
Merge branch 'pratik/otel-phase1b-telemetry-infra' into pratik/otel-phase1c-rpc-integration
...
Brings M1 (release-visible dropped-deterministic-id counter) + M2 (childSpan doc) forward.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-22 23:14:22 +01:00
Pratik Mankawde
8c86e01ace
feat(telemetry): release-visible counter for dropped deterministic trace_id; clarify childSpan(name) doc
...
M1: ~PendingTraceId now increments a process-wide atomic counter when a
pinned deterministic trace_id is destroyed unconsumed, so the silent drop
stays observable in release builds where the existing XRPL_ASSERT is a
no-op. Exposed via unconsumedDeterministicIdDrops() for a future metric.
The deterministic trace_id bytes, the GenerateTraceId() consume logic, and
the unconditional reset() are all unchanged.
M2: tighten the Doxygen on SpanGuard::childSpan(std::string_view) to state
it parents to the current ambient context of this store (meaningful only
when a scope/ScopedSpanGuard/ScopedActivation is active) and to point
callers at childSpan(name, ctx) for explicit cross-store parenting.
Doc-only; no behavior change.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-22 23:10:49 +01:00
Pratik Mankawde
737bd7211e
feat(telemetry): correlate consensus doAccept logs via non-owning span activation
...
Activate the accept span as ambient context at the top of doAccept using the
non-owning ScopedActivation, so doAccept's log lines (and any spans created in
the body) carry the accept span's trace_id. doAccept runs to completion on the
JtAccept worker with no coroutine yield, so the activation is thread-local and
safe; the acceptSpan still owns and ends the span. The accept.apply child span
keeps its explicit childSpan(acceptApply, acceptSpanContext_) parentage --
activation only adds log correlation and does not alter parent linkage.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-22 22:21:08 +01:00