Pratik Mankawde
4278014ab0
fix(telemetry): order the metrics pipeline by instrument kind
...
beast::insight instruments are created during ApplicationImp's member-init
list, and opentelemetry-cpp 1.28 never rebinds an already-vended Meter, so an
instrument created before the MeterProvider is published records nothing for
the rest of the process. Observable instruments carry the opposite constraint:
registering one arms the SDK reader thread, and its callbacks run hook handlers
that read services which do not exist that early.
Publish the provider in Telemetry's constructor, ahead of every producer, and
defer only the observables. Collector gains onCollectionReady() and
onCollectionStopping(); OTelCollector arms and disarms its gauges in response.
StatsDCollector starts its polling thread in its own constructor and had the
same hazard, so it uses the pair to gate that thread.
The metrics resource carries service.instance.id and is immutable once built,
so the node public key is resolved in Main.cpp, where a config error can still
be reported, and passed to makeApplication(). getNodeIdentity() remains
authoritative; both paths now share readNodeIdentity(), so telemetry cannot
report a key the node has abandoned.
An explicit ~ApplicationImp stops observing and stops telemetry, covering the
setup() failure paths that never reach run(). Telemetry::stop() is once-only
and no longer clears another instance's global pointer. The histogram view's
meter selector now matches the meter actually in use, so its bucket boundaries
apply for the first time.
2026-08-20 16:36:41 +01:00
Pratik Mankawde
e6688d8a0b
Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-native-metrics
...
# Conflicts:
# .cspell.config.yaml
2026-08-20 12:12:36 +01:00
Pratik Mankawde
35c3c31b38
Merge branch 'pratik/otel-phase5-docs-deployment' into pratik/otel-phase6-statsd
...
# Conflicts:
# .cspell.config.yaml
2026-08-20 12:10:49 +01:00
Pratik Mankawde
45ad80c57a
Merge branch 'pratik/otel-phase4-consensus-tracing' into pratik/otel-phase5-docs-deployment
2026-08-20 12:10:18 +01:00
Pratik Mankawde
074f71034b
Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-consensus-tracing
2026-08-20 12:10:08 +01:00
Pratik Mankawde
687cc57595
Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3-tx-tracing
...
# Conflicts:
# src/libxrpl/tx/Transactor.cpp
2026-08-20 12:09:58 +01:00
Pratik Mankawde
91596e2c7b
Merge branch 'pratik/otel-phase1c-rpc-integration' into pratik/otel-phase2-rpc-tracing
...
# Conflicts:
# .cspell.config.yaml
# src/tests/libxrpl/CMakeLists.txt
2026-08-20 12:07:11 +01:00
Pratik Mankawde
1135470656
Merge branch 'pratik/otel-phase1b-telemetry-infra' into pratik/otel-phase1c-rpc-integration
...
# Conflicts:
# src/xrpld/app/main/GRPCServer.cpp
2026-08-20 12:05:54 +01:00
Pratik Mankawde
8c9a79e4ae
Merge branch 'pratik/otel-phase1a-plan-docs' into pratik/otel-phase1b-telemetry-infra
...
# Conflicts:
# .gitignore
# conan.lock
2026-08-20 12:05:03 +01:00
Vito Tumas
d1dc7a6ccf
refactor: Extract invariant invocation into free checkInvariants runner ( #7404 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-19 14:10:11 +00:00
Timur Yalymov
368ff1afce
fix: Exempt loan default from asset freeze ( #7932 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
2026-08-19 13:43:40 +00:00
Vito Tumas
3adf2d40b5
fix: Reject VaultWithdraw fixed-share amounts that round to zero ( #7950 )
2026-08-19 13:09:38 +00:00
Bart
ca39bff3c8
refactor: Add SHAMapNodeID::isPrefixOf ( #7939 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
2026-08-18 12:35:32 +00:00
Copilot
820ca5b332
refactor: Convert boost::beast::string_view to std::string_view ( #6306 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: mvadari <8029314+mvadari@users.noreply.github.com >
Co-authored-by: Mayukha Vadari <mvadari@ripple.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
Co-authored-by: xrplf-ai-reviewer[bot] <266832837+xrplf-ai-reviewer[bot]@users.noreply.github.com>
Co-authored-by: Mayukha Vadari <mvadari@gmail.com >
Co-authored-by: Timur Yalymov <36795566+tyalymov@users.noreply.github.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
2026-08-17 23:19:56 +00:00
Gregory Tsipenyuk
1b226c8b2e
perf: Optimize MPT freeze checks to reduce redundant state reads ( #7411 )
...
Co-authored-by: Chenna Keshava B S <21219765+ckeshava@users.noreply.github.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-08-17 21:15:16 +00:00
Gregory Tsipenyuk
ca6121c5b3
feat: Enforce MPT CanTransfer on AMM LPTokens transfers ( #7418 )
2026-08-17 20:58:46 +00:00
Bart
5337d028a2
refactor: Use unsigned int for branch-related operations ( #7938 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com >
2026-08-17 10:07:14 +00:00
Pratik Mankawde
3a91a7414e
Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-native-metrics
...
# Conflicts:
# docker/telemetry/grafana/dashboards/statsd-rpc-pathfinding.json
# docker/telemetry/integration-test.sh
2026-08-14 21:20:39 +01:00
Pratik Mankawde
143436edbf
Merge branch 'pratik/otel-phase5-docs-deployment' into pratik/otel-phase6-statsd
2026-08-14 21:18:05 +01:00
Pratik Mankawde
4e9b844cc1
Merge branch 'pratik/otel-phase4-consensus-tracing' into pratik/otel-phase5-docs-deployment
2026-08-14 21:15:20 +01:00
Pratik Mankawde
3d6c2b2948
Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-consensus-tracing
2026-08-14 21:12:34 +01:00
Pratik Mankawde
6ac68abfb5
docs(telemetry): drop plan-document pointers from consensus tracing comments
...
These comments pointed at a planning folder and at its rollout phase
numbering, neither of which is part of the shipped tree, so the
references would dangle for any reader of the repository. Each comment
now states the fact it was pointing at.
2026-08-14 21:11:07 +01:00
Pratik Mankawde
4ebf780868
docs(telemetry): drop the plan-folder pointer from the trace_state note
...
The trace_state comment pointed at a planning document that is not part
of the shipped tree, so the reference would dangle for any reader of the
repository. State the reserved-and-inert fact on its own.
2026-08-14 21:10:26 +01:00
Bart
2adffaef72
refactor: Remove support for protocol version 2.1 ( #7432 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com >
2026-08-14 15:36:47 +00:00
Mayukha Vadari
d34aa37b3c
refactor: Use std::format instead of boost::format where it fits ( #7996 )
...
Co-authored-by: Timur Yalymov <36795566+tyalymov@users.noreply.github.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
2026-08-14 13:49:08 +00:00
Jingchen
8e9b1791c5
feat: Add a new closed ended vault to extend SAV ( #7921 )
...
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
2026-08-12 17:07:43 +00:00
Copilot
153b7839a7
refactor: Replace boost::filesystem with std::filesystem across the codebase ( #7012 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: mvadari <8029314+mvadari@users.noreply.github.com >
Co-authored-by: Mayukha Vadari <mvadari@ripple.com >
Co-authored-by: Mayukha Vadari <mvadari@gmail.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: mathbunnyru <12270691+mathbunnyru@users.noreply.github.com >
2026-08-12 13:40:39 +00:00
Gregory Tsipenyuk
26cc683ec1
fix: Assorted MPT/DEX fixes ( #7299 )
...
Co-authored-by: Valentin Balaschenko <13349202+vlntb@users.noreply.github.com >
2026-08-11 18:15:51 +00:00
Mayukha Vadari
6ca2fb84d4
refactor: Replace Boost trim and to_lower with libxrpl helpers ( #7995 )
2026-08-11 18:15:35 +00:00
klemenfn
a3147740f2
build: Fix GCC 14 compilation ( #7981 )
...
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
2026-08-11 13:24:56 +00:00
Alex Kremer
0a572833ea
chore: Gtest migration followups second pass ( #7888 )
2026-08-11 12:38:40 +00:00
Kassaking7
60291c3ed6
fix: Allow OverrideFreeze to bypass individual/deep freeze on AMM trust lines ( #6959 )
2026-08-10 21:34:28 +00:00
yinyiqian1
b19c3c64f2
fix: Add zero keylet check in credential ( #7971 )
2026-08-10 17:47:16 +00:00
Mayukha Vadari
a0e1e578a0
refactor: Remove operator!= overloads that C++20 synthesizes ( #7994 )
2026-08-10 17:23:02 +00:00
Mayukha Vadari
4f8819565a
fix: Assorted cleanup fixes ( #7988 )
2026-08-10 17:18:22 +00:00
Mayukha Vadari
6580b200db
refactor: Replace boost::lexical_cast with existing alternatives ( #7991 )
2026-08-10 17:10:18 +00:00
Gregory Tsipenyuk
94bccb3a5a
fix: Fix MPT/DEX Audit/Attackathon reports (Phase 2) ( #7537 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: Sergey Kuznetsov <skuznetsov@ripple.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
Co-authored-by: Andrzej Budzanowski <andrzej.budzanowski@neti-soft.com >
Co-authored-by: Marek Foss <marek.foss@neti-soft.com >
Co-authored-by: Alex Kremer <akremer@ripple.com >
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
Co-authored-by: Bart <bthomee@users.noreply.github.com >
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
Co-authored-by: Mayukha Vadari <mvadari@ripple.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-07 21:53:54 +00:00
Mayukha Vadari
0fb92c3194
refactor: Use SeqProxy instead of uint32 for all sequence-based keylets ( #7890 )
...
Co-authored-by: xrplf-ai-reviewer[bot] <266832837+xrplf-ai-reviewer[bot]@users.noreply.github.com>
2026-08-07 21:29:11 +00:00
Ayaz Salikhov
9859e5ceda
Merge remote-tracking branch 'upstream/release/3.3.x' into mathbunnyru/merge-3.3.0-to-develop
...
* upstream/release/3.3.x: (41 commits)
chore: Bump version to 3.3.0
chore: Bump version to 3.3.0-rc7
fix: Increase manifest protocol message size cap and fix manifests relay
fix: Cap untrusted manifests per message and drop oversized ones
chore: Bump version to 3.2.1
chore: Bump version to 3.2.1-rc1
fix: Cap untrusted manifests per message and drop oversized ones
fix: Reject oversized validator manifest before decoding
fix: Reduce untrusted manifest cache cap to 100
fix: Bound untrusted manifest cache
chore: Bump version to 3.3.0-rc6
feat: Package validator-keys inside rippled
chore: Bump version to 3.3.0-rc5
fix: Switch SponsorshipSet to use a delta for sfFeeAmount
fix: Re-revert "fix: Set request size limits and differential pricing for get-object-by-hash calls"
chore: Bump version to 3.3.0-rc4
fix: Revert "fix: Set request size limits and differential pricing for get-object-by-hash calls"
chore: Bump version to 3.3.0-rc3
fix: Reduce untrusted manifest cache cap to 100
fix: Revert "fix: Reject oversized SHAMap nodes in gotStaleData and fetch-pack path"
...
2026-08-07 16:00:25 +01:00
Pratik Mankawde
b0ae15ad8c
Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-native-metrics
2026-08-07 14:36:20 +01:00
Pratik Mankawde
63173d2703
Merge branch 'pratik/otel-phase5-docs-deployment' into pratik/otel-phase6-statsd
2026-08-07 14:36:19 +01:00
Pratik Mankawde
b47d4f94fd
Merge branch 'pratik/otel-phase1c-rpc-integration' into pratik/otel-phase2-rpc-tracing
2026-08-07 14:35:28 +01:00
Pratik Mankawde
8e3b0735a2
Merge branch 'pratik/otel-phase4-consensus-tracing' into pratik/otel-phase5-docs-deployment
2026-08-07 14:35:28 +01:00
Pratik Mankawde
2e21758a49
Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-consensus-tracing
2026-08-07 14:35:28 +01:00
Pratik Mankawde
05335fa3e3
Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3-tx-tracing
2026-08-07 14:35:28 +01:00
Pratik Mankawde
379f4ff60b
Merge branch 'pratik/otel-phase1b-telemetry-infra' into pratik/otel-phase1c-rpc-integration
2026-08-07 14:34:47 +01:00
Pratik Mankawde
71d1338313
Merge branch 'pratik/otel-phase1a-plan-docs' into pratik/otel-phase1b-telemetry-infra
2026-08-07 14:34:39 +01:00
Ayaz Salikhov
cb425647a4
ci: Generate protocol_autogen only once in CI ( #7918 )
2026-08-06 13:25:28 +00:00
Pratik Mankawde
84145a5469
Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-native-metrics
2026-08-05 15:49:20 +01:00
Pratik Mankawde
9b3a16ae11
Merge branch 'pratik/otel-phase4-consensus-tracing' into pratik/otel-phase5-docs-deployment
2026-08-05 15:47:59 +01:00