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
f4981a1907
Merge branch 'pratik/otel-phase5-docs-deployment' into pratik/otel-phase6-statsd
...
# Conflicts:
# OpenTelemetryPlan/08-appendix.md
# docker/telemetry/grafana/provisioning/datasources/tempo.yaml
# docker/telemetry/otel-collector-config.yaml
# docs/telemetry-runbook.md
2026-07-06 21:47:17 +01:00
Pratik Mankawde
1938b9e377
Merge branch 'pratik/otel-phase4-consensus-tracing' into pratik/otel-phase5-docs-deployment
2026-07-06 21:05:06 +01:00
Pratik Mankawde
b7d0b700c6
fix(telemetry): correct runbook pathfind spans + mTLS validation
...
- Add PathFinding Spans section to the runbook Span Reference and
remove the incorrect "not emitted / later-phase" annotations:
pathfind.request/compute/discover/update_all are emitted since
Phase 2 (upstream of Phase 5).
- Runbook label names use the bare spanmetrics dimensions
(command, rpc_status, local, consensus_mode); fix stale docs.
- 05-configuration-reference: note tls_client_cert/key require use_tls=1.
- TelemetryConfig: reject mTLS cert paths when use_tls=0 so telemetry
is not silently sent in plaintext.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-06 21:04:07 +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
Pratik Mankawde
7998d01dc9
code review comments.
...
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com >
2026-07-06 20:49:51 +01: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
092afb7aae
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-06 20:39:27 +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
Pratik Mankawde
60a2ac7bfe
fix(telemetry): bound RPC error-path span cardinality; balance LCOV markers
...
Resolve the doCommand error-path span suffix and command attribute against
the handler registry instead of using raw request input. A recognized command
yields its canonical handler name; anything else (unregistered command, or
neither command/method present) collapses to the literal "unknown". This bounds
telemetry cardinality to the finite set of handler names plus "unknown" while
preserving per-command error attribution for known-but-rejected commands
(e.g. a submit that hit rpcTOO_BUSY stays rpc.command.submit). The command
attribute is promoted to a Prometheus label by the spanmetrics connector, so
attacker-controlled input previously enabled unbounded label cardinality.
Also add the missing LCOV_EXCL_STOP in the first SpanGuard::linkedSpan overload
so its coverage exclusion no longer bleeds into the second overload's guards.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-06 19:17:34 +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
d5b858ce9d
Merge branch 'pratik/otel-phase5-docs-deployment' into pratik/otel-phase6-statsd
...
# Conflicts:
# .cspell.config.yaml
# src/xrpld/app/ledger/detail/BuildLedger.cpp
2026-07-06 17:13:00 +01:00
Pratik Mankawde
eec92f52e9
Merge branch 'pratik/otel-phase4-consensus-tracing' into pratik/otel-phase5-docs-deployment
2026-07-06 17:11:53 +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
d07d2aba2e
chore: Enable most modernize checks ( #7664 )
2026-07-06 12:19:52 +00:00
Pratik Mankawde
90b3726ed7
fix: make csf::Peer::getTelemetry() static to satisfy clang-tidy
...
The test Peer adaptor's getTelemetry() returns a shared function-local
NullTelemetry instance and does not read any per-peer state, so
clang-tidy's readability-convert-member-functions-to-static flags it as
an error under -warnings-as-errors. Mark it static; it has no callers
that depend on it being a non-static member.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-06 13:19:21 +01:00
Pratik Mankawde
f55f8c59fc
feat(telemetry): stamp service.name and network on native metrics
...
The native OTel metrics path hard-coded service.name="xrpld" and stamped
no network attribute, while traces stamped a configurable service.name
and xrpl.network.type. Metrics therefore could not be filtered by service
or network. Align the two paths:
- OTelCollector::New / OTelCollectorImp gain serviceName + networkType
params. service.name uses the configured value (default "xrpld" when
unset, preserving today's behavior); xrpl.network.type is stamped when
provided. The key is a string literal because beast/insight sits below
the telemetry module and cannot include its SpanNames const.
- CollectorManager reads service_name from [insight], falling back to the
[telemetry] value, and receives the network type from the caller.
- Application derives the network type once via the shared
telemetry::networkTypeFromId, now declared in Telemetry.h and moved out
of an anonymous namespace so the trace and metric paths reuse a single
0/1/2 -> mainnet/testnet/devnet mapping (no duplication).
Dashboards (5 system-* files): add $service_name, $deployment_environment,
$xrpl_network_type template variables and wire them into every panel query
that filters by $node.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-03 19:40:59 +01:00
Ayaz Salikhov
c92285f10d
chore: Delete dead code ( #7718 )
2026-07-03 15:59:20 +00:00
Ayaz Salikhov
53649cc298
chore: Enable modernize-use-constraints ( #7715 )
2026-07-03 14:28:15 +00:00
Ayaz Salikhov
f151293e8a
chore: Enable modernize-avoid-bind ( #7711 )
2026-07-03 11:17:03 +00:00
Ayaz Salikhov
7ba1d76d05
chore: Enable modernize-use-auto ( #7707 )
2026-07-02 20:02:55 +00:00
yinyiqian1
6003fd03fc
feat: Enable ConfidentialTransfer and BatchV1_1 ( #7698 )
2026-07-02 18:37:37 +00:00
Ayaz Salikhov
41622b87ae
chore: Enable modernize-unary-static-assert ( #7705 )
2026-07-02 18:30:59 +00:00
Ayaz Salikhov
6f0f5b8bb3
chore: Make clang-tidy happy on macOS ( #7701 )
2026-07-02 16:26:09 +00:00
Timothy Banks
4c619e8a85
refactor: Retire DisallowIncomingV1 fix ( #7364 )
2026-07-02 14:17:32 +00:00
Ayaz Salikhov
8e378c4f47
build: Add verify-headers target to cleanup headers ( #7670 )
2026-07-01 23:14:17 +00:00
Timothy Banks
c53aafa6bf
refactor: Retire InnerObjTemplate fix ( #7368 )
2026-07-01 15:36:28 +00:00
Vito Tumas
0d149ba5b6
fix: Disable AMM creation with Vault shares ( #7666 )
2026-07-01 15:04:38 +00:00
Ayaz Salikhov
d1ff948244
test: Add tests for TMProofPathResponse and TMReplayDeltaResponse invalid hash/key sizes ( #7593 )
2026-07-01 13:30:03 +00:00
Vito Tumas
ea13be81b7
feat: Add an invariant to ensure object deletion also deletes its pseudo-account ( #7445 )
...
Co-authored-by: xrplf-ai-reviewer[bot] <266832837+xrplf-ai-reviewer[bot]@users.noreply.github.com>
2026-07-01 13:21:23 +00:00
Denis Angell
86d8b244d6
feat: Add Batch (XLS-56) V1_1 ( #6446 )
...
Co-authored-by: Mayukha Vadari <mvadari@ripple.com >
2026-07-01 12:47:14 +00:00
Vito Tumas
ecf7f805c9
feat: Introduce lending 1.1 amendment and add MemoData field to VaultDelete transaction ( #6324 )
2026-06-30 23:51:41 +00:00
Ayaz Salikhov
8abbd1ba3a
chore: Use std::ranges where possible ( #7634 )
2026-06-30 11:03:19 +00:00
Ayaz Salikhov
74b55a59b2
chore: Enable most bugprone checks ( #7643 )
2026-06-29 13:20:17 +00:00
Shawn Xie
768d7603b1
feat: Confidential Transfer for MPT ( #5860 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: chuanshanjida <chuanshanjida@outlook.com >
Co-authored-by: Ed Hennis <ed@ripple.com >
Co-authored-by: Jingchen <a1q123456@users.noreply.github.com >
Co-authored-by: Denis Angell <dangell@transia.co >
Co-authored-by: Bart <bthomee@users.noreply.github.com >
Co-authored-by: yinyiqian1 <yqian@ripple.com >
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
Co-authored-by: Bronek Kozicki <brok@incorrekt.com >
Co-authored-by: Mayukha Vadari <mvadari@ripple.com >
Co-authored-by: Valentin Balaschenko <13349202+vlntb@users.noreply.github.com >
Co-authored-by: tequ <git@tequ.dev >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
Co-authored-by: Peter Chen <34582813+PeterChen13579@users.noreply.github.com >
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
Co-authored-by: Zhiyuan Wang <96991820+Kassaking7@users.noreply.github.com >
Co-authored-by: Alex Kremer <akremer@ripple.com >
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: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gregory Tsipenyuk <gregtatcam@users.noreply.github.com >
Co-authored-by: chuanshanjida <chuanshanjida@outlook.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Peter Chen <ychen@ripple.com >
Co-authored-by: Timothy Banks <timothyaaronbanks@gmail.com >
Co-authored-by: Timothy Banks <tbanks@ripple.com >
2026-06-27 01:20:38 +00:00
yinyiqian1
fd8a915243
fix: Use trustline balance direction to validate IOU PaymentMint/PaymentBurn ( #7584 )
2026-06-26 22:26:53 +00:00
Vito Tumas
3e9f1d0ab8
fix: Unify freeze checks for pseudo-account deposit/withdraw ( #7382 )
...
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
Co-authored-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com >
Co-authored-by: Shawn Xie <35279399+shawnxie999@users.noreply.github.com >
2026-06-26 21:38:59 +00:00
yinyiqian1
652b5f9af1
fix: Block delegate tx from being queued ( #7640 )
2026-06-26 20:34:22 +00:00
Pratik Mankawde
0fa2cc0c63
Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-native-metrics
2026-06-26 17:37:54 +01:00
Pratik Mankawde
bf808399a2
Merge branch 'pratik/otel-phase5-docs-deployment' into pratik/otel-phase6-statsd
2026-06-26 17:37:54 +01:00
Pratik Mankawde
074fb0ff22
Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-consensus-tracing
2026-06-26 17:37:54 +01:00
Pratik Mankawde
c16b71dac6
Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3-tx-tracing
2026-06-26 17:37:54 +01:00
Pratik Mankawde
73e386eca5
Merge branch 'pratik/otel-phase1c-rpc-integration' into pratik/otel-phase2-rpc-tracing
2026-06-26 17:37:54 +01:00
Pratik Mankawde
b8a5361e28
Merge branch 'pratik/otel-phase1b-telemetry-infra' into pratik/otel-phase1c-rpc-integration
2026-06-26 17:37:54 +01:00
Pratik Mankawde
5cc837289a
Merge branch 'pratik/otel-phase4-consensus-tracing' into pratik/otel-phase5-docs-deployment
2026-06-26 17:37:54 +01:00