From 8fe6645825990fdc1df7de482d7d01257ddf8d4b Mon Sep 17 00:00:00 2001 From: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com> Date: Mon, 27 Jul 2026 17:44:35 +0100 Subject: [PATCH] fix(telemetry): label mode-transition series with both ends of the edge The panel built its legend with label_replace from the `from` label alone, so every edge leaving a mode collapsed onto one series: connected->syncing and connected->full both drew as "connected". The whole point of the from/to pair is to tell a healthy climb from flapping, and that was exactly what the legend hid. label_replace cannot concatenate two labels. label_join can, which is the pattern the consensus board already uses for its multi-label legends, so the series now reads "from -> to". Also regenerates the Grafana Cloud copy of the board. Co-Authored-By: Claude Opus 5 (1M context) --- docker/telemetry/grafana/dashboards/ledger-sync-health.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/telemetry/grafana/dashboards/ledger-sync-health.json b/docker/telemetry/grafana/dashboards/ledger-sync-health.json index f9f629aa68..56c6cc587f 100644 --- a/docker/telemetry/grafana/dashboards/ledger-sync-health.json +++ b/docker/telemetry/grafana/dashboards/ledger-sync-health.json @@ -2042,7 +2042,7 @@ "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, - "expr": "label_replace(sum by (from, to) (increase(state_changes_total{service_instance_id=~\"$node\", deployment_environment=~\"$deployment_environment\", xrpl_network_type=~\"$xrpl_network_type\", service_name=~\"$service_name\", xrpl_work_item=~\"$xrpl_work_item\", xrpl_branch=~\"$xrpl_branch\", xrpl_node_role=~\"$xrpl_node_role\", from=~\"$mode_from\", to=~\"$mode_to\"}[$__range])), \"series\", \"$1\", \"from\", \"(.*)\")", + "expr": "label_join(sum by (from, to) (increase(state_changes_total{service_instance_id=~\"$node\", deployment_environment=~\"$deployment_environment\", xrpl_network_type=~\"$xrpl_network_type\", service_name=~\"$service_name\", xrpl_work_item=~\"$xrpl_work_item\", xrpl_branch=~\"$xrpl_branch\", xrpl_node_role=~\"$xrpl_node_role\", from=~\"$mode_from\", to=~\"$mode_to\"}[$__range])), \"series\", \" \u2192 \", \"from\", \"to\")", "refId": "A" } ],