Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1430 commits
Select commit Hold shift + click to select a range
87f370a
fix(telemetry): use service_instance_id label instead of exported_ins…
pratikmankawde Jul 8, 2026
a3053a3
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 8, 2026
21acd06
fix(telemetry): use service_instance_id label instead of exported_ins…
pratikmankawde Jul 8, 2026
f5c3f64
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 8, 2026
e64afb5
fix(telemetry): use service_instance_id in Grafana Cloud transform an…
pratikmankawde Jul 8, 2026
a2a58a5
docs(telemetry): update plan docs to use service_instance_id
pratikmankawde Jul 8, 2026
c75de2d
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 8, 2026
a13535f
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 8, 2026
d24534a
docs(telemetry): update Phase9 task list to use service_instance_id
pratikmankawde Jul 8, 2026
45d000c
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 8, 2026
c6be7cf
fix(telemetry): resolve clang-tidy CI errors (include-cleaner, braces)
pratikmankawde Jul 8, 2026
ba8785d
Merge branch 'pratik/otel-phase1b-telemetry-infra' into pratik/otel-p…
pratikmankawde Jul 8, 2026
01c9f6c
Merge branch 'pratik/otel-phase1c-rpc-integration' into pratik/otel-p…
pratikmankawde Jul 8, 2026
db38ba2
fix(telemetry): use std::ranges algorithms (modernize-use-ranges)
pratikmankawde Jul 8, 2026
8108caf
Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3…
pratikmankawde Jul 8, 2026
6938614
fix(telemetry): remove unused includes (misc-include-cleaner)
pratikmankawde Jul 8, 2026
87c0032
Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-…
pratikmankawde Jul 8, 2026
749535a
fix(telemetry): resolve clang-tidy CI errors in consensus tracing
pratikmankawde Jul 8, 2026
4826038
fix(telemetry): run rename scripts for CI compliance
pratikmankawde Jul 8, 2026
a1a9d45
Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-nati…
pratikmankawde Jul 8, 2026
b1091a4
Merge branch 'pratik/otel-phase4-consensus-tracing' into pratik/otel-…
pratikmankawde Jul 8, 2026
0a373f6
fix(telemetry): resolve otel-naming and UBSAN CI failures
pratikmankawde Jul 8, 2026
a681eea
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 8, 2026
1730cdb
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 8, 2026
0ee6da5
fix(telemetry): resolve clang-tidy include and modernize-use-auto CI …
pratikmankawde Jul 8, 2026
c835ad5
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 8, 2026
809d7fc
fix(telemetry): raise TX error threshold for CI workload validation
pratikmankawde Jul 8, 2026
0bfb338
Merge branch 'pratik/otel-phase5-docs-deployment' into pratik/otel-ph…
pratikmankawde Jul 8, 2026
a396fe0
Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-nati…
pratikmankawde Jul 8, 2026
c2e5c93
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 8, 2026
9b84398
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 8, 2026
8766012
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 8, 2026
4e9df8b
fix(telemetry): add missing <cstddef> include for std::size_t in Span…
pratikmankawde Jul 8, 2026
8800160
Merge branch 'pratik/otel-phase1c-rpc-integration' into pratik/otel-p…
pratikmankawde Jul 8, 2026
7848574
Merge branch 'pratik/otel-phase1b-telemetry-infra' into pratik/otel-p…
pratikmankawde Jul 8, 2026
f4549b6
Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3…
pratikmankawde Jul 8, 2026
5ba27cc
Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-…
pratikmankawde Jul 8, 2026
2ac6842
Merge branch 'pratik/otel-phase4-consensus-tracing' into pratik/otel-…
pratikmankawde Jul 8, 2026
087e6e5
Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-nati…
pratikmankawde Jul 8, 2026
efd6a32
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 8, 2026
68b1c7d
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 8, 2026
d64608e
Merge branch 'pratik/otel-phase5-docs-deployment' into pratik/otel-ph…
pratikmankawde Jul 8, 2026
545fba5
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 8, 2026
adeda25
Merge remote-tracking branch 'origin/develop' into pratik/otel-phase1…
pratikmankawde Jul 8, 2026
22f5b77
Merge branch 'pratik/otel-phase1a-plan-docs' into pratik/otel-phase1b…
pratikmankawde Jul 8, 2026
61ae999
Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3…
pratikmankawde Jul 8, 2026
02b32ec
Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-…
pratikmankawde Jul 8, 2026
ce9bdfc
Merge branch 'pratik/otel-phase4-consensus-tracing' into pratik/otel-…
pratikmankawde Jul 8, 2026
c0a3e11
Merge branch 'pratik/otel-phase1c-rpc-integration' into pratik/otel-p…
pratikmankawde Jul 8, 2026
a8ce140
Merge branch 'pratik/otel-phase1b-telemetry-infra' into pratik/otel-p…
pratikmankawde Jul 8, 2026
12060bc
Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-nati…
pratikmankawde Jul 8, 2026
9819abb
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 8, 2026
f0d72f5
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 8, 2026
11d2d90
Merge branch 'pratik/otel-phase5-docs-deployment' into pratik/otel-ph…
pratikmankawde Jul 8, 2026
98e35d6
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 8, 2026
a663900
added toc
pratikmankawde Jul 8, 2026
77f35c0
fix(telemetry): remove metric prefix, lowercase names, fix spaces in …
pratikmankawde Jul 8, 2026
e76eed5
fix(telemetry): add service_name to cloud labels, rename spanmetrics …
pratikmankawde Jul 8, 2026
dd96356
fix(telemetry): strip xrpld_ prefix from MetricsRegistry, rename span…
pratikmankawde Jul 8, 2026
0b76f91
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 8, 2026
b3a2545
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 8, 2026
6a50635
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 8, 2026
dcf7d55
fix(telemetry): remove stale xrpld_ references from code comments
pratikmankawde Jul 8, 2026
829cad8
docs(telemetry): update metric names across docs, tests, alert rules,…
pratikmankawde Jul 8, 2026
e7ba376
fix(telemetry): add missing span_metadata.h for SpanKind (misc-includ…
pratikmankawde Jul 8, 2026
09e083a
Merge branch 'pratik/otel-phase1b-telemetry-infra' into pratik/otel-p…
pratikmankawde Jul 8, 2026
ec7d992
fix(telemetry): add missing OTel headers for TraceContextPropagator (…
pratikmankawde Jul 8, 2026
04f1775
Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-…
pratikmankawde Jul 8, 2026
1d6475a
fix(telemetry): add missing SpanNames.h and cstdint includes (misc-in…
pratikmankawde Jul 8, 2026
2321b49
Merge branch 'pratik/otel-phase4-consensus-tracing' into pratik/otel-…
pratikmankawde Jul 8, 2026
d17c1c5
Merge branch 'pratik/otel-phase5-docs-deployment' into pratik/otel-ph…
pratikmankawde Jul 8, 2026
a3f2e79
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 8, 2026
5f32fb7
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 8, 2026
200a13c
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 8, 2026
1732c91
Merge branch 'pratik/otel-phase1c-rpc-integration' into pratik/otel-p…
pratikmankawde Jul 8, 2026
f6b5b66
Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3…
pratikmankawde Jul 8, 2026
6512ce6
Merge branch 'pratik/otel-phase1b-telemetry-infra' into pratik/otel-p…
pratikmankawde Jul 8, 2026
2b9b54e
Merge branch 'pratik/otel-phase10-workload-validation' of github.com:…
pratikmankawde Jul 8, 2026
c7b04a0
fix(telemetry): drop unused <cstddef> from SpanGuard.h (misc-include-…
pratikmankawde Jul 9, 2026
84f2ff6
fix(telemetry): drop unused <ranges> from Redaction.cpp and its test …
pratikmankawde Jul 9, 2026
ebf8b6e
fix(telemetry): add <cstdint> to TxTracing.h for std::uint8_t (misc-i…
pratikmankawde Jul 9, 2026
baacd05
Merge branch 'pratik/otel-phase1b-telemetry-infra' into pratik/otel-p…
pratikmankawde Jul 9, 2026
9240dc2
Merge branch 'pratik/otel-phase1c-rpc-integration' into pratik/otel-p…
pratikmankawde Jul 9, 2026
c2e5e0d
Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3…
pratikmankawde Jul 9, 2026
71f7252
Merge branch 'pratik/otel-phase5-docs-deployment' into pratik/otel-ph…
pratikmankawde Jul 9, 2026
bbdb8dc
Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-…
pratikmankawde Jul 9, 2026
48c3c7e
Merge branch 'pratik/otel-phase4-consensus-tracing' into pratik/otel-…
pratikmankawde Jul 9, 2026
62ab3a8
metric bug fixes
pratikmankawde Jul 9, 2026
e304d65
Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-nati…
pratikmankawde Jul 9, 2026
7ab34d2
fix(telemetry): resolve phase-7 clang-tidy findings
pratikmankawde Jul 9, 2026
cefcd88
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 9, 2026
e579bad
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 9, 2026
6e6dfba
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 9, 2026
91c6582
refactor(telemetry): rename dashboard template variable label from 'S…
pratikmankawde Jul 9, 2026
46cff27
Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-nati…
pratikmankawde Jul 9, 2026
bab0c84
refactor(telemetry): rename dashboard template variable label from 'S…
pratikmankawde Jul 9, 2026
4ed9bd5
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 9, 2026
b2d3b31
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 9, 2026
a835fbb
refactor(telemetry): rename dashboard template variable label from 'S…
pratikmankawde Jul 9, 2026
432a981
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 9, 2026
a1d7b18
fix(telemetry): drop redundant OTTL copy of service.name for cloud la…
pratikmankawde Jul 9, 2026
59f39a0
0.5 tail sampling added
pratikmankawde Jul 9, 2026
50d7047
refactor(telemetry): default the $service_name dashboard filter to 'x…
pratikmankawde Jul 9, 2026
f2d1ac5
Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-nati…
pratikmankawde Jul 9, 2026
dae3f6e
refactor(telemetry): default the $service_name dashboard filter to 'x…
pratikmankawde Jul 9, 2026
e5b2ce1
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 9, 2026
6530e7d
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 9, 2026
74a4a4a
refactor(telemetry): default the $service_name dashboard filter to 'x…
pratikmankawde Jul 9, 2026
a1bf1b0
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 9, 2026
6ae6e62
test(telemetry): add dashboard lint for raw-cumulative panels
pratikmankawde Jul 10, 2026
d174d4a
Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-nati…
pratikmankawde Jul 10, 2026
34a237f
fix(telemetry): strip xrpld_ prefix and snake_case native dashboard/d…
pratikmankawde Jul 10, 2026
86bbe8f
fix(telemetry): rename spanmetrics to span_ namespace on phase7 (dash…
pratikmankawde Jul 10, 2026
982e3cf
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 10, 2026
989c420
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 10, 2026
d943074
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 10, 2026
d03128e
fix(telemetry): rename remaining category-placeholder metric names in…
pratikmankawde Jul 10, 2026
fea3a2f
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 10, 2026
9fa9a34
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 10, 2026
e6946d5
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 10, 2026
a90d51c
fix(telemetry): render phase7 traffic dashboards as per-second rates
pratikmankawde Jul 10, 2026
b0f4370
fix(telemetry): show operating mode as % time-in-mode on phase7 node-…
pratikmankawde Jul 10, 2026
ba9ac50
fix(telemetry): drop duplicate peer-tx panel, repoint apply-failed KP…
pratikmankawde Jul 10, 2026
40d49e3
fix(telemetry): rate() nodestore panels + cache-hit ratio, dual-axis …
pratikmankawde Jul 10, 2026
0fbe7f4
fix(telemetry): remove misleading stacked load-factor attribution panel
pratikmankawde Jul 10, 2026
d7ecdac
docs(telemetry): flag uninstrumented tx-overflow panel; use rate-inte…
pratikmankawde Jul 10, 2026
9820ae8
fix(telemetry): use $__rate_interval + min step on all rate panels
pratikmankawde Jul 10, 2026
535a953
fix(telemetry): use $__rate_interval on phase9 rate panels
pratikmankawde Jul 10, 2026
3143216
docs(telemetry): flag RPC Response Size instrument mismatch pending b…
pratikmankawde Jul 10, 2026
851bc75
feat(telemetry): wire jq_trans_overflow_total as observable counter
pratikmankawde Jul 10, 2026
4aa2181
docs(telemetry): sync runbook panel tables with remediated dashboards
pratikmankawde Jul 10, 2026
4f2b7cf
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 10, 2026
eb502d6
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 10, 2026
945aba0
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 10, 2026
a998b80
fix(telemetry): seed $node dashboard filter from target_info
pratikmankawde Jul 10, 2026
086c85f
fix(telemetry): seed $node dashboard filter from target_info
pratikmankawde Jul 10, 2026
251b214
fix(telemetry): seed $node dashboard filter from target_info
pratikmankawde Jul 10, 2026
e357cf7
Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-nati…
pratikmankawde Jul 10, 2026
0c9001d
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 10, 2026
efe1386
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 10, 2026
68b1aa2
feat(telemetry): add Grafana Alloy collector config for xrpld nodes
pratikmankawde Jul 10, 2026
0b0d12a
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 10, 2026
b218763
fix(telemetry): repoint apply-failed KPI to tx.transactor (lost in me…
pratikmankawde Jul 10, 2026
20beb59
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 10, 2026
24542c4
feat(telemetry): TxQ accept applied-ratio state timeline
pratikmankawde Jul 10, 2026
5f8ca9d
Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-nati…
pratikmankawde Jul 10, 2026
8ca7036
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 10, 2026
e0979a2
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 10, 2026
49fab1a
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 10, 2026
ae47ab0
docs(telemetry): note rpc_size ms-histogram instrument mismatch in 09…
pratikmankawde Jul 10, 2026
cb413c1
docs(telemetry): correct jq_trans_overflow_total to ObservableCounter…
pratikmankawde Jul 10, 2026
e9a0b49
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 10, 2026
505dd36
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 10, 2026
2348fc5
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 10, 2026
3179763
fix(telemetry): remove orphaned TxQ Accept Status piechart
pratikmankawde Jul 10, 2026
daf3b55
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 10, 2026
a512009
fix(telemetry): replace std::format with string concat for gcc-12
pratikmankawde Jul 11, 2026
868ee3e
Merge branch 'pratik/otel-phase1b-telemetry-infra' into pratik/otel-p…
pratikmankawde Jul 11, 2026
b2baefa
Merge branch 'pratik/otel-phase1c-rpc-integration' into pratik/otel-p…
pratikmankawde Jul 11, 2026
906780b
Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3…
pratikmankawde Jul 11, 2026
17c1790
Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-…
pratikmankawde Jul 11, 2026
905061c
Merge branch 'pratik/otel-phase4-consensus-tracing' into pratik/otel-…
pratikmankawde Jul 11, 2026
8a63b31
Merge branch 'pratik/otel-phase5-docs-deployment' into pratik/otel-ph…
pratikmankawde Jul 11, 2026
919478f
Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-nati…
pratikmankawde Jul 11, 2026
5a1bbc5
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 11, 2026
11c22bf
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 11, 2026
78ce739
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 11, 2026
7231d45
fix(telemetry): correct job_count/network-traffic queries, 10s refres…
pratikmankawde Jul 11, 2026
db3fc94
feat(telemetry): add perf-iac work-item/branch/node-role dashboard fi…
pratikmankawde Jul 13, 2026
3706f30
feat(telemetry): add perf-iac work-item/branch/node-role dashboard fi…
pratikmankawde Jul 13, 2026
cd091bf
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 13, 2026
29da7a2
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 13, 2026
503e68a
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 13, 2026
de579f8
fix(telemetry): dashboard panel units and filter descriptions
pratikmankawde Jul 13, 2026
1b04262
fix(telemetry): dashboard panel units, validator-health layout, filte…
pratikmankawde Jul 13, 2026
225afa9
docs(telemetry): document perf-iac dashboard filter variables
pratikmankawde Jul 13, 2026
94a02e8
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 13, 2026
7f71ffe
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 13, 2026
4f72205
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 13, 2026
e103bd3
fix(telemetry): flush spanmetrics every 15s so Cloud rate panels render
pratikmankawde Jul 13, 2026
6f9319e
refactor(telemetry): split ledger-data-sync panels by data type
pratikmankawde Jul 13, 2026
d06faec
fix(telemetry): split mixed-unit node-health panels into single-unit …
pratikmankawde Jul 13, 2026
674c9a8
fix(telemetry): correct NodeStore Cache Hit Ratio PromQL vector matching
pratikmankawde Jul 13, 2026
71686b0
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 13, 2026
1a2b210
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 13, 2026
8919769
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 13, 2026
cb1ca17
feat(telemetry): add Grafana Cloud dashboard copies
pratikmankawde Jul 13, 2026
9eaeafc
fix(telemetry): conditional filter-dimension legends + 30m span-nulls
pratikmankawde Jul 14, 2026
a2bfa1c
fix(telemetry): conditional filter-dimension legends + 30m span-nulls
pratikmankawde Jul 14, 2026
3f6dc65
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 14, 2026
1d5627b
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 14, 2026
cc4104b
fix(telemetry): conditional filter-dimension legends + 30m span-nulls
pratikmankawde Jul 14, 2026
fb030de
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 14, 2026
8c34fd9
fix(telemetry): conditional filter-dimension legends + 30m span-nulls
pratikmankawde Jul 14, 2026
f8bc8de
fix(telemetry): conditional filter-dimension legends + 30m span-nulls
pratikmankawde Jul 14, 2026
af9a2e8
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 14, 2026
b1b9480
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 14, 2026
49fee77
fix(telemetry): conditional filter-dimension legends + 30m span-nulls
pratikmankawde Jul 14, 2026
1ef5d64
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 14, 2026
b31f1e2
Merge branch 'pratik/otel-phase10-workload-validation' into pratik/pe…
pratikmankawde Jul 14, 2026
9bbc71b
chore(telemetry): stop tracking local grafanacloud dashboard copies
pratikmankawde Jul 14, 2026
313d29b
Merge branch 'pratik/otel-phase10-workload-validation' into pratik/pe…
pratikmankawde Jul 14, 2026
6911963
fix(telemetry): grouped legend labels via collector, drop regex chain
pratikmankawde Jul 14, 2026
9b9e478
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 14, 2026
8296012
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 14, 2026
f682d0d
fix(telemetry): migrate remaining dashboards to grouped Display-name …
pratikmankawde Jul 14, 2026
d2f52c5
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 14, 2026
4a533cb
fix(telemetry): build grouped legend labels on the Grafana Cloud path
pratikmankawde Jul 14, 2026
80945c5
Merge branch 'pratik/otel-phase10-workload-validation' into pratik/pe…
pratikmankawde Jul 14, 2026
72db552
fix(telemetry): guard legend-group build against empty-string attributes
pratikmankawde Jul 14, 2026
6ad9b71
fix(telemetry): guard cloud legend-group build against empty-string a…
pratikmankawde Jul 14, 2026
4f9c507
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 14, 2026
914e291
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 14, 2026
50b7cc6
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 14, 2026
e4cc2b4
Merge branch 'pratik/otel-phase10-workload-validation' into pratik/pe…
pratikmankawde Jul 14, 2026
6ebb21d
fix(telemetry): keep category names on Overlay Traffic bargauge
pratikmankawde Jul 14, 2026
a0f0872
fix(telemetry): set tooltip maxHeight to 600 per dashboard guideline
pratikmankawde Jul 14, 2026
e33e6d3
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 14, 2026
61e6d00
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 14, 2026
e93be29
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 14, 2026
b275eb3
Merge branch 'pratik/otel-phase10-workload-validation' into pratik/pe…
pratikmankawde Jul 14, 2026
2bb9ebe
fix(telemetry): build grouped legend labels in the in-repo Alloy config
pratikmankawde Jul 14, 2026
7de5f98
Merge branch 'pratik/otel-phase10-workload-validation' into pratik/pe…
pratikmankawde Jul 14, 2026
8dbaf4e
fix(telemetry): build legend groups on spans so span metrics get them
pratikmankawde Jul 14, 2026
1b446cf
Merge branch 'pratik/otel-phase10-workload-validation' into pratik/pe…
pratikmankawde Jul 14, 2026
a984055
fix(telemetry): drop redundant dimension bracket from grouped legends
pratikmankawde Jul 14, 2026
2754cd8
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 14, 2026
29ddf9f
Merge branch 'pratik/otel-phase10-workload-validation' into pratik/pe…
pratikmankawde Jul 14, 2026
dfcc091
fix(telemetry): move legend brackets into collector label, drop empty []
pratikmankawde Jul 14, 2026
5328920
fix(telemetry): move legend brackets into collector label, drop empty []
pratikmankawde Jul 14, 2026
1d81769
fix(telemetry): bake legend brackets into cloud + Alloy collector labels
pratikmankawde Jul 14, 2026
ec487ff
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 14, 2026
c18f9cb
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 14, 2026
f18b03b
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 14, 2026
b6a1243
Merge branch 'pratik/otel-phase10-workload-validation' into pratik/pe…
pratikmankawde Jul 14, 2026
b4af979
docs(telemetry): refresh legend-group comment for bracketed label values
pratikmankawde Jul 14, 2026
f1dc6b5
Merge branch 'pratik/otel-phase10-workload-validation' into pratik/pe…
pratikmankawde Jul 14, 2026
1f43baa
fix(telemetry): use raw-label legend Display name; drop collector gro…
pratikmankawde Jul 15, 2026
b6433aa
fix(telemetry): use raw-label legend Display name; drop collector gro…
pratikmankawde Jul 15, 2026
5e37c5f
fix(telemetry): revert collector group-label build (cloud + Alloy con…
pratikmankawde Jul 15, 2026
e3452f9
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 15, 2026
d764238
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 15, 2026
e08b290
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 15, 2026
04e74e7
Merge branch 'pratik/otel-phase10-workload-validation' into pratik/pe…
pratikmankawde Jul 15, 2026
9e914c0
fix(telemetry): wrap legend identity labels in a single bracket
pratikmankawde Jul 15, 2026
352c85d
fix(telemetry): wrap legend identity labels in a single bracket
pratikmankawde Jul 15, 2026
1406c50
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-pha…
pratikmankawde Jul 15, 2026
eb698a3
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-ph…
pratikmankawde Jul 15, 2026
49e4425
Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-ph…
pratikmankawde Jul 15, 2026
ec964ff
Merge branch 'pratik/otel-phase10-workload-validation' into pratik/pe…
pratikmankawde Jul 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,8 @@ ignore:
- "src/tests/"
- "include/xrpl/beast/test/"
- "include/xrpl/beast/unit_test/"
# Telemetry modules — conditionally compiled behind XRPL_ENABLE_TELEMETRY,
# which is not enabled in coverage builds.
- "src/xrpld/telemetry/"
- "src/libxrpl/beast/insight/OTelCollector.cpp"
- "include/xrpl/beast/insight/OTelCollector.h"
32 changes: 29 additions & 3 deletions .cspell.config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ words:
- Btrfs
- Buildx
- canonicality
- CGNAT
- changespq
- checkme
- choco
Expand Down Expand Up @@ -96,6 +97,8 @@ words:
- dearmor
- decryptor
- dedented
- Dedup
- dedup
- deleteme
- demultiplexer
- deserializaton
Expand All @@ -111,8 +114,10 @@ words:
- enablerepo
- endmacro
- envrc
- EOCFG
- exceptioned
- EXPECT_STREQ
- exfiltration
- Falco
- fcontext
- finalizers
Expand All @@ -121,14 +126,19 @@ words:
- fsanitize
- funclets
- Gamal
- gantt
- Gantt
- gcov
- gcovr
- ghead
- Gnutella
- godexsoft
- gpgcheck
- gpgkey
- havetxset
- hotwallet
- hicpp
- htpasswd
- hwaddress
- hwrap
- ifndef
Expand Down Expand Up @@ -160,19 +170,19 @@ words:
- libxrpl
- llection
- LOCALGOOD
- logql
- logwstream
- lseq
- lsmf
- ltype
- mathbunnyru
- mcmodel
- MEMORYSTATUSEX
- MPTAMM
- MPTDEX
- Merkle
- Metafuncton
- misprediction
- missingok
- MPTAMM
- mptbalance
- MPTDEX
- mptflags
Expand Down Expand Up @@ -201,11 +211,13 @@ words:
- nixfmt
- nixos
- nixpkgs
- NETOP
- NOLINT
- NOLINTNEXTLINE
- nonxrp
- noreplace
- noripple
- nostd
- nostdinc
- notifempty
- nudb
Expand All @@ -214,6 +226,8 @@ words:
- Nyffenegger
- onlatest
- ostr
- otelc
- otelcol
- pargs
- partitioner
- paychan
Expand All @@ -222,8 +236,12 @@ words:
- permdex
- perminute
- permissioned
- pgrep
- pkill
- pimpl
- pointee
- populator
- pratik
- preauth
- preauthorization
- preauthorize
Expand All @@ -241,7 +259,9 @@ words:
- queuable
- Raphson
- rcflags
- reparent
- replayer
- reqps
- rerandomize
- rerandomization
- rerandomized
Expand Down Expand Up @@ -284,6 +304,7 @@ words:
- statsd
- STATSDCOLLECTOR
- stissue
- stledgerentry
- stnum
- stobj
- stobject
Expand All @@ -300,13 +321,15 @@ words:
- takerpays
- ters
- TMEndpointv2
- traceql
- trixie
- tx
- txid
- txids
- txjson
- txn
- txns
- txqueue
- txs
- ubsan
- UBSAN
Expand Down Expand Up @@ -355,4 +378,7 @@ words:
- xrplf
- xxhash
- xxhasher
- CGNAT
- xychart
- zpages
- ripplex
- mseconds
9 changes: 9 additions & 0 deletions .github/scripts/levelization/results/loops.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
Loop: xrpl.telemetry xrpld.rpc
xrpld.rpc > xrpl.telemetry

Loop: xrpld.app xrpld.overlay
xrpld.app > xrpld.overlay

Expand All @@ -10,6 +13,12 @@ Loop: xrpld.app xrpld.rpc
Loop: xrpld.app xrpld.shamap
xrpld.shamap > xrpld.app

Loop: xrpld.app xrpld.telemetry
xrpld.app > xrpld.telemetry

Loop: xrpld.overlay xrpld.rpc
xrpld.rpc ~= xrpld.overlay

Loop: xrpld.overlay xrpld.telemetry
xrpld.telemetry ~= xrpld.overlay

24 changes: 24 additions & 0 deletions .github/scripts/levelization/results/ordering.txt
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,18 @@ libxrpl.shamap > xrpl.basics
libxrpl.shamap > xrpl.nodestore
libxrpl.shamap > xrpl.protocol
libxrpl.shamap > xrpl.shamap
libxrpl.telemetry > xrpl.basics
libxrpl.telemetry > xrpl.config
libxrpl.telemetry > xrpl.protocol
libxrpl.telemetry > xrpl.telemetry
libxrpl.tx > xrpl.basics
libxrpl.tx > xrpl.conditions
libxrpl.tx > xrpl.core
libxrpl.tx > xrpl.json
libxrpl.tx > xrpl.ledger
libxrpl.tx > xrpl.protocol
libxrpl.tx > xrpl.server
libxrpl.tx > xrpl.telemetry
libxrpl.tx > xrpl.tx
test.app > test.jtx
test.app > test.unit_test
Expand Down Expand Up @@ -104,6 +109,7 @@ test.csf > xrpl.basics
test.csf > xrpld.consensus
test.csf > xrpl.json
test.csf > xrpl.ledger
test.csf > xrpl.telemetry
test.json > test.jtx
test.json > xrpl.json
test.jtx > test.unit_test
Expand Down Expand Up @@ -189,6 +195,7 @@ test.unit_test > xrpl.protocol
tests.libxrpl > xrpl.basics
tests.libxrpl > xrpl.config
tests.libxrpl > xrpl.core
tests.libxrpl > xrpld.telemetry
tests.libxrpl > xrpl.json
tests.libxrpl > xrpl.ledger
tests.libxrpl > xrpl.net
Expand All @@ -198,6 +205,7 @@ tests.libxrpl > xrpl.protocol_autogen
tests.libxrpl > xrpl.resource
tests.libxrpl > xrpl.server
tests.libxrpl > xrpl.shamap
tests.libxrpl > xrpl.telemetry
tests.libxrpl > xrpl.tx
xrpl.conditions > xrpl.basics
xrpl.conditions > xrpl.protocol
Expand Down Expand Up @@ -235,10 +243,12 @@ xrpl.server > xrpl.resource
xrpl.shamap > xrpl.basics
xrpl.shamap > xrpl.nodestore
xrpl.shamap > xrpl.protocol
xrpl.telemetry > xrpl.config
xrpl.tx > xrpl.basics
xrpl.tx > xrpl.core
xrpl.tx > xrpl.ledger
xrpl.tx > xrpl.protocol
xrpl.tx > xrpl.telemetry
xrpld.app > test.unit_test
xrpld.app > xrpl.basics
xrpld.app > xrpl.config
Expand All @@ -254,11 +264,13 @@ xrpld.app > xrpl.rdb
xrpld.app > xrpl.resource
xrpld.app > xrpl.server
xrpld.app > xrpl.shamap
xrpld.app > xrpl.telemetry
xrpld.app > xrpl.tx
xrpld.consensus > xrpl.basics
xrpld.consensus > xrpl.json
xrpld.consensus > xrpl.ledger
xrpld.consensus > xrpl.protocol
xrpld.consensus > xrpl.telemetry
xrpld.core > xrpl.basics
xrpld.core > xrpl.config
xrpld.core > xrpl.core
Expand All @@ -277,6 +289,7 @@ xrpld.overlay > xrpl.protocol
xrpld.overlay > xrpl.resource
xrpld.overlay > xrpl.server
xrpld.overlay > xrpl.shamap
xrpld.overlay > xrpl.telemetry
xrpld.overlay > xrpl.tx
xrpld.peerfinder > xrpl.basics
xrpld.peerfinder > xrpl.config
Expand All @@ -288,6 +301,7 @@ xrpld.perflog > xrpl.config
xrpld.perflog > xrpl.core
xrpld.perflog > xrpld.app
xrpld.perflog > xrpld.rpc
xrpld.perflog > xrpld.telemetry
xrpld.perflog > xrpl.json
xrpld.perflog > xrpl.nodestore
xrpld.perflog > xrpl.protocol
Expand All @@ -310,3 +324,13 @@ xrpld.shamap > xrpld.core
xrpld.shamap > xrpl.nodestore
xrpld.shamap > xrpl.protocol
xrpld.shamap > xrpl.shamap
xrpld.telemetry > xrpl.basics
xrpld.telemetry > xrpl.core
xrpld.telemetry > xrpld.consensus
xrpld.telemetry > xrpld.core
xrpld.telemetry > xrpl.json
xrpld.telemetry > xrpl.nodestore
xrpld.telemetry > xrpl.protocol
xrpld.telemetry > xrpl.rdb
xrpld.telemetry > xrpl.server
xrpld.telemetry > xrpl.telemetry
70 changes: 70 additions & 0 deletions .github/scripts/otel-naming/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# OTel naming-consistency check

`check_otel_naming.py` enforces the OpenTelemetry span-attribute naming
convention documented in
[CONTRIBUTING.md](../../../CONTRIBUTING.md#telemetry-span-attribute-naming)
across every layer of the telemetry pipeline. The `*SpanNames.h` constants are
the single source of truth (L1); every other layer must agree with them.

## Running locally

```
python .github/scripts/otel-naming/check_otel_naming.py
```

It takes no arguments, can be run from any directory inside the repo, and uses
only the Python standard library (no `pip install`, matching the levelization
check). A non-zero exit code means a violation was found; the output lists each
violation as `RULE | location | token | expected`.

## What it checks

The valid key set is **derived dynamically from the OTel code** — there is no
hardcoded allowlist:

- **L1 keys** come from the `namespace attr { ... }` blocks of every
`*SpanNames.h`, resolving the `makeStr("x")` / `join(seg::a, seg::b)` DSL
(cross-file, so `join(seg::rpc, ...)` resolves `seg::rpc` from the base
`SpanNames.h`). Each constant is resolved against **its own** header, so two
headers that define a same-named constant (e.g. a base `attr::ledgerHash` and
a domain `attr::ledgerHash`) each contribute their real wire key — a later
header cannot clobber an earlier one's value in a flat table.
- **Legitimate dotted keys** = ONLY the keys the code actually sets as resource
attributes, i.e. the entries inside `Telemetry.cpp`'s `Resource::Create({...})`
call: the `semconv::service::*` keys (`service.*`) plus any `attr::<name>`
constants passed there (`xrpl.network.*`). A dotted key that is _declared_ in a
header but never set as a resource attr is a span attribute in resource
clothing — a Rule-A violation, even if it lives in the base `SpanNames.h`.

### Rules (each fails the build, when its inputs are present)

| Rule | Check |
| ---- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| A | No stray dotted span-attribute key (only the derived resource keys may be dotted). |
| G | Attribute keys are `lower_snake_case` (`^[a-z][a-z0-9_]*$` per dot-segment) — no camelCase, UPPERCASE, or spaces. |
| F | No string literals as attribute keys or span-name arguments in `setAttribute`/`addEvent`/`span`/`childSpan`. Attribute _values_ are exempt (runtime data); `*SpanNames.h` definitions and test files are exempt. |
| B | Every collector `spanmetrics.dimensions` name exists in the L1 key set. |
| C | Every Tempo span-filter tag exists in the L1 key set. |
| D | Every dashboard label resolves to an L1 span attribute, a native-metric label (L6, emitted by MetricsRegistry), or a Prometheus/Grafana builtin. TraceQL scope prefixes (`span.`/`resource.`/…) are stripped before the L1 lookup. |
| E | No dotted `xrpl.<domain>.<field>` attribute key in the runbook (only the L1 resource attrs `xrpl.network.*` may be dotted). Span names, filenames, OTel-standard keys, and metric labels are not flagged. |

Rule F runs **unconditionally** (it is a purely syntactic check on the
call-sites and needs no `*SpanNames.h`), so a code path that calls
`SpanGuard::span`/`setAttribute` directly without ever defining a header is
still caught.

### Warnings (printed, never fail the build)

| Rule | Check |
| ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| H | A namespace-qualified constant (e.g. `foo::bar::myKey`) used at a telemetry call-site is not defined in any `*SpanNames.h`. The constant should live in the proper header; defining it in-place bypasses rules A/G/F. Warns rather than fails — the argument may be a legitimately dynamic value, and the header may live on a later branch. Bare locals and `std::` names are not warned. |

## Presence-gated

Every rule runs **only when the source files it needs are present** in the tree
and is otherwise skipped (printed as `SKIP: <rule> — <reason>`), never failed.
This keeps the check correct no matter how telemetry work is split across PRs —
a stacked chain, one large PR, or independent per-stage PRs where (for example)
the collector config lands before the dashboards. The collector/Tempo/dashboard/
runbook layers are introduced in later phases; on a branch without them, only
the L1-intrinsic rules (A, G, F) run.
Loading