Pratik Mankawde
d4e91b462e
fix(telemetry): resolve clang-tidy warnings in Telemetry interfaces
...
Use C++17 concatenated namespaces, add [[nodiscard]] to query methods,
add missing direct includes, and use pass-by-value + std::move in
NullTelemetry constructor.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-29 11:16:21 +01:00
Pratik Mankawde
59ee027d8a
fix(telemetry): resolve clang-tidy warnings in SpanGuard.h
...
- Concatenate nested namespaces (modernize-concat-nested-namespaces)
- Add [[nodiscard]] to factory and accessor methods
- NOLINT no-op stub instance methods that must stay non-static for API
parity with the real implementation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-28 14:26:05 +01:00
Pratik Mankawde
7aa4486741
refactor(telemetry): remove unused SpanGuard::span(name) overload
...
Remove the single-arg span(name) factory that creates unconditional
spans without category gating. All call sites use the 3-arg
span(TraceCategory, prefix, name) variant which checks whether the
category is enabled in config before creating a span. The 1-arg form
was dead code with no callers.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-28 14:26:05 +01:00
Pratik Mankawde
573593ae31
refactor(telemetry): replace per-category factory methods with TraceCategory enum
...
Replace rpcSpan(), txSpan(), consensusSpan(), peerSpan(), ledgerSpan()
with a single span(TraceCategory, prefix, name) factory method. Adding
a new traceable subsystem now requires only a new enum value and one
switch case — no new methods or header changes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-28 14:26:05 +01:00
Pratik Mankawde
a5c405f4be
fix(telemetry): address Phase 1b code review findings
...
- SpanContext::isValid(): add inline no-op when XRPL_ENABLE_TELEMETRY
is not defined, preventing a linker error if called in that path
- linkedSpan(): set kIsRootSpanKey on the StartSpanOptions parent
context so linked spans start a genuinely independent sub-tree
instead of silently becoming children of the current active span
- Telemetry::instance_: use std::atomic with acquire/release ordering
to avoid a data race between start()/stop() and factory methods
called from worker threads
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-28 14:26:05 +01:00
Pratik Mankawde
e9c5c3520e
fix(telemetry): address Phase 1b code review findings
...
Redesign SpanGuard with pimpl idiom to hide all OpenTelemetry types
from public headers. Add global Telemetry accessor so SpanGuard factory
methods work without explicit Telemetry references. Add child/linked
span creation and cross-thread context propagation. Update plan docs
to reflect macro removal in favor of SpanGuard factory pattern.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-28 14:26:05 +01:00
Pratik Mankawde
4bb2030315
feat(telemetry): add FilteringSpanProcessor and SpanGuard::discard()
...
Add span discard mechanism that drops unwanted spans before they enter
the batch export queue, saving both network bandwidth and storage.
FilteringSpanProcessor is a custom SpanProcessor decorator that wraps
BatchSpanProcessor. SpanGuard::discard() sets a thread-local flag
(tl_discardCurrentSpan) before calling Span::End(). The OTel SDK calls
OnEnd() synchronously on the same thread, where the flag is checked and
cleared to drop the span.
New file: DiscardFlag.h — zero-dependency header for the thread-local
flag, avoiding transitive include bloat from Telemetry.h.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-28 14:25:31 +01:00
Pratik Mankawde
3852b5ae4b
fix(telemetry): address review findings and PR #6437 comments
...
Critical fixes:
- Restore accidentally removed mallocTrim call and MallocTrim.h include
- Add missing shouldTraceLedger() to interface and all implementations
- Derive networkId/networkType from config_->NETWORK_ID (0=mainnet,
1=testnet, 2=devnet) instead of leaving defaults unpopulated
- Clamp sampling_ratio to [0.0, 1.0] in config parser
PR comment fixes:
- Rename rippled -> xrpld in service name defaults, getTracer() calls,
Docker network, comments, and docs/build/telemetry.md
- Remove exporter config option (only otlp_http supported)
- Add trace_ledger and service_name to example config
- Clarify head-based sampling semantics in config comments
- Add filter descriptions for span intrinsic filters in Grafana datasource
- Add inline comments to Docker Compose services
Docker/config improvements:
- Remove deprecated version: "3.8" from docker-compose.yml
- Pin images: collector 0.121.0, grafana 11.5.2
- Add health_check extension to otel-collector-config.yaml
- Comment out Tempo metrics_generator remote_write (no Prometheus service)
- Add Prometheus datasource caveat in Grafana datasource config
Other:
- Revert unrelated formatting changes in ServiceRegistry.h
- Change Conan telemetry default to False (matches CMake OFF)
- Add CLAUDE.md-required docs (ASCII diagrams, usage examples,
@note thread-safety) to Telemetry.h and SpanGuard.h
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-28 14:25:31 +01:00
Pratik Mankawde
88686af850
Phase 1b: Telemetry core infrastructure - CMake, Conan, SpanGuard, config
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-28 14:25:31 +01:00
Vito Tumas
147da57348
feat: Add cleanup amendment for 3.2.0 ( #7037 )
2026-04-28 10:22:32 +00:00
Pratik Mankawde
3547112540
fix: Fix ubsan flagged issues ( #6151 )
...
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com >
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: xrplf-ai-reviewer[bot] <266832837+xrplf-ai-reviewer[bot]@users.noreply.github.com>
2026-04-27 20:34:16 +00:00
Alex Kremer
4dc923dcc5
chore: Enable clang-tidy modernize-use-nodiscard check ( #7015 )
2026-04-24 17:19:30 +00:00
Pratik Mankawde
158df5394c
fix: Resolve MSVC Debug build failure in JobQueue.h; re-enable _CRTDBG_MAP_ALLOC in CI ( #6993 )
...
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com >
Co-authored-by: Ed Hennis <ed@ripple.com >
2026-04-24 16:47:16 +00:00
Mayukha Vadari
7cfa5d4610
fix: Make assorted Payments fixes ( #6585 )
2026-04-24 12:56:50 +00:00
Mayukha Vadari
248cb29681
refactor: Move LendingHelpers into libxrpl/ledger/helpers ( #6638 )
...
Co-authored-by: xrplf-ai-reviewer[bot] <266832837+xrplf-ai-reviewer[bot]@users.noreply.github.com>
2026-04-24 12:06:26 +00:00
Alex Kremer
19da25812b
fix: Remaining clang-tidy unchecked optionals ( #6979 )
2026-04-23 16:21:01 +00:00
Jingchen
7cd503859e
refactor: Remove seq from TMGetObjectByHash ( #6976 )
2026-04-23 13:59:23 +00:00
Mayukha Vadari
1c6cdc653c
fix: More clang-tidy issues ( #6992 )
2026-04-22 17:42:15 +00:00
Vito Tumas
2e307329f0
refactor: Add transaction-specific invariant checking ( #6551 )
2026-04-22 14:41:19 +00:00
Alex Kremer
ce3951bbb3
chore: Enable clang-tidy modernize checks ( #6975 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
Co-authored-by: Bart <bthomee@users.noreply.github.com >
2026-04-21 15:32:51 +00:00
Alex Kremer
ea023121f5
fix: Add rounding to Vault invariants ( #6217 ) ( #6955 )
...
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
Co-authored-by: Ed Hennis <ed@ripple.com >
2026-04-21 12:14:07 +00:00
Zhiyuan Wang
96643bb0fa
fix: Check for empty sfAdditionalBooks array in hybrid offer invariant ( #6716 )
2026-04-20 17:10:28 +00:00
Alex Kremer
653a383ff5
chore: Enable clang-tidy include cleaner ( #6947 )
2026-04-17 16:43:49 +00:00
Alex Kremer
f1a5ba43ad
chore: Enable clang-tidy readability checks ( #6930 )
...
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
2026-04-17 13:30:52 +00:00
Sergey Kuznetsov
d52d735543
chore: Move codegen venv setup into build stage ( #6617 )
...
Co-authored-by: JCW <a1q123456@users.noreply.github.com >
Co-authored-by: Bart <bthomee@users.noreply.github.com >
2026-04-15 18:50:49 +00:00
Alex Kremer
6a0ce46755
chore: Enable most clang-tidy bugprone checks ( #6929 )
...
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
2026-04-14 20:24:21 +00:00
Bart
2f029a2120
refactor: Improve exception handling ( #6540 ) ( #6735 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
2026-04-14 17:14:24 +00:00
Zhiyuan Wang
61fbde3a71
refactor: Remove unused notTooManyOffers function from NFTokenUtils ( #6737 )
2026-04-13 23:18:10 +00:00
yinyiqian1
d52dd29d20
fix: Address AI reviewer comments for Permission Delegation ( #6675 )
2026-04-08 20:22:19 +00:00
Mayukha Vadari
7793b5f10b
refactor: Combine AMMHelpers and AMMUtils ( #6733 )
2026-04-08 17:38:33 +00:00
Gregory Tsipenyuk
dfcad69155
feat: Add MPT support to DEX ( #5285 )
2026-04-08 16:17:37 +00:00
Bart
c00ed673a8
refactor: Rename non-functional uses of ripple(d) to xrpl(d) ( #6676 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
2026-04-07 13:00:17 +00:00
Mayukha Vadari
f239256d87
refactor: Move more helper files into libxrpl/ledger/helpers ( #6731 )
...
Co-authored-by: xrplf-ai-reviewer[bot] <266832837+xrplf-ai-reviewer[bot]@users.noreply.github.com>
2026-04-06 22:36:32 +00:00
Alex Kremer
29e49abd3c
chore: Enable clang-tidy coreguidelines checks ( #6698 )
...
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
2026-04-01 15:46:14 +00:00
Alex Kremer
2502befb42
chore: Enable clang-tidy misc checks ( #6655 )
2026-03-31 17:29:45 +00:00
Bart
7f53351920
chore: Remove unnecessary clang-format off/on directives ( #6682 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
2026-03-31 15:38:04 +00:00
Alex Kremer
ab8c168e3b
chore: Enable remaining clang-tidy performance checks ( #6648 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-30 17:08:47 +00:00
Jingchen
3a477e4d01
refactor: Address PR comments after the modularisation PRs ( #6389 )
...
Signed-off-by: JCW <a1q123456@users.noreply.github.com >
Co-authored-by: Bart <bthomee@users.noreply.github.com >
2026-03-30 15:22:38 +00:00
Pratik Mankawde
3d9c545f59
fix: Guard Coro::resume() against completed coroutines ( #6608 )
...
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com >
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-27 18:52:18 +00:00
Vito Tumas
9b944ee8c2
refactor: Split LoanInvariant into LoanBrokerInvariant and LoanInvariant ( #6674 )
2026-03-27 18:35:42 +00:00
Jingchen
addc1e8e25
refactor: Make function naming in ServiceRegistry consistent ( #6390 )
...
Signed-off-by: JCW <a1q123456@users.noreply.github.com >
Co-authored-by: Ed Hennis <ed@ripple.com >
2026-03-26 14:11:16 +00:00
Vito Tumas
b9d07730f3
feat: Add placeholder amendment for assorted bug fixes ( #6652 )
2026-03-25 23:54:33 +00:00
Jingchen
8f182e825a
refactor: Modularise ledger ( #6536 )
...
Signed-off-by: JCW <a1q123456@users.noreply.github.com >
Co-authored-by: Bart <bthomee@users.noreply.github.com >
Co-authored-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com >
2026-03-25 16:32:45 +00:00
Alex Kremer
0eedefbf45
refactor: Enable more clang-tidy readability checks ( #6595 )
...
Co-authored-by: Sergey Kuznetsov <kuzzz99@gmail.com >
2026-03-24 15:42:12 +00:00
Mayukha Vadari
8b986e4ab0
refactor: Improve imports to only call the needed helpers ( #6624 )
2026-03-24 10:20:32 +00:00
Mayukha Vadari
e0dbe90370
refactor: Move ledger entry helper functions from View.h/View.cpp to dedicated helper files ( #6453 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-23 15:39:58 +00:00
Jingchen
b1e5ba0518
feat: Add code generator for transactions and ledger entries ( #6443 )
...
Signed-off-by: JCW <a1q123456@users.noreply.github.com >
Co-authored-by: Bart <bthomee@users.noreply.github.com >
2026-03-18 21:11:51 +00:00
Mayukha Vadari
d360e7c5b6
refactor: Rename transactor files/classes to match the tx name ( #6580 )
2026-03-18 19:52:07 +00:00
Alex Kremer
57e4cbbcd9
refactor: Add simple clang-tidy readability checks ( #6556 )
...
This change enables the following clang-tidy checks:
- readability-avoid-nested-conditional-operator,
- readability-avoid-return-with-void-value,
- readability-braces-around-statements,
- readability-const-return-type,
- readability-container-contains,
- readability-container-size-empty,
- readability-else-after-return,
- readability-make-member-function-const,
- readability-redundant-casting,
- readability-redundant-inline-specifier,
- readability-redundant-member-init,
- readability-redundant-string-init,
- readability-reference-to-constructed-temporary,
- readability-static-definition
2026-03-18 16:41:49 +00:00
Mayukha Vadari
b92a9a3053
fix: Make assorted NFT fixes ( #6566 )
...
This change:
* Removes a set of unnecessary brackets in the initialization of an `std::uint32_t`.
* Fixes a couple of incorrect flags (same value, just wrong variables - so no amendment needed).
2026-03-18 14:47:59 +00:00