diff --git a/OpenTelemetryPlan/08-appendix.md b/OpenTelemetryPlan/08-appendix.md index b73914fa79..07144805a3 100644 --- a/OpenTelemetryPlan/08-appendix.md +++ b/OpenTelemetryPlan/08-appendix.md @@ -229,7 +229,7 @@ This guide maps Phase 9–11 content to its location across the documentation. | Task list (10 tasks) | [Phase9_taskList.md](./Phase9_taskList.md) | | Future metric definitions (~50) | [09-data-collection-reference.md §5b](./09-data-collection-reference.md) | | New class: `MetricsRegistry` | `src/xrpld/telemetry/MetricsRegistry.h/.cpp` (planned) | -| New dashboards | `xrpld-fee-market`, `xrpld-job-queue` (planned) | +| New dashboards | `fee-market`, `job-queue` (planned) | **Metric categories**: NodeStore I/O, Cache Hit Rates, TxQ, PerfLog Per-RPC, PerfLog Per-Job, Counted Objects, Fee Escalation & Load Factors. diff --git a/OpenTelemetryPlan/09-data-collection-reference.md b/OpenTelemetryPlan/09-data-collection-reference.md index c02bc0fddb..7806042707 100644 --- a/OpenTelemetryPlan/09-data-collection-reference.md +++ b/OpenTelemetryPlan/09-data-collection-reference.md @@ -102,7 +102,7 @@ Controlled by `trace_rpc=1` in `[telemetry]` config. **Where to find**: Tempo → TraceQL: `{resource.service.name="xrpld" && name=~"rpc.http_request|rpc.command.*"}` -**Grafana dashboard**: _RPC Performance_ (`xrpld-rpc-perf`) +**Grafana dashboard**: _RPC Performance_ (`rpc-performance`) #### gRPC Spans @@ -118,7 +118,7 @@ rates without TraceQL attribute filters. **Where to find**: Tempo → TraceQL: `{resource.service.name="xrpld" && name=~"grpc.*"}` -**Grafana dashboard**: _RPC Performance_ (`xrpld-rpc-perf`) +**Grafana dashboard**: _RPC Performance_ (`rpc-performance`) #### Transaction Spans @@ -142,7 +142,7 @@ later spans — the `stage` attribute identifies where it stopped. **Where to find**: Tempo → TraceQL: `{resource.service.name="xrpld" && name=~"tx.process|tx.receive"}` or, for the apply pipeline: `{resource.service.name="xrpld" && name=~"tx.preflight|tx.preclaim|tx.transactor"}` -**Grafana dashboard**: _Transaction Overview_ (`xrpld-transactions`) +**Grafana dashboard**: _Transaction Overview_ (`transaction-overview`) #### Transaction Queue (TxQ) Spans @@ -159,7 +159,7 @@ Controlled by `trace_transactions=1` in `[telemetry]` config. **Where to find**: Tempo → TraceQL: `{resource.service.name="xrpld" && name=~"txq.*"}` -**Grafana dashboard**: _Transaction Overview_ (`xrpld-transactions`) +**Grafana dashboard**: _Transaction Overview_ (`transaction-overview`) #### Consensus Spans @@ -187,7 +187,7 @@ round trace via context propagation rather than direct parenting. The **Where to find**: Tempo → TraceQL: `{resource.service.name="xrpld" && name=~"consensus.*"}` -**Grafana dashboard**: _Consensus Health_ (`xrpld-consensus`) +**Grafana dashboard**: _Consensus Health_ (`consensus-health`) #### Ledger Spans @@ -202,7 +202,7 @@ Controlled by `trace_ledger=1` in `[telemetry]` config. **Where to find**: Tempo → TraceQL: `{resource.service.name="xrpld" && name=~"ledger.*"}` -**Grafana dashboard**: _Ledger Operations_ (`xrpld-ledger-ops`) +**Grafana dashboard**: _Ledger Operations_ (`ledger-operations`) #### Peer Spans @@ -215,7 +215,7 @@ Controlled by `trace_peer` in `[telemetry]` config. **Enabled by default** (high **Where to find**: Tempo → TraceQL: `{resource.service.name="xrpld" && name=~"peer.*"}` -**Grafana dashboard**: _Peer Network_ (`xrpld-peer-net`) +**Grafana dashboard**: _Peer Network_ (`peer-network`) #### PathFind Spans @@ -527,7 +527,7 @@ prefix=xrpld | `xrpld_Overlay_Peer_Disconnects_Charges` | OverlayImpl.cpp | Disconnects due to resource limit charges | Low growth (subset of above) | | `xrpld_jobq_job_count` | JobQueue.cpp | Current job queue depth (group `jobq`) | 0–100 (healthy) | -**Grafana dashboard**: _Node Health_ (`xrpld-system-node-health`) +**Grafana dashboard**: _Node Health_ (`node-health`) ### 2.2 Counters @@ -541,7 +541,7 @@ prefix=xrpld **Note**: With `server=otel`, `xrpld_warn` and `xrpld_drop` are properly exported as OTel Counter instruments. The previous StatsD `|m` type limitation no longer applies. -**Grafana dashboard**: _RPC & Pathfinding_ (`xrpld-system-rpc`) +**Grafana dashboard**: _RPC & Pathfinding_ (`rpc-pathfinding`) ### 2.3 Histograms (Event timers) @@ -583,7 +583,7 @@ For each of the 45+ overlay traffic categories (defined in `TrafficCount.h`), fo | `ping` / `status` | Keepalive and status | | `set_get` | Set requests | -**Grafana dashboards**: _Network Traffic_ (`xrpld-system-network`), _Overlay Traffic Detail_ (`xrpld-system-overlay-detail`), _Ledger Data & Sync_ (`xrpld-system-ledger-sync`) +**Grafana dashboards**: _Network Traffic_ (`network-traffic`), _Overlay Traffic Detail_ (`overlay-traffic-detail`), _Ledger Data & Sync_ (`ledger-data-sync`) --- @@ -593,23 +593,23 @@ For each of the 45+ overlay traffic categories (defined in `TrafficCount.h`), fo ### 3.1 Span-Derived Dashboards (5) -| Dashboard | UID | Data Source | Key Panels | -| -------------------- | -------------------- | ------------------------ | ---------------------------------------------------------------------------------- | -| RPC Performance | `xrpld-rpc-perf` | Prometheus (SpanMetrics) | Request rate by command, p95 latency by command, error rate, heatmap, top commands | -| Transaction Overview | `xrpld-transactions` | Prometheus (SpanMetrics) | Processing rate, latency p95/p50, local vs relay split, apply duration, heatmap | -| Consensus Health | `xrpld-consensus` | Prometheus (SpanMetrics) | Round duration p95/p50, proposals rate, close duration, mode timeline, heatmap | -| Ledger Operations | `xrpld-ledger-ops` | Prometheus (SpanMetrics) | Build rate, build duration, validation rate, store rate, build vs close comparison | -| Peer Network | `xrpld-peer-net` | Prometheus (SpanMetrics) | Proposal receive rate, validation receive rate, trusted vs untrusted breakdown | +| Dashboard | UID | Data Source | Key Panels | +| -------------------- | ---------------------- | ------------------------ | ---------------------------------------------------------------------------------- | +| RPC Performance | `rpc-performance` | Prometheus (SpanMetrics) | Request rate by command, p95 latency by command, error rate, heatmap, top commands | +| Transaction Overview | `transaction-overview` | Prometheus (SpanMetrics) | Processing rate, latency p95/p50, local vs relay split, apply duration, heatmap | +| Consensus Health | `consensus-health` | Prometheus (SpanMetrics) | Round duration p95/p50, proposals rate, close duration, mode timeline, heatmap | +| Ledger Operations | `ledger-operations` | Prometheus (SpanMetrics) | Build rate, build duration, validation rate, store rate, build vs close comparison | +| Peer Network | `peer-network` | Prometheus (SpanMetrics) | Proposal receive rate, validation receive rate, trusted vs untrusted breakdown | ### 3.2 System Metrics Dashboards (5) -| Dashboard | UID | Data Source | Key Panels | -| ---------------------- | ----------------------------- | ----------------- | --------------------------------------------------------------------------------- | -| Node Health | `xrpld-system-node-health` | Prometheus (OTLP) | Ledger age, operating mode, I/O latency, job queue, fetch rate | -| Network Traffic | `xrpld-system-network` | Prometheus (OTLP) | Active peers, disconnects, bytes in/out, messages in/out, traffic by category | -| RPC & Pathfinding | `xrpld-system-rpc` | Prometheus (OTLP) | RPC rate, response time/size, pathfinding duration, resource warnings/drops | -| Overlay Traffic Detail | `xrpld-system-overlay-detail` | Prometheus (OTLP) | Squelch, overhead, validator lists, set get/share, have/requested tx, proof paths | -| Ledger Data & Sync | `xrpld-system-ledger-sync` | Prometheus (OTLP) | Ledger data exchange, legacy ledger share/get, getobject by type, traffic heatmap | +| Dashboard | UID | Data Source | Key Panels | +| ---------------------- | ------------------------ | ----------------- | --------------------------------------------------------------------------------- | +| Node Health | `node-health` | Prometheus (OTLP) | Ledger age, operating mode, I/O latency, job queue, fetch rate | +| Network Traffic | `network-traffic` | Prometheus (OTLP) | Active peers, disconnects, bytes in/out, messages in/out, traffic by category | +| RPC & Pathfinding | `rpc-pathfinding` | Prometheus (OTLP) | RPC rate, response time/size, pathfinding duration, resource warnings/drops | +| Overlay Traffic Detail | `overlay-traffic-detail` | Prometheus (OTLP) | Squelch, overhead, validator lists, set get/share, have/requested tx, proof paths | +| Ledger Data & Sync | `ledger-data-sync` | Prometheus (OTLP) | Ledger data exchange, legacy ledger share/get, getobject by type, traffic heatmap | ### 3.3 Deployment-Tier Template Variables @@ -873,10 +873,10 @@ async callbacks for new categories. ### New Grafana Dashboards (Phase 9) -| Dashboard | UID | Data Source | Key Panels | -| ------------------ | ------------------ | ----------- | ----------------------------------------------------------------- | -| Fee Market & TxQ | `xrpld-fee-market` | Prometheus | TxQ depth/capacity, fee levels, load factor breakdown, escalation | -| Job Queue Analysis | `xrpld-job-queue` | Prometheus | Per-job rates, queue wait times, execution times, queue depth | +| Dashboard | UID | Data Source | Key Panels | +| ------------------ | ------------ | ----------- | ----------------------------------------------------------------- | +| Fee Market & TxQ | `fee-market` | Prometheus | TxQ depth/capacity, fee levels, load factor breakdown, escalation | +| Job Queue Analysis | `job-queue` | Prometheus | Per-job rates, queue wait times, execution times, queue depth | --- @@ -1188,26 +1188,26 @@ Lifetime validation agreement/miss tallies are exported as monotonic **Observabl ### New Grafana Dashboards (Phase 9) -| Dashboard | UID | Data Source | Key Panels | -| ------------------------------------ | ------------------------ | ----------- | ------------------------------------------------------------------------------------------------------------------------ | -| Fee Market & TxQ | `xrpld-fee-market` | Prometheus | TxQ depth/capacity, fee levels, load factor breakdown | -| Job Queue Analysis | `xrpld-job-queue` | Prometheus | Per-job rates, queue wait times, execution times | -| RPC Performance (per-method section) | `xrpld-rpc-perf` | Prometheus | Per-method call rates, error rates, latency distributions (added as a section to the existing RPC Performance dashboard) | -| Validator Health | `xrpld-validator-health` | Prometheus | Agreement %, validation rate, amendment/UNL, state | -| Peer Quality | `xrpld-peer-quality` | Prometheus | P90 latency, insane peers, version awareness, disconnects | +| Dashboard | UID | Data Source | Key Panels | +| ------------------------------------ | ------------------ | ----------- | ------------------------------------------------------------------------------------------------------------------------ | +| Fee Market & TxQ | `fee-market` | Prometheus | TxQ depth/capacity, fee levels, load factor breakdown | +| Job Queue Analysis | `job-queue` | Prometheus | Per-job rates, queue wait times, execution times | +| RPC Performance (per-method section) | `rpc-performance` | Prometheus | Per-method call rates, error rates, latency distributions (added as a section to the existing RPC Performance dashboard) | +| Validator Health | `validator-health` | Prometheus | Agreement %, validation rate, amendment/UNL, state | +| Peer Quality | `peer-quality` | Prometheus | P90 latency, insane peers, version awareness, disconnects | ### Updated Grafana Dashboards (Phase 9) | Dashboard | UID | New Panels Added | | -------------------- | -------------------------- | -------------------------------------------------------------------- | | Node Health (StatsD) | `xrpld-statsd-node-health` | NodeStore I/O, cache hit rates, object instance counts | -| System Node Health | `xrpld-system-node-health` | Ledger economy row: base fee, reserves, ledger age, transaction rate | +| System Node Health | `node-health` | Ledger economy row: base fee, reserves, ledger age, transaction rate | ### New Grafana Dashboards (Phase 11) | Dashboard | UID | Data Source | Key Panels | | ------------------ | --------------------------- | ----------- | ---------------------------------------------------------------------- | -| Validator Health | `xrpld-validator-health` | Prometheus | Server state timeline, proposer count, converge time, amendment voting | +| Validator Health | `validator-health` | Prometheus | Server state timeline, proposer count, converge time, amendment voting | | Network Topology | `xrpld-network-topology` | Prometheus | Peer count, version distribution, latency distribution, diverged peers | | Fee Market (Ext) | `xrpld-fee-market-external` | Prometheus | Fee levels, queue depth, load factor breakdown, escalation timeline | | DEX & AMM Overview | `xrpld-dex-amm` | Prometheus | AMM TVL, order book depth, spread trends, trading fee revenue | diff --git a/OpenTelemetryPlan/Phase11_taskList.md b/OpenTelemetryPlan/Phase11_taskList.md index 212da57e5c..07665863af 100644 --- a/OpenTelemetryPlan/Phase11_taskList.md +++ b/OpenTelemetryPlan/Phase11_taskList.md @@ -362,7 +362,7 @@ This phase addresses the cross-cutting gap identified during research: **xrpld h **What to do**: -- **Validator Health** (`xrpld-validator-health`): +- **Validator Health** (`validator-health`): - Server state timeline, state duration breakdown - Proposer count trend, converge time trend, validation quorum - Validator list expiration countdown diff --git a/OpenTelemetryPlan/Phase9_taskList.md b/OpenTelemetryPlan/Phase9_taskList.md index ca9cfb0af5..f7b9fca798 100644 --- a/OpenTelemetryPlan/Phase9_taskList.md +++ b/OpenTelemetryPlan/Phase9_taskList.md @@ -116,7 +116,7 @@ These metrics serve multiple external consumer categories identified during rese **Derived Prometheus metrics**: `xrpld_txq_count`, `xrpld_txq_max_size`, `xrpld_txq_open_ledger_fee_level`, etc. -**Grafana dashboard**: New _Fee Market & TxQ_ dashboard (`xrpld-fee-market`). +**Grafana dashboard**: New _Fee Market & TxQ_ dashboard (`fee-market`). --- @@ -169,7 +169,7 @@ These metrics serve multiple external consumer categories identified during rese **Derived Prometheus metrics**: `xrpld_job_queued_total{job_type="ledgerData"}`, `xrpld_job_running_duration_us_bucket{job_type="transaction"}`, etc. -**Grafana dashboard**: New _Job Queue Analysis_ dashboard (`xrpld-job-queue`). +**Grafana dashboard**: New _Job Queue Analysis_ dashboard (`job-queue`). --- @@ -269,7 +269,7 @@ These metrics serve multiple external consumer categories identified during rese **Derived Prometheus metrics**: `xrpld_server_info{metric="server_state"}`, `xrpld_build_info{version="2.4.0"}`, `xrpld_complete_ledgers{bound="start",index="0"}`, `xrpld_db_metrics{metric="db_kb_total"}`, etc. -**Grafana dashboard**: New panels added to _Node Health_ dashboard (`system-node-health.json`). +**Grafana dashboard**: New panels added to _Node Health_ dashboard (`node-health.json`). --- @@ -280,12 +280,12 @@ These metrics serve multiple external consumer categories identified during rese **What to do**: - Create 2 new dashboards: - 1. **Fee Market & TxQ** (`xrpld-fee-market`) — TxQ depth/capacity, fee levels, load factor breakdown, fee escalation timeline - 2. **Job Queue Analysis** (`xrpld-job-queue`) — Per-job-type rates, queue wait times, execution times, job queue depth + 1. **Fee Market & TxQ** (`fee-market`) — TxQ depth/capacity, fee levels, load factor breakdown, fee escalation timeline + 2. **Job Queue Analysis** (`job-queue`) — Per-job-type rates, queue wait times, execution times, job queue depth - Update 2 existing dashboards: 1. **Node Health** (`xrpld-statsd-node-health`) — Add NodeStore I/O panels, cache hit rate panels, object instance counts - 2. **RPC Performance** (`xrpld-rpc-perf`) — Add per-method RPC breakdown panels + 2. **RPC Performance** (`rpc-performance`) — Add per-method RPC breakdown panels **Key modified files**: @@ -351,7 +351,7 @@ These metrics serve multiple external consumer categories identified during rese **Objective**: Create a Grafana dashboard for validation agreement, amendment/UNL health, and state tracking. -**Dashboard**: `xrpld-validator-health.json` +**Dashboard**: `validator-health.json` | Panel | Type | PromQL | | -------------------------- | ---------- | -------------------------------------------------------------- | @@ -387,7 +387,7 @@ These metrics serve multiple external consumer categories identified during rese **Objective**: Create a Grafana dashboard for peer health aggregates. -**Dashboard**: `xrpld-peer-quality.json` +**Dashboard**: `peer-quality.json` | Panel | Type | PromQL | | ---------------------- | ---------- | -------------------------------------------------------------- | @@ -412,7 +412,7 @@ These metrics serve multiple external consumer categories identified during rese > **Source**: [External Dashboard Parity](../docs/superpowers/specs/2026-03-30-external-dashboard-parity-design.md) -**Objective**: Add "Ledger Economy" row to the existing `system-node-health.json` dashboard. +**Objective**: Add "Ledger Economy" row to the existing `node-health.json` dashboard. | Panel | Type | PromQL | | -------------------- | ---------- | --------------------------------------------------- | @@ -422,7 +422,7 @@ These metrics serve multiple external consumer categories identified during rese | Ledger Age | stat | `xrpld_ledger_economy{metric="ledger_age_seconds"}` | | Transaction Rate | timeseries | `xrpld_ledger_economy{metric="transaction_rate"}` | -**Key modified files**: `docker/telemetry/grafana/dashboards/system-node-health.json` +**Key modified files**: `docker/telemetry/grafana/dashboards/node-health.json` **Exit Criteria**: diff --git a/docker/telemetry/grafana/dashboards/consensus-health.json b/docker/telemetry/grafana/dashboards/consensus-health.json index 4586499fb9..5967d4cf13 100644 --- a/docker/telemetry/grafana/dashboards/consensus-health.json +++ b/docker/telemetry/grafana/dashboards/consensus-health.json @@ -1233,6 +1233,6 @@ "to": "now" }, "title": "Consensus Health", - "uid": "xrpld-consensus", + "uid": "consensus-health", "description": "What this shows: Consensus health for XRPL nodes: how reliably and quickly the network agrees each ledger, and where agreement breaks down.\nUse it to: Spot stalled or slow consensus rounds and pinpoint the phase where agreement is failing." } diff --git a/docker/telemetry/grafana/dashboards/xrpld-fee-market.json b/docker/telemetry/grafana/dashboards/fee-market.json similarity index 99% rename from docker/telemetry/grafana/dashboards/xrpld-fee-market.json rename to docker/telemetry/grafana/dashboards/fee-market.json index 1969a35b25..85906258dc 100644 --- a/docker/telemetry/grafana/dashboards/xrpld-fee-market.json +++ b/docker/telemetry/grafana/dashboards/fee-market.json @@ -548,7 +548,7 @@ "timepicker": {}, "timezone": "browser", "title": "Fee Market & TxQ", - "uid": "xrpld-fee-market", + "uid": "fee-market", "version": 1, "refresh": "5s" } diff --git a/docker/telemetry/grafana/dashboards/xrpld-job-queue.json b/docker/telemetry/grafana/dashboards/job-queue.json similarity index 99% rename from docker/telemetry/grafana/dashboards/xrpld-job-queue.json rename to docker/telemetry/grafana/dashboards/job-queue.json index 428d36bc5e..96a0d9562d 100644 --- a/docker/telemetry/grafana/dashboards/xrpld-job-queue.json +++ b/docker/telemetry/grafana/dashboards/job-queue.json @@ -566,7 +566,7 @@ "timepicker": {}, "timezone": "browser", "title": "Job Queue Analysis", - "uid": "xrpld-job-queue", + "uid": "job-queue", "version": 1, "refresh": "5s" } diff --git a/docker/telemetry/grafana/dashboards/ledger-operations.json b/docker/telemetry/grafana/dashboards/ledger-operations.json index 09fa2d896a..5c108321f1 100644 --- a/docker/telemetry/grafana/dashboards/ledger-operations.json +++ b/docker/telemetry/grafana/dashboards/ledger-operations.json @@ -395,7 +395,7 @@ "to": "now" }, "title": "Ledger Operations", - "uid": "xrpld-ledger-ops", + "uid": "ledger-operations", "refresh": "5s", "description": "What this shows: Ledger construction, validation, and storage activity and timing for this node.\nUse it to: Confirm ledgers are being built, validated, and stored on schedule and find the slow stage when they are not." } diff --git a/docker/telemetry/grafana/dashboards/peer-network.json b/docker/telemetry/grafana/dashboards/peer-network.json index 67ceb93847..3b19d10be1 100644 --- a/docker/telemetry/grafana/dashboards/peer-network.json +++ b/docker/telemetry/grafana/dashboards/peer-network.json @@ -375,6 +375,6 @@ "to": "now" }, "title": "Peer Network", - "uid": "xrpld-peer-net", + "uid": "peer-network", "refresh": "5s" } diff --git a/docker/telemetry/grafana/dashboards/xrpld-peer-quality.json b/docker/telemetry/grafana/dashboards/peer-quality.json similarity index 99% rename from docker/telemetry/grafana/dashboards/xrpld-peer-quality.json rename to docker/telemetry/grafana/dashboards/peer-quality.json index 1164def0e6..928024c3eb 100644 --- a/docker/telemetry/grafana/dashboards/xrpld-peer-quality.json +++ b/docker/telemetry/grafana/dashboards/peer-quality.json @@ -453,6 +453,6 @@ "to": "now" }, "title": "Peer Quality", - "uid": "xrpld-peer-quality", + "uid": "peer-quality", "refresh": "5s" } diff --git a/docker/telemetry/grafana/dashboards/rpc-performance.json b/docker/telemetry/grafana/dashboards/rpc-performance.json index d52f2bde95..188278f93f 100644 --- a/docker/telemetry/grafana/dashboards/rpc-performance.json +++ b/docker/telemetry/grafana/dashboards/rpc-performance.json @@ -974,7 +974,7 @@ "to": "now" }, "title": "RPC Performance", - "uid": "xrpld-rpc-perf", + "uid": "rpc-performance", "refresh": "5s", "description": "What this shows: Per-command and per-method RPC performance: call rates, error rates, and latency distributions.\nUse it to: Identify slow or failing RPC commands and track client-facing request latency." } diff --git a/docker/telemetry/grafana/dashboards/system-ledger-data-sync.json b/docker/telemetry/grafana/dashboards/system-ledger-data-sync.json index 19d6e6c441..8b6b70f2cb 100644 --- a/docker/telemetry/grafana/dashboards/system-ledger-data-sync.json +++ b/docker/telemetry/grafana/dashboards/system-ledger-data-sync.json @@ -583,5 +583,5 @@ "to": "now" }, "title": "Ledger Data & Sync", - "uid": "xrpld-system-ledger-sync" + "uid": "ledger-data-sync" } diff --git a/docker/telemetry/grafana/dashboards/system-network-traffic.json b/docker/telemetry/grafana/dashboards/system-network-traffic.json index 001258131d..0218e98972 100644 --- a/docker/telemetry/grafana/dashboards/system-network-traffic.json +++ b/docker/telemetry/grafana/dashboards/system-network-traffic.json @@ -861,5 +861,5 @@ "to": "now" }, "title": "Network Traffic", - "uid": "xrpld-system-network" + "uid": "network-traffic" } diff --git a/docker/telemetry/grafana/dashboards/system-node-health.json b/docker/telemetry/grafana/dashboards/system-node-health.json index 7fb909ffbc..51a5debd84 100644 --- a/docker/telemetry/grafana/dashboards/system-node-health.json +++ b/docker/telemetry/grafana/dashboards/system-node-health.json @@ -2269,6 +2269,6 @@ "to": "now" }, "title": "Node Health", - "uid": "xrpld-system-node-health", + "uid": "node-health", "refresh": "5s" } diff --git a/docker/telemetry/grafana/dashboards/system-overlay-traffic-detail.json b/docker/telemetry/grafana/dashboards/system-overlay-traffic-detail.json index a204adef1c..47c376858b 100644 --- a/docker/telemetry/grafana/dashboards/system-overlay-traffic-detail.json +++ b/docker/telemetry/grafana/dashboards/system-overlay-traffic-detail.json @@ -643,5 +643,5 @@ "to": "now" }, "title": "Overlay Traffic Detail", - "uid": "xrpld-system-overlay-detail" + "uid": "overlay-traffic-detail" } diff --git a/docker/telemetry/grafana/dashboards/system-rpc-pathfinding.json b/docker/telemetry/grafana/dashboards/system-rpc-pathfinding.json index ed380c3c0e..48e5eb625f 100644 --- a/docker/telemetry/grafana/dashboards/system-rpc-pathfinding.json +++ b/docker/telemetry/grafana/dashboards/system-rpc-pathfinding.json @@ -660,6 +660,6 @@ "to": "now" }, "title": "RPC & Pathfinding", - "uid": "xrpld-system-rpc", + "uid": "rpc-pathfinding", "refresh": "5s" } diff --git a/docker/telemetry/grafana/dashboards/transaction-overview.json b/docker/telemetry/grafana/dashboards/transaction-overview.json index c20a748c24..e9a53f656d 100644 --- a/docker/telemetry/grafana/dashboards/transaction-overview.json +++ b/docker/telemetry/grafana/dashboards/transaction-overview.json @@ -1049,7 +1049,7 @@ "to": "now" }, "title": "Transaction Overview", - "uid": "xrpld-transactions", + "uid": "transaction-overview", "refresh": "5s", "description": "What this shows: Transaction flow through this node: receipt, processing, results, per-stage timing, and queue behavior.\nUse it to: Trace transactions from arrival to ledger, and locate stalls in processing or the queue." } diff --git a/docker/telemetry/grafana/dashboards/xrpld-validator-health.json b/docker/telemetry/grafana/dashboards/validator-health.json similarity index 99% rename from docker/telemetry/grafana/dashboards/xrpld-validator-health.json rename to docker/telemetry/grafana/dashboards/validator-health.json index 69f9eeab0b..bc88209211 100644 --- a/docker/telemetry/grafana/dashboards/xrpld-validator-health.json +++ b/docker/telemetry/grafana/dashboards/validator-health.json @@ -1006,6 +1006,6 @@ "to": "now" }, "title": "Validator Health", - "uid": "xrpld-validator-health", + "uid": "validator-health", "refresh": "5s" } diff --git a/docs/superpowers/specs/2026-03-30-external-dashboard-parity-design.md b/docs/superpowers/specs/2026-03-30-external-dashboard-parity-design.md index 1223cbdbe7..1b7eeea724 100644 --- a/docs/superpowers/specs/2026-03-30-external-dashboard-parity-design.md +++ b/docs/superpowers/specs/2026-03-30-external-dashboard-parity-design.md @@ -432,7 +432,7 @@ Reads from the `ValidationTracker` (Task 7.8) to export rolling window stats. **Task 9.11: Validator Health Dashboard** -New Grafana dashboard: `xrpld-validator-health.json` +New Grafana dashboard: `validator-health.json` | Panel | Type | PromQL | | -------------------------- | ---------- | -------------------------------------------------------------- | @@ -456,7 +456,7 @@ New Grafana dashboard: `xrpld-validator-health.json` **Task 9.12: Peer Quality Dashboard** -New Grafana dashboard: `xrpld-peer-quality.json` +New Grafana dashboard: `peer-quality.json` | Panel | Type | PromQL | | ---------------------- | ---------- | -------------------------------------------------------------- | @@ -471,7 +471,7 @@ New Grafana dashboard: `xrpld-peer-quality.json` **Task 9.13: Ledger Economy Dashboard Panels** -Add a "Ledger Economy" row to the existing `system-node-health.json` dashboard: +Add a "Ledger Economy" row to the existing `node-health.json` dashboard: | Panel | Type | PromQL | | -------------------- | ---------- | --------------------------------------------------- | @@ -526,8 +526,8 @@ Add checks to `validate_telemetry.py` for all new span attributes and metrics. | Dashboard | | ------------------------------ | -| `xrpld-validator-health` | -| `xrpld-peer-quality` | +| `validator-health` | +| `peer-quality` | | `system-node-health` (updated) | **New metric value sanity checks (~4)**: diff --git a/docs/telemetry-runbook.md b/docs/telemetry-runbook.md index e613c6aeca..e7f04d9916 100644 --- a/docs/telemetry-runbook.md +++ b/docs/telemetry-runbook.md @@ -713,7 +713,7 @@ three signals' attributes over OTLP directly. Ten dashboards are pre-provisioned in `docker/telemetry/grafana/dashboards/`: -### RPC Performance (`xrpld-rpc-perf`) +### RPC Performance (`rpc-performance`) | Panel | Type | PromQL | Labels Used | | --------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ | @@ -726,7 +726,7 @@ Ten dashboards are pre-provisioned in `docker/telemetry/grafana/dashboards/`: | Top Commands by Volume | bargauge | `topk(10, ...)` by `command` | `command` | | WebSocket Message Rate | stat | `rpc.ws_message` rate | — | -### Transaction Overview (`xrpld-transactions`) +### Transaction Overview (`transaction-overview`) | Panel | Type | PromQL | Labels Used | | --------------------------------- | ---------- | ------------------------------------------------------------------------------------ | ------------- | @@ -739,7 +739,7 @@ Ten dashboards are pre-provisioned in `docker/telemetry/grafana/dashboards/`: | Peer TX Receive Rate | timeseries | `tx.receive` rate | — | | TX Apply Failed Rate | stat | `tx.apply` with `STATUS_CODE_ERROR` | `status_code` | -### Consensus Health (`xrpld-consensus`) +### Consensus Health (`consensus-health`) | Panel | Type | PromQL | Labels Used | | ----------------------------- | ---------- | ---------------------------------------------------------------------------------- | ---------------- | @@ -754,7 +754,7 @@ Ten dashboards are pre-provisioned in `docker/telemetry/grafana/dashboards/`: | Validation vs Close Rate | timeseries | `consensus.validation.send` vs `consensus.ledger_close` | — | | Accept Duration Heatmap | heatmap | `consensus.accept` histogram buckets | `le` | -### Ledger Operations (`xrpld-ledger-ops`) +### Ledger Operations (`ledger-operations`) | Panel | Type | PromQL | Labels Used | | ----------------------- | ---------- | ---------------------------------------------- | ----------- | @@ -767,7 +767,7 @@ Ten dashboards are pre-provisioned in `docker/telemetry/grafana/dashboards/`: | Ledger Store Rate | stat | `ledger.store` call rate | — | | Build vs Close Duration | timeseries | p95 `ledger.build` vs `consensus.ledger_close` | — | -### Peer Network (`xrpld-peer-net`) +### Peer Network (`peer-network`) Requires `trace_peer=1` in the `[telemetry]` config section. @@ -778,7 +778,7 @@ Requires `trace_peer=1` in the `[telemetry]` config section. | Proposals Trusted vs Untrusted | piechart | by `proposal_trusted` | `proposal_trusted` | | Validations Trusted vs Untrusted | piechart | by `validation_trusted` | `validation_trusted` | -### Node Health -- System Metrics (`xrpld-system-node-health`) +### Node Health -- System Metrics (`node-health`) | Panel | Type | PromQL | Labels Used | | -------------------------------------- | ---------- | --------------------------------------------------------------- | ---------------- | @@ -807,7 +807,7 @@ Requires `trace_peer=1` in the `[telemetry]` config section. | Database Sizes | timeseries | `xrpld_db_metrics{metric=~"db_kb_.*"}` | `metric` | | Historical Fetch Rate | stat | `xrpld_db_metrics{metric="historical_perminute"}` | `metric` | -### Network Traffic -- System Metrics (`xrpld-system-network`) +### Network Traffic -- System Metrics (`network-traffic`) | Panel | Type | PromQL | Labels Used | | ------------------------------------ | ---------- | ------------------------------------------ | ----------- | @@ -822,7 +822,7 @@ Requires `trace_peer=1` in the `[telemetry]` config section. | Duplicate Traffic (Wasted Bandwidth) | timeseries | `rate(xrpld_*_duplicate_Bytes_In/Out[5m])` | — | | All Traffic Categories (Detail) | timeseries | `topk(15, rate(xrpld_*_Bytes_In[5m]))` | — | -### RPC & Pathfinding -- System Metrics (`xrpld-system-rpc`) +### RPC & Pathfinding -- System Metrics (`rpc-pathfinding`) | Panel | Type | PromQL | Labels Used | | ------------------------- | ---------- | ------------------------------------------------------ | ----------- |