From 5b4f32848922521de330ec93785b91fff7c29bda Mon Sep 17 00:00:00 2001 From: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com> Date: Mon, 21 Sep 2026 17:00:52 +0100 Subject: [PATCH 1/3] feat(telemetry): add state-timeline pagination and multi-row annotations Every timeseries and state-timeline panel sets options.annotations.multiLane. The state-timeline panels set options.perPage to 5. 46 panels across 5 dashboards. --- .../grafana/dashboards/consensus-health.json | 72 +++++++++++++++++++ .../grafana/dashboards/ledger-operations.json | 16 +++++ .../grafana/dashboards/peer-network.json | 8 +++ .../grafana/dashboards/rpc-performance.json | 24 +++++++ .../dashboards/transaction-overview.json | 65 +++++++++++++++++ 5 files changed, 185 insertions(+) diff --git a/docker/telemetry/grafana/dashboards/consensus-health.json b/docker/telemetry/grafana/dashboards/consensus-health.json index bc42930978..977c2fdcd7 100644 --- a/docker/telemetry/grafana/dashboards/consensus-health.json +++ b/docker/telemetry/grafana/dashboards/consensus-health.json @@ -19,6 +19,10 @@ "y": 0 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -66,6 +70,10 @@ "y": 0 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -106,6 +114,10 @@ "y": 8 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -194,6 +206,10 @@ } ], "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -234,6 +250,10 @@ } ], "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -265,6 +285,10 @@ "y": 24 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -305,6 +329,10 @@ "y": 24 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -352,6 +380,10 @@ "y": 32 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -452,6 +484,10 @@ "overrides": [] }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -498,6 +534,10 @@ "overrides": [] }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -576,6 +616,10 @@ ] }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -629,6 +673,10 @@ "overrides": [] }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -744,6 +792,10 @@ "y": 64 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -791,6 +843,10 @@ "y": 72 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -838,6 +894,10 @@ "y": 72 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -885,6 +945,10 @@ "y": 80 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -932,6 +996,10 @@ "y": 80 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -979,6 +1047,10 @@ "y": 88 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", diff --git a/docker/telemetry/grafana/dashboards/ledger-operations.json b/docker/telemetry/grafana/dashboards/ledger-operations.json index 37673e5b62..216d07b608 100644 --- a/docker/telemetry/grafana/dashboards/ledger-operations.json +++ b/docker/telemetry/grafana/dashboards/ledger-operations.json @@ -51,6 +51,10 @@ "y": 8 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -170,6 +174,10 @@ "y": 16 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -217,6 +225,10 @@ "y": 16 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -289,6 +301,10 @@ "y": 24 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", diff --git a/docker/telemetry/grafana/dashboards/peer-network.json b/docker/telemetry/grafana/dashboards/peer-network.json index 9d9de27f58..4804111e1a 100644 --- a/docker/telemetry/grafana/dashboards/peer-network.json +++ b/docker/telemetry/grafana/dashboards/peer-network.json @@ -20,6 +20,10 @@ "y": 0 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -60,6 +64,10 @@ "y": 0 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", diff --git a/docker/telemetry/grafana/dashboards/rpc-performance.json b/docker/telemetry/grafana/dashboards/rpc-performance.json index b54b98a174..29720c8fe9 100644 --- a/docker/telemetry/grafana/dashboards/rpc-performance.json +++ b/docker/telemetry/grafana/dashboards/rpc-performance.json @@ -19,6 +19,10 @@ "y": 24 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -59,6 +63,10 @@ "y": 24 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -187,6 +195,10 @@ "y": 16 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -234,6 +246,10 @@ "y": 16 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -345,6 +361,10 @@ "y": 32 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -390,6 +410,10 @@ "y": 32 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", diff --git a/docker/telemetry/grafana/dashboards/transaction-overview.json b/docker/telemetry/grafana/dashboards/transaction-overview.json index 3fb01f7cd8..12fc795f63 100644 --- a/docker/telemetry/grafana/dashboards/transaction-overview.json +++ b/docker/telemetry/grafana/dashboards/transaction-overview.json @@ -19,6 +19,10 @@ "y": 0 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -66,6 +70,10 @@ "y": 0 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -150,6 +158,10 @@ "y": 8 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -230,6 +242,10 @@ "y": 16 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -277,6 +293,10 @@ "y": 24 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -365,6 +385,10 @@ "y": 32 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -410,6 +434,10 @@ "y": 32 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -455,7 +483,12 @@ "y": 40 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "mergeValues": true, + "perPage": 5, "showValue": "auto", "alignValue": "center", "rowHeight": 0.85, @@ -515,6 +548,10 @@ "y": 40 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -560,6 +597,10 @@ "y": 48 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -600,6 +641,10 @@ "y": 56 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -647,6 +692,10 @@ "y": 56 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -687,6 +736,10 @@ "y": 64 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -732,6 +785,10 @@ "y": 64 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -777,6 +834,10 @@ "y": 80 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -822,6 +883,10 @@ "y": 72 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", From 18e7333bbec9f2330735d9708c605e68edfca79c Mon Sep 17 00:00:00 2001 From: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com> Date: Mon, 21 Sep 2026 17:00:54 +0100 Subject: [PATCH 2/3] feat(telemetry): add state-timeline pagination and multi-row annotations Every timeseries and state-timeline panel sets options.annotations.multiLane. The state-timeline panels set options.perPage to 5. 62 panels across 5 dashboards. --- .../grafana/dashboards/ledger-data-sync.json | 101 ++++++++++++++++++ .../grafana/dashboards/network-traffic.json | 36 +++++++ .../grafana/dashboards/node-health.json | 40 +++++++ .../dashboards/overlay-traffic-detail.json | 32 ++++++ .../grafana/dashboards/rpc-pathfinding.json | 40 +++++++ 5 files changed, 249 insertions(+) diff --git a/docker/telemetry/grafana/dashboards/ledger-data-sync.json b/docker/telemetry/grafana/dashboards/ledger-data-sync.json index 598830b3fa..46de6be34a 100644 --- a/docker/telemetry/grafana/dashboards/ledger-data-sync.json +++ b/docker/telemetry/grafana/dashboards/ledger-data-sync.json @@ -81,6 +81,10 @@ "y": 10 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -131,6 +135,10 @@ "y": 10 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -193,6 +201,10 @@ "y": 20 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -243,6 +255,10 @@ "y": 20 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -293,6 +309,10 @@ "y": 30 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -355,6 +375,10 @@ "y": 30 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -405,6 +429,10 @@ "y": 40 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -455,6 +483,10 @@ "y": 40 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -517,6 +549,10 @@ "y": 50 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -567,6 +603,10 @@ "y": 50 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -611,6 +651,10 @@ "y": 60 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -661,6 +705,10 @@ "y": 60 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -705,6 +753,10 @@ "y": 70 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -761,6 +813,10 @@ "y": 70 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -854,6 +910,10 @@ "y": 81 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -979,6 +1039,10 @@ "y": 81 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -1031,7 +1095,12 @@ "y": 91 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "mergeValues": true, + "perPage": 5, "showValue": "auto", "alignValue": "left", "rowHeight": 0.9, @@ -1144,6 +1213,10 @@ "y": 91 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -1213,6 +1286,10 @@ "y": 101 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -1293,6 +1370,10 @@ "y": 101 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -1338,6 +1419,10 @@ "y": 111 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -1383,6 +1468,10 @@ "y": 111 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -1428,6 +1517,10 @@ "y": 121 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -1520,6 +1613,10 @@ "y": 121 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -1566,6 +1663,10 @@ "y": 131 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", diff --git a/docker/telemetry/grafana/dashboards/network-traffic.json b/docker/telemetry/grafana/dashboards/network-traffic.json index c1048eb6e3..d254ccb0b3 100644 --- a/docker/telemetry/grafana/dashboards/network-traffic.json +++ b/docker/telemetry/grafana/dashboards/network-traffic.json @@ -33,6 +33,10 @@ "y": 1 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -84,6 +88,10 @@ "y": 1 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -129,6 +137,10 @@ "y": 11 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -179,6 +191,10 @@ "y": 11 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -229,6 +245,10 @@ "y": 21 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -285,6 +305,10 @@ "y": 21 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -347,6 +371,10 @@ "y": 31 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -723,6 +751,10 @@ "y": 52 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -810,6 +842,10 @@ "y": 63 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", diff --git a/docker/telemetry/grafana/dashboards/node-health.json b/docker/telemetry/grafana/dashboards/node-health.json index d1dce0ca7c..6501e82369 100644 --- a/docker/telemetry/grafana/dashboards/node-health.json +++ b/docker/telemetry/grafana/dashboards/node-health.json @@ -208,6 +208,10 @@ "y": 40 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -283,6 +287,10 @@ "y": 40 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -364,6 +372,10 @@ "y": 50 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -415,6 +427,10 @@ "y": 50 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -579,6 +595,10 @@ "y": 81 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -693,6 +713,10 @@ "y": 81 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -807,6 +831,10 @@ "y": 91 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -851,6 +879,10 @@ "y": 91 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -902,6 +934,10 @@ "y": 101 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -946,6 +982,10 @@ "y": 101 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", diff --git a/docker/telemetry/grafana/dashboards/overlay-traffic-detail.json b/docker/telemetry/grafana/dashboards/overlay-traffic-detail.json index 50ded571c7..6ce38c9271 100644 --- a/docker/telemetry/grafana/dashboards/overlay-traffic-detail.json +++ b/docker/telemetry/grafana/dashboards/overlay-traffic-detail.json @@ -20,6 +20,10 @@ "y": 0 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -94,6 +98,10 @@ "y": 0 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -168,6 +176,10 @@ "y": 10 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -247,6 +259,10 @@ "y": 10 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -309,6 +325,10 @@ "y": 20 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -371,6 +391,10 @@ "y": 20 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -450,6 +474,10 @@ "y": 30 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -512,6 +540,10 @@ "y": 30 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", diff --git a/docker/telemetry/grafana/dashboards/rpc-pathfinding.json b/docker/telemetry/grafana/dashboards/rpc-pathfinding.json index 83c7c975f6..aa7cf2e579 100644 --- a/docker/telemetry/grafana/dashboards/rpc-pathfinding.json +++ b/docker/telemetry/grafana/dashboards/rpc-pathfinding.json @@ -70,6 +70,10 @@ "y": 11 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -123,6 +127,10 @@ "y": 11 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -176,6 +184,10 @@ "y": 21 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -364,6 +376,10 @@ "y": 52 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -417,6 +433,10 @@ "y": 52 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -483,6 +503,10 @@ "y": 63 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -528,6 +552,10 @@ "y": 63 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -573,6 +601,10 @@ "y": 73 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -618,6 +650,10 @@ "y": 73 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -671,6 +707,10 @@ "y": 83 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", From 73eb8336cc947ece4fd93f941e9153ce842fbce3 Mon Sep 17 00:00:00 2001 From: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com> Date: Mon, 21 Sep 2026 17:00:56 +0100 Subject: [PATCH 3/3] feat(telemetry): add state-timeline pagination and multi-row annotations Every timeseries and state-timeline panel sets options.annotations.multiLane. The state-timeline panels set options.perPage to 5. 99 panels across 13 dashboards. Seven of those already carried the option from this branch's node-health export, so they flip here and not upstream. --- .../grafana/dashboards/consensus-health.json | 24 ++++++ .../grafana/dashboards/fee-market.json | 28 +++++++ .../grafana/dashboards/job-queue.json | 28 +++++++ .../grafana/dashboards/ledger-data-sync.json | 36 +++++++++ .../grafana/dashboards/ledger-operations.json | 4 + .../dashboards/log-derived-insights.json | 77 +++++++++++++++++++ .../grafana/dashboards/node-health.json | 65 ++++++++-------- .../dashboards/overlay-traffic-detail.json | 16 ++++ .../grafana/dashboards/peer-network.json | 8 ++ .../grafana/dashboards/peer-quality.json | 8 ++ .../grafana/dashboards/rpc-performance.json | 24 ++++++ .../dashboards/transaction-overview.json | 8 ++ .../grafana/dashboards/validator-health.json | 12 +++ 13 files changed, 308 insertions(+), 30 deletions(-) diff --git a/docker/telemetry/grafana/dashboards/consensus-health.json b/docker/telemetry/grafana/dashboards/consensus-health.json index f66d65a993..a59b740276 100644 --- a/docker/telemetry/grafana/dashboards/consensus-health.json +++ b/docker/telemetry/grafana/dashboards/consensus-health.json @@ -311,6 +311,10 @@ "y": 31 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -369,6 +373,10 @@ }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -429,6 +437,10 @@ "y": 52 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -482,6 +494,10 @@ "y": 62 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -881,6 +897,10 @@ }, "id": 19, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -1196,6 +1216,10 @@ "y": 144 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", diff --git a/docker/telemetry/grafana/dashboards/fee-market.json b/docker/telemetry/grafana/dashboards/fee-market.json index bc90c3e7a7..6c1229a753 100644 --- a/docker/telemetry/grafana/dashboards/fee-market.json +++ b/docker/telemetry/grafana/dashboards/fee-market.json @@ -80,6 +80,10 @@ "y": 1 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -135,6 +139,10 @@ "y": 1 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -202,6 +210,10 @@ "y": 12 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -274,6 +286,10 @@ "y": 12 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -358,6 +374,10 @@ "y": 22 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -432,6 +452,10 @@ "y": 33 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -477,6 +501,10 @@ "y": 33 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", diff --git a/docker/telemetry/grafana/dashboards/job-queue.json b/docker/telemetry/grafana/dashboards/job-queue.json index 9273c3eb68..5c52372a40 100644 --- a/docker/telemetry/grafana/dashboards/job-queue.json +++ b/docker/telemetry/grafana/dashboards/job-queue.json @@ -157,6 +157,10 @@ "y": 12 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -217,6 +221,10 @@ "y": 22 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -270,6 +278,10 @@ "y": 32 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -336,6 +348,10 @@ "y": 43 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -390,6 +406,10 @@ "y": 43 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -444,6 +464,10 @@ "y": 53 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -510,6 +534,10 @@ "y": 64 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", diff --git a/docker/telemetry/grafana/dashboards/ledger-data-sync.json b/docker/telemetry/grafana/dashboards/ledger-data-sync.json index d14a8b88f0..e184e1c590 100644 --- a/docker/telemetry/grafana/dashboards/ledger-data-sync.json +++ b/docker/telemetry/grafana/dashboards/ledger-data-sync.json @@ -1686,6 +1686,10 @@ "y": 142 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -1738,6 +1742,10 @@ "y": 142 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -1796,6 +1804,10 @@ "y": 153 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -1871,6 +1883,10 @@ "y": 153 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -1924,6 +1940,10 @@ "y": 163 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -1987,6 +2007,10 @@ "y": 163 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -2039,6 +2063,10 @@ "y": 173 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -2098,6 +2126,10 @@ "y": 173 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -2150,6 +2182,10 @@ "y": 183 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", diff --git a/docker/telemetry/grafana/dashboards/ledger-operations.json b/docker/telemetry/grafana/dashboards/ledger-operations.json index 8fefbda59b..4de2a0d484 100644 --- a/docker/telemetry/grafana/dashboards/ledger-operations.json +++ b/docker/telemetry/grafana/dashboards/ledger-operations.json @@ -455,6 +455,10 @@ "y": 53 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", diff --git a/docker/telemetry/grafana/dashboards/log-derived-insights.json b/docker/telemetry/grafana/dashboards/log-derived-insights.json index dad20fc542..0205d6f370 100644 --- a/docker/telemetry/grafana/dashboards/log-derived-insights.json +++ b/docker/telemetry/grafana/dashboards/log-derived-insights.json @@ -938,6 +938,10 @@ "overrides": [] }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -992,9 +996,14 @@ "overrides": [] }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "showValue": "auto", "rowHeight": 0.9, "mergeValues": true, + "perPage": 5, "alignValue": "center", "tooltip": { "maxHeight": 600, @@ -1064,6 +1073,10 @@ "overrides": [] }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -1124,6 +1137,10 @@ "overrides": [] }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -1197,6 +1214,10 @@ "overrides": [] }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -1256,6 +1277,10 @@ "overrides": [] }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -1479,6 +1504,10 @@ "overrides": [] }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -1539,6 +1568,10 @@ "overrides": [] }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -1782,6 +1815,10 @@ "overrides": [] }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -1842,6 +1879,10 @@ "overrides": [] }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -1934,6 +1975,10 @@ "overrides": [] }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -1993,6 +2038,10 @@ "overrides": [] }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -2076,6 +2125,10 @@ "overrides": [] }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -2136,6 +2189,10 @@ "overrides": [] }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -2197,6 +2254,10 @@ "overrides": [] }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -2281,6 +2342,10 @@ "overrides": [] }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -2341,6 +2406,10 @@ "overrides": [] }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -2402,6 +2471,10 @@ "overrides": [] }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -2494,6 +2567,10 @@ "overrides": [] }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", diff --git a/docker/telemetry/grafana/dashboards/node-health.json b/docker/telemetry/grafana/dashboards/node-health.json index 6d6cc69f86..fa88f9a9a9 100644 --- a/docker/telemetry/grafana/dashboards/node-health.json +++ b/docker/telemetry/grafana/dashboards/node-health.json @@ -567,7 +567,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -759,7 +759,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -895,7 +895,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": ["sum", "max"], @@ -1031,7 +1031,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -1191,7 +1191,7 @@ "alignValue": "left", "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "displayMode": "list", @@ -1200,6 +1200,7 @@ "showLegend": true }, "mergeValues": true, + "perPage": 5, "rowHeight": 0.9, "showValue": "auto", "tooltip": { @@ -1308,7 +1309,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -1427,7 +1428,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -1534,7 +1535,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -1645,7 +1646,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -1757,7 +1758,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -1876,7 +1877,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -1992,7 +1993,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -2095,7 +2096,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -2278,7 +2279,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -2461,7 +2462,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -2564,7 +2565,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -2679,7 +2680,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -2798,7 +2799,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -2925,7 +2926,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -3737,7 +3738,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -3837,7 +3838,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -3974,7 +3975,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -4081,7 +4082,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -4185,7 +4186,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": ["last", "max"], @@ -4435,7 +4436,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -4555,7 +4556,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -4881,7 +4882,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -4984,7 +4985,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -5087,7 +5088,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -5190,7 +5191,7 @@ "options": { "annotations": { "clustering": -1, - "multiLane": false + "multiLane": true }, "legend": { "calcs": [], @@ -5245,6 +5246,10 @@ "y": 350 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", diff --git a/docker/telemetry/grafana/dashboards/overlay-traffic-detail.json b/docker/telemetry/grafana/dashboards/overlay-traffic-detail.json index c74e58235e..dd19064f0d 100644 --- a/docker/telemetry/grafana/dashboards/overlay-traffic-detail.json +++ b/docker/telemetry/grafana/dashboards/overlay-traffic-detail.json @@ -670,6 +670,10 @@ "y": 41 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -779,6 +783,10 @@ "y": 51 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -823,6 +831,10 @@ "y": 51 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -867,6 +879,10 @@ "y": 61 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", diff --git a/docker/telemetry/grafana/dashboards/peer-network.json b/docker/telemetry/grafana/dashboards/peer-network.json index 3788de3be6..deb114f470 100644 --- a/docker/telemetry/grafana/dashboards/peer-network.json +++ b/docker/telemetry/grafana/dashboards/peer-network.json @@ -266,6 +266,10 @@ "y": 23 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -326,6 +330,10 @@ "y": 23 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", diff --git a/docker/telemetry/grafana/dashboards/peer-quality.json b/docker/telemetry/grafana/dashboards/peer-quality.json index fb66e33b20..fde2f671fc 100644 --- a/docker/telemetry/grafana/dashboards/peer-quality.json +++ b/docker/telemetry/grafana/dashboards/peer-quality.json @@ -80,6 +80,10 @@ "y": 1 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -443,6 +447,10 @@ "y": 53 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", diff --git a/docker/telemetry/grafana/dashboards/rpc-performance.json b/docker/telemetry/grafana/dashboards/rpc-performance.json index e5743792cc..0b232724a0 100644 --- a/docker/telemetry/grafana/dashboards/rpc-performance.json +++ b/docker/telemetry/grafana/dashboards/rpc-performance.json @@ -627,6 +627,10 @@ "y": 92 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -690,6 +694,10 @@ "y": 102 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -744,6 +752,10 @@ "y": 112 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -798,6 +810,10 @@ "y": 122 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -854,6 +870,10 @@ "y": 132 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -908,6 +928,10 @@ "y": 142 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", diff --git a/docker/telemetry/grafana/dashboards/transaction-overview.json b/docker/telemetry/grafana/dashboards/transaction-overview.json index 71e8d79ca8..9cc6da329e 100644 --- a/docker/telemetry/grafana/dashboards/transaction-overview.json +++ b/docker/telemetry/grafana/dashboards/transaction-overview.json @@ -800,6 +800,10 @@ "y": 122 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", @@ -850,6 +854,10 @@ "y": 132 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "mode": "multi", "sort": "desc", diff --git a/docker/telemetry/grafana/dashboards/validator-health.json b/docker/telemetry/grafana/dashboards/validator-health.json index 5746a7567d..58ed43719c 100644 --- a/docker/telemetry/grafana/dashboards/validator-health.json +++ b/docker/telemetry/grafana/dashboards/validator-health.json @@ -642,6 +642,10 @@ "y": 92 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -973,6 +977,10 @@ "y": 153 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi", @@ -1022,6 +1030,10 @@ "y": 153 }, "options": { + "annotations": { + "clustering": -1, + "multiLane": true + }, "tooltip": { "maxHeight": 600, "mode": "multi",