From 202fefe896e821e8c20c08a916265d220e2d981c Mon Sep 17 00:00:00 2001 From: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com> Date: Mon, 21 Sep 2026 19:06:01 +0100 Subject: [PATCH] feat(telemetry): scale count units and drop meaningless decimals Panels whose unit counts whole things switch from a custom `suffix:` unit to `si:`, so a large value reads 15 k nodes/s instead of 15000 nodes/s. A custom suffix unit is formatted by toFixedUnit, which never scales; si: goes through SIPrefix and does. decimals is set to 0 on the same panels, because a fraction of a ledger or a node says nothing. The two settings need each other: on its own decimals 0 would round a slow rate down to zero, and si: shifts it to the milli step instead. Left alone: the one panel whose unit is a seconds-per-second ratio. 20 panels across 5 dashboards. --- .../grafana/dashboards/consensus-health.json | 21 ++++++++++++------- .../grafana/dashboards/ledger-operations.json | 3 ++- .../grafana/dashboards/peer-network.json | 6 ++++-- .../grafana/dashboards/rpc-performance.json | 9 +++++--- .../dashboards/transaction-overview.json | 21 ++++++++++++------- 5 files changed, 40 insertions(+), 20 deletions(-) diff --git a/docker/telemetry/grafana/dashboards/consensus-health.json b/docker/telemetry/grafana/dashboards/consensus-health.json index 977c2fdcd7..1ae6303470 100644 --- a/docker/telemetry/grafana/dashboards/consensus-health.json +++ b/docker/telemetry/grafana/dashboards/consensus-health.json @@ -91,7 +91,8 @@ ], "fieldConfig": { "defaults": { - "unit": "suffix: proposals/s", + "unit": "si: proposals/s", + "decimals": 0, "custom": { "axisLabel": "Proposals / Sec", "spanNulls": 1800000, @@ -306,7 +307,8 @@ ], "fieldConfig": { "defaults": { - "unit": "suffix: closes/s", + "unit": "si: closes/s", + "decimals": 0, "custom": { "axisLabel": "Closes / Sec", "spanNulls": 1800000, @@ -357,7 +359,8 @@ ], "fieldConfig": { "defaults": { - "unit": "suffix: events/s", + "unit": "si: events/s", + "decimals": 0, "custom": { "axisLabel": "Events / Sec", "spanNulls": 1800000, @@ -408,7 +411,8 @@ ], "fieldConfig": { "defaults": { - "unit": "suffix: events/s", + "unit": "si: events/s", + "decimals": 0, "custom": { "axisLabel": "Events / Sec", "spanNulls": 1800000, @@ -820,7 +824,8 @@ ], "fieldConfig": { "defaults": { - "unit": "suffix: failures/s", + "unit": "si: failures/s", + "decimals": 0, "custom": { "axisLabel": "Failures / Sec", "spanNulls": 1800000, @@ -1024,7 +1029,8 @@ ], "fieldConfig": { "defaults": { - "unit": "suffix: checks/s", + "unit": "si: checks/s", + "decimals": 0, "custom": { "axisLabel": "Checks / Sec", "spanNulls": 1800000, @@ -1068,7 +1074,8 @@ ], "fieldConfig": { "defaults": { - "unit": "suffix: changes/s", + "unit": "si: changes/s", + "decimals": 0, "custom": { "axisLabel": "Changes / Sec", "spanNulls": 1800000, diff --git a/docker/telemetry/grafana/dashboards/ledger-operations.json b/docker/telemetry/grafana/dashboards/ledger-operations.json index 216d07b608..199645ff3b 100644 --- a/docker/telemetry/grafana/dashboards/ledger-operations.json +++ b/docker/telemetry/grafana/dashboards/ledger-operations.json @@ -246,7 +246,8 @@ ], "fieldConfig": { "defaults": { - "unit": "suffix: transactions/s", + "unit": "si: transactions/s", + "decimals": 0, "custom": { "axisLabel": "Transactions / Sec", "spanNulls": 1800000, diff --git a/docker/telemetry/grafana/dashboards/peer-network.json b/docker/telemetry/grafana/dashboards/peer-network.json index 4804111e1a..38e3cc2d4a 100644 --- a/docker/telemetry/grafana/dashboards/peer-network.json +++ b/docker/telemetry/grafana/dashboards/peer-network.json @@ -41,7 +41,8 @@ ], "fieldConfig": { "defaults": { - "unit": "suffix: proposals/s", + "unit": "si: proposals/s", + "decimals": 0, "custom": { "axisLabel": "Proposals / Sec", "spanNulls": 1800000, @@ -85,7 +86,8 @@ ], "fieldConfig": { "defaults": { - "unit": "suffix: validations/s", + "unit": "si: validations/s", + "decimals": 0, "custom": { "axisLabel": "Validations / Sec", "spanNulls": 1800000, diff --git a/docker/telemetry/grafana/dashboards/rpc-performance.json b/docker/telemetry/grafana/dashboards/rpc-performance.json index 29720c8fe9..5125e9ac57 100644 --- a/docker/telemetry/grafana/dashboards/rpc-performance.json +++ b/docker/telemetry/grafana/dashboards/rpc-performance.json @@ -274,7 +274,8 @@ ], "fieldConfig": { "defaults": { - "unit": "suffix: commands/s", + "unit": "si: commands/s", + "decimals": 0, "custom": { "axisLabel": "Commands / Sec", "spanNulls": 1800000, @@ -387,7 +388,8 @@ ], "fieldConfig": { "defaults": { - "unit": "suffix: requests/s", + "unit": "si: requests/s", + "decimals": 0, "custom": { "axisLabel": "Requests / Sec", "spanNulls": 1800000, @@ -438,7 +440,8 @@ ], "fieldConfig": { "defaults": { - "unit": "suffix: requests/s", + "unit": "si: requests/s", + "decimals": 0, "custom": { "axisLabel": "Requests / Sec", "spanNulls": 1800000, diff --git a/docker/telemetry/grafana/dashboards/transaction-overview.json b/docker/telemetry/grafana/dashboards/transaction-overview.json index 12fc795f63..8d6211580f 100644 --- a/docker/telemetry/grafana/dashboards/transaction-overview.json +++ b/docker/telemetry/grafana/dashboards/transaction-overview.json @@ -47,7 +47,8 @@ ], "fieldConfig": { "defaults": { - "unit": "suffix: transactions/s", + "unit": "si: transactions/s", + "decimals": 0, "custom": { "axisLabel": "Transactions / Sec", "spanNulls": 1800000, @@ -179,7 +180,8 @@ ], "fieldConfig": { "defaults": { - "unit": "suffix: transactions/s", + "unit": "si: transactions/s", + "decimals": 0, "custom": { "axisLabel": "Transactions / Sec", "spanNulls": 1800000, @@ -411,7 +413,8 @@ ], "fieldConfig": { "defaults": { - "unit": "suffix: transactions/s", + "unit": "si: transactions/s", + "decimals": 0, "custom": { "axisLabel": "Transactions / Sec", "spanNulls": 1800000, @@ -460,7 +463,8 @@ ], "fieldConfig": { "defaults": { - "unit": "suffix: transactions/s", + "unit": "si: transactions/s", + "decimals": 0, "custom": { "axisLabel": "Transactions / Sec", "spanNulls": 1800000, @@ -618,7 +622,8 @@ ], "fieldConfig": { "defaults": { - "unit": "suffix: enqueues/s", + "unit": "si: enqueues/s", + "decimals": 0, "custom": { "axisLabel": "Enqueues / Sec", "spanNulls": 1800000, @@ -713,7 +718,8 @@ ], "fieldConfig": { "defaults": { - "unit": "suffix: cleanups/s", + "unit": "si: cleanups/s", + "decimals": 0, "custom": { "axisLabel": "Cleanups / Sec", "spanNulls": 1800000, @@ -860,7 +866,8 @@ ], "fieldConfig": { "defaults": { - "unit": "suffix: failures/s", + "unit": "si: failures/s", + "decimals": 0, "custom": { "axisLabel": "Failures / Sec", "spanNulls": 1800000,