From dfcc091e7f3e1bcac78f113f3e2436686669bcb4 Mon Sep 17 00:00:00 2001 From: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com> Date: Tue, 14 Jul 2026 19:08:14 +0100 Subject: [PATCH 1/3] fix(telemetry): move legend brackets into collector label, drop empty [] The Display name templated the brackets: "${series} [${resource_group}] [${iac_group}]". When a group label was absent (e.g. iac_group on a non-perf node) the "${}" rendered empty, leaving a literal "[]" in the legend. The empty-bracket cleanup renameByRegex could not remove it: Grafana runs that transform on the pre-interpolation Display name template, which contains no "[]" -- the "[]" only appears after variable interpolation, at render time. Fix it at the source: the collector now bakes the brackets and comma separators into the group-label VALUES (e.g. resource_group="[node, mainnet]", iac_group="[branch, role, work-item]"). The Display name becomes bracket-free -- "${series} ${resource_group} ${iac_group}" -- so an absent group is simply an absent label and renders as nothing. Also switches the intra-group separator from "-" to ", " (e.g. "[node, mainnet]"). Drop the now-dead cleanup transform from every panel; value-mapping renameByRegex rules are preserved. Collector-side label building lives in the paired commits on the collector config branches. This commit is the dashboard half for the eleven dashboards this branch owns. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../grafana/dashboards/consensus-health.json | 182 +----- .../grafana/dashboards/fee-market.json | 91 +-- .../grafana/dashboards/job-queue.json | 104 +--- .../grafana/dashboards/ledger-operations.json | 91 +-- .../grafana/dashboards/node-health.json | 572 +++--------------- .../grafana/dashboards/peer-network.json | 78 +-- .../grafana/dashboards/peer-quality.json | 78 +-- .../grafana/dashboards/rpc-pathfinding.json | 169 +----- .../grafana/dashboards/rpc-performance.json | 208 +------ .../dashboards/transaction-overview.json | 182 +----- .../grafana/dashboards/validator-health.json | 221 ++----- 11 files changed, 304 insertions(+), 1672 deletions(-) diff --git a/docker/telemetry/grafana/dashboards/consensus-health.json b/docker/telemetry/grafana/dashboards/consensus-health.json index 05c44f5bce..fd6b97fda4 100644 --- a/docker/telemetry/grafana/dashboards/consensus-health.json +++ b/docker/telemetry/grafana/dashboards/consensus-health.json @@ -35,21 +35,12 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops" }, "overrides": [] }, - "id": 1, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 1 }, { "title": "Consensus Mode Over Time", @@ -78,7 +69,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Events / Sec", @@ -90,16 +81,7 @@ }, "overrides": [] }, - "id": 2, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 2 }, { "title": "Consensus Proposals Sent Rate", @@ -128,7 +110,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Proposals / Sec", @@ -140,16 +122,7 @@ }, "overrides": [] }, - "id": 3, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 3 }, { "title": "Accept vs Close Rate", @@ -184,7 +157,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Events / Sec", @@ -196,16 +169,7 @@ }, "overrides": [] }, - "id": 4, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 4 }, { "title": "Validation vs Close Rate", @@ -240,7 +204,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Events / Sec", @@ -252,16 +216,7 @@ }, "overrides": [] }, - "id": 5, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 5 }, { "title": "Time to Reach Consensus (p50/p95)", @@ -479,7 +434,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ms", "custom": { "axisLabel": "Duration (ms)", @@ -491,16 +446,7 @@ }, "overrides": [] }, - "id": 10, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 10 }, { "title": "Ledger Close Duration", @@ -529,7 +475,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ms", "custom": { "axisLabel": "Duration (ms)", @@ -541,16 +487,7 @@ }, "overrides": [] }, - "id": 11, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 11 }, { "title": "Ledger Apply Duration (doAccept)", @@ -572,7 +509,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ms", "custom": { "axisLabel": "Duration (ms)", @@ -584,16 +521,7 @@ }, "overrides": [] }, - "id": 12, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 12 }, { "title": "Consensus Accept Duration Heatmap", @@ -652,7 +580,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Rounds / Sec", @@ -664,16 +592,7 @@ }, "overrides": [] }, - "id": 14, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 14 }, { "title": "Close Time Vote Bins & Resolution", @@ -917,21 +836,12 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short" }, "overrides": [] }, - "id": 18, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 18 }, { "title": "Consensus Failures Over Time", @@ -966,7 +876,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Failures / Sec", @@ -978,16 +888,7 @@ }, "overrides": [] }, - "id": 19, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 19 }, { "title": "Consensus Stall Rate", @@ -1022,7 +923,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Checks / Sec", @@ -1034,16 +935,7 @@ }, "overrides": [] }, - "id": 20, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 20 }, { "title": "Consensus Mode-Change Rate by Target Mode", @@ -1072,7 +964,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Mode Changes / Sec", @@ -1084,16 +976,7 @@ }, "overrides": [] }, - "id": 21, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 21 }, { "title": "Ledger History Mismatch Rate by Reason", @@ -1122,7 +1005,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Mismatches / Sec", @@ -1134,16 +1017,7 @@ }, "overrides": [] }, - "id": 22, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 22 } ], "schemaVersion": 39, diff --git a/docker/telemetry/grafana/dashboards/fee-market.json b/docker/telemetry/grafana/dashboards/fee-market.json index 7e34d39ff3..de6d815f85 100644 --- a/docker/telemetry/grafana/dashboards/fee-market.json +++ b/docker/telemetry/grafana/dashboards/fee-market.json @@ -42,7 +42,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "custom": { "axisLabel": "Transactions", @@ -56,16 +56,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Transactions Per Ledger", @@ -100,7 +91,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "custom": { "axisLabel": "Transactions", @@ -114,16 +105,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Fee Escalation Levels", @@ -170,7 +152,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "custom": { "axisLabel": "Fee Level", @@ -188,16 +170,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Load Factor Breakdown", @@ -244,7 +217,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "custom": { "axisLabel": "Multiplier", @@ -274,16 +247,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Load Factor Components", @@ -324,7 +288,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "custom": { "axisLabel": "Multiplier", @@ -338,16 +302,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Queue Abandonment Rate (Expired)", @@ -376,7 +331,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Expired / Sec", @@ -387,16 +342,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Queue Admission Rejections (Dropped)", @@ -425,7 +371,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Dropped / Sec", @@ -436,16 +382,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } } ], "schemaVersion": 39, diff --git a/docker/telemetry/grafana/dashboards/job-queue.json b/docker/telemetry/grafana/dashboards/job-queue.json index 14ca9ff0da..e9ad922684 100644 --- a/docker/telemetry/grafana/dashboards/job-queue.json +++ b/docker/telemetry/grafana/dashboards/job-queue.json @@ -45,7 +45,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "\u00b5s", "min": 0, "thresholds": { @@ -68,16 +68,7 @@ }, "overrides": [] }, - "id": 1, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 1 }, { "title": "Job Throughput Rate (Per Second)", @@ -118,7 +109,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "drawStyle": "line", @@ -136,16 +127,7 @@ }, "overrides": [] }, - "id": 2, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 2 }, { "title": "Per-Job-Type Queued Rate", @@ -179,7 +161,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "drawStyle": "line", @@ -197,16 +179,7 @@ }, "overrides": [] }, - "id": 3, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 3 }, { "title": "Per-Job-Type Finish Rate", @@ -240,7 +213,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "drawStyle": "line", @@ -258,16 +231,7 @@ }, "overrides": [] }, - "id": 4, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 4 }, { "title": "Job Queue Wait Time", @@ -302,7 +266,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "\u00b5s", "custom": { "drawStyle": "line", @@ -320,16 +284,7 @@ }, "overrides": [] }, - "id": 5, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 5 }, { "title": "Job Execution Time", @@ -364,7 +319,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "\u00b5s", "custom": { "drawStyle": "line", @@ -382,16 +337,7 @@ }, "overrides": [] }, - "id": 6, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 6 }, { "title": "Per-Job-Type Execution Time (p99)", @@ -425,7 +371,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "\u00b5s", "custom": { "drawStyle": "line", @@ -443,16 +389,7 @@ }, "overrides": [] }, - "id": 7, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 7 }, { "title": "Transaction Overflow Rate", @@ -481,7 +418,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "cpm", "thresholds": { "steps": [ @@ -515,16 +452,7 @@ }, "overrides": [] }, - "id": 8, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 8 } ], "schemaVersion": 39, diff --git a/docker/telemetry/grafana/dashboards/ledger-operations.json b/docker/telemetry/grafana/dashboards/ledger-operations.json index 85a0498aaf..4f72acd8b4 100644 --- a/docker/telemetry/grafana/dashboards/ledger-operations.json +++ b/docker/telemetry/grafana/dashboards/ledger-operations.json @@ -35,20 +35,11 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops" }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Ledger Build Duration", @@ -77,7 +68,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ms", "custom": { "axisLabel": "Duration (ms)", @@ -88,16 +79,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Ledger Validation Rate", @@ -126,20 +108,11 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops" }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Ledger Build Duration Heatmap", @@ -204,7 +177,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ms", "custom": { "axisLabel": "Duration (ms)", @@ -215,16 +188,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Transaction Apply Rate", @@ -253,7 +217,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Operations / Sec", @@ -264,16 +228,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Ledger Store Rate", @@ -302,20 +257,11 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops" }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Build vs Close Duration", @@ -350,7 +296,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ms", "custom": { "axisLabel": "Duration (ms)", @@ -361,16 +307,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } } ], "schemaVersion": 39, diff --git a/docker/telemetry/grafana/dashboards/node-health.json b/docker/telemetry/grafana/dashboards/node-health.json index e0f20359b1..6e27b8c898 100644 --- a/docker/telemetry/grafana/dashboards/node-health.json +++ b/docker/telemetry/grafana/dashboards/node-health.json @@ -36,7 +36,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "s", "thresholds": { "steps": [ @@ -57,16 +57,7 @@ "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Published Ledger Age", @@ -95,7 +86,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "s", "thresholds": { "steps": [ @@ -116,16 +107,7 @@ "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Operating Mode (Time Share)", @@ -178,7 +160,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "percentunit", "min": 0, "max": 1, @@ -191,16 +173,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Operating Mode Transitions", @@ -253,7 +226,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "custom": { "axisLabel": "Transitions", @@ -264,16 +237,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "I/O Latency", @@ -302,7 +266,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ms", "custom": { "axisLabel": "Latency (ms)", @@ -313,16 +277,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Job Queue Depth", @@ -351,7 +306,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "custom": { "axisLabel": "Jobs", @@ -362,16 +317,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Ledger Fetch Rate", @@ -400,21 +346,12 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Ledger History Mismatches", @@ -443,7 +380,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "thresholds": { "steps": [ @@ -460,16 +397,7 @@ "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "NodeStore I/O", @@ -525,7 +453,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Operations / Sec", @@ -539,16 +467,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "NodeStore Cache Hit Ratio", @@ -579,7 +498,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "percentunit", "custom": { "axisLabel": "Operations / Sec", @@ -593,16 +512,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "NodeStore Write Load & Read Queue", @@ -637,7 +547,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "custom": { "axisLabel": "Count", @@ -667,16 +577,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "NodeStore Bytes Read/Written", @@ -711,7 +612,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "Bps", "custom": { "axisLabel": "Throughput", @@ -725,16 +626,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "NodeStore Read Threads", @@ -778,7 +670,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "custom": { "axisLabel": "Threads / Bundle", @@ -792,16 +684,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "NodeStore Read Busy Ratio", @@ -831,7 +714,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "percentunit", "custom": { "axisLabel": "Threads / Bundle", @@ -845,16 +728,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Cache Hit Rates", @@ -907,7 +781,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "percentunit", "min": 0, "max": 1, @@ -926,16 +800,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Cache Sizes", @@ -982,7 +847,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "custom": { "axisLabel": "Entries", @@ -996,16 +861,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Object Instance Counts", @@ -1051,7 +907,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "custom": { "axisLabel": "Instances", @@ -1065,16 +921,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Server Info", @@ -1115,7 +962,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "none", "mappings": [ { @@ -1167,16 +1014,7 @@ "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Uptime", @@ -1205,21 +1043,12 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "s", "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Peer Count", @@ -1248,21 +1077,12 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Validated Ledger Seq", @@ -1291,21 +1111,12 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "none", "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Last Close \u2014 Proposers", @@ -1335,7 +1146,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "custom": { "axisLabel": "Proposers", @@ -1349,16 +1160,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Last Close \u2014 Converge Time", @@ -1388,7 +1190,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ms", "custom": { "axisLabel": "Proposers", @@ -1402,16 +1204,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Build Version", @@ -1474,21 +1267,12 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "none", "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "NuDB Storage Size", @@ -1517,7 +1301,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "decbytes", "custom": { "axisLabel": "Size", @@ -1531,16 +1315,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Complete Ledgers & DB", @@ -1625,7 +1400,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "deckbytes", "custom": { "axisLabel": "Size (KB)", @@ -1639,16 +1414,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Historical Fetch Rate", @@ -1677,21 +1443,12 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "cpm", "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Peer Disconnects (Resources)", @@ -1720,7 +1477,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "custom": { "drawStyle": "line", @@ -1733,16 +1490,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Ledger Economy", @@ -1783,21 +1531,12 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "si:drops", "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Reserve Base (drops)", @@ -1826,21 +1565,12 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "si:drops", "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Reserve Inc (drops)", @@ -1869,21 +1599,12 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "si:drops", "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Ledger Age", @@ -1912,7 +1633,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "s", "thresholds": { "steps": [ @@ -1945,16 +1666,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Transaction Rate", @@ -1983,7 +1695,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "cps", "custom": { "axisLabel": "Transactions", @@ -2000,16 +1712,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Extended Metrics", @@ -2110,7 +1813,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ms", "custom": { "axisLabel": "Duration (ms)", @@ -2121,16 +1824,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Key Jobs Dequeue Wait Time (q$quantile)", @@ -2219,7 +1913,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ms", "custom": { "axisLabel": "Wait Time (ms)", @@ -2230,16 +1924,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "FullBelowCache Size", @@ -2268,7 +1953,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "custom": { "axisLabel": "Entries", @@ -2279,16 +1964,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "FullBelowCache Hit Rate", @@ -2317,7 +1993,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "percent", "min": 0, "max": 100, @@ -2339,16 +2015,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Ledger Publish Gap", @@ -2377,7 +2044,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "s", "thresholds": { "steps": [ @@ -2397,16 +2064,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "State Duration Rate (Full vs Tracking)", @@ -2441,7 +2099,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "custom": { "axisLabel": "Rate (s/s)", @@ -2452,16 +2110,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "All Jobs Execution Time (Detail)", @@ -2490,7 +2139,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ms", "custom": { "axisLabel": "Duration (ms)", @@ -2501,16 +2150,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "All Jobs Dequeue Wait (Detail)", @@ -2539,7 +2179,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ms", "custom": { "axisLabel": "Wait Time (ms)", @@ -2550,16 +2190,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Ledger Acquire Duration (Inbound Fetch)", @@ -2588,7 +2219,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ms", "custom": { "axisLabel": "Duration (ms)", @@ -2599,16 +2230,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Ledger Acquire Rate by Outcome", @@ -2637,7 +2259,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Acquisitions / Sec", @@ -2648,16 +2270,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Operating Mode (State Timeline)", @@ -2783,7 +2396,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "percentunit", "min": 0, "max": 1, @@ -2807,16 +2420,7 @@ "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } } ], "schemaVersion": 39, diff --git a/docker/telemetry/grafana/dashboards/peer-network.json b/docker/telemetry/grafana/dashboards/peer-network.json index 6224354d0e..ed86e8eae4 100644 --- a/docker/telemetry/grafana/dashboards/peer-network.json +++ b/docker/telemetry/grafana/dashboards/peer-network.json @@ -36,7 +36,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Proposals / Sec", @@ -47,16 +47,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Peer Validation Receive Rate", @@ -85,7 +76,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Validations / Sec", @@ -96,16 +87,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Proposals Trusted vs Untrusted", @@ -134,20 +116,11 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops" }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Validations Trusted vs Untrusted", @@ -176,20 +149,11 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops" }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Reduce-Relay Peer Selection", @@ -230,7 +194,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "custom": { "axisLabel": "Peer Count", @@ -241,16 +205,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Reduce-Relay Missing-Tx Frequency", @@ -279,7 +234,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "custom": { "axisLabel": "Frequency", @@ -290,16 +245,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } } ], "schemaVersion": 39, diff --git a/docker/telemetry/grafana/dashboards/peer-quality.json b/docker/telemetry/grafana/dashboards/peer-quality.json index 7d498149cf..75025fdef1 100644 --- a/docker/telemetry/grafana/dashboards/peer-quality.json +++ b/docker/telemetry/grafana/dashboards/peer-quality.json @@ -36,7 +36,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ms", "custom": { "axisLabel": "Latency (ms)", @@ -69,16 +69,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Insane/Diverged Peers", @@ -107,7 +98,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "thresholds": { "steps": [ @@ -128,16 +119,7 @@ "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Higher Version Peers %", @@ -166,7 +148,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "percent", "min": 0, "max": 100, @@ -189,16 +171,7 @@ "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Upgrade Recommended", @@ -227,7 +200,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "none", "mappings": [ { @@ -264,16 +237,7 @@ "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Resource Disconnects", @@ -302,7 +266,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "custom": { "axisLabel": "Disconnects", @@ -319,16 +283,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Inbound vs Outbound Peers", @@ -365,7 +320,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "thresholds": { "steps": [ @@ -409,16 +364,7 @@ ] } ] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } } ], "schemaVersion": 39, diff --git a/docker/telemetry/grafana/dashboards/rpc-pathfinding.json b/docker/telemetry/grafana/dashboards/rpc-pathfinding.json index dbff9d2d07..831ae84fc7 100644 --- a/docker/telemetry/grafana/dashboards/rpc-pathfinding.json +++ b/docker/telemetry/grafana/dashboards/rpc-pathfinding.json @@ -36,20 +36,11 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "reqps" }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "RPC Response Time", @@ -78,7 +69,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ms", "custom": { "axisLabel": "Latency (ms)", @@ -89,16 +80,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "RPC Response Size", @@ -127,7 +109,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "decbytes", "custom": { "axisLabel": "Size (Bytes)", @@ -138,16 +120,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "RPC Response Time Distribution", @@ -188,7 +161,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ms", "custom": { "axisLabel": "Latency (ms)", @@ -199,16 +172,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Pathfinding Fast Duration", @@ -237,7 +201,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ms", "custom": { "axisLabel": "Duration (ms)", @@ -248,16 +212,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Pathfinding Full Duration", @@ -286,7 +241,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ms", "custom": { "axisLabel": "Duration (ms)", @@ -297,16 +252,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Resource Warnings Rate", @@ -335,7 +281,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "thresholds": { "steps": [ @@ -355,16 +301,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Resource Drops Rate", @@ -393,7 +330,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "thresholds": { "steps": [ @@ -413,16 +350,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "gRPC Request Rate by Method (Spans)", @@ -451,7 +379,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Calls / Sec", @@ -462,16 +390,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "gRPC Latency P95 by Method (Spans)", @@ -500,7 +419,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ms", "custom": { "axisLabel": "Duration (ms)", @@ -511,16 +430,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "gRPC Error Rate by Status (Spans)", @@ -549,7 +459,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Calls / Sec", @@ -560,16 +470,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Pathfinding Compute Duration (Spans)", @@ -598,7 +499,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ms", "custom": { "axisLabel": "Duration (ms)", @@ -609,16 +510,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Pathfinding Request & Discovery Rate (Spans)", @@ -653,7 +545,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Operations / Sec", @@ -664,16 +556,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } } ], "schemaVersion": 39, diff --git a/docker/telemetry/grafana/dashboards/rpc-performance.json b/docker/telemetry/grafana/dashboards/rpc-performance.json index d23e93c972..058417286f 100644 --- a/docker/telemetry/grafana/dashboards/rpc-performance.json +++ b/docker/telemetry/grafana/dashboards/rpc-performance.json @@ -48,7 +48,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "reqps", "custom": { "axisLabel": "Requests / Sec", @@ -60,16 +60,7 @@ }, "overrides": [] }, - "id": 1, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 1 }, { "title": "RPC Latency P95 by Command", @@ -98,7 +89,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ms", "custom": { "axisLabel": "Latency (ms)", @@ -110,16 +101,7 @@ }, "overrides": [] }, - "id": 2, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 2 }, { "title": "RPC Error Rate", @@ -148,7 +130,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "percent", "thresholds": { "steps": [ @@ -169,16 +151,7 @@ }, "overrides": [] }, - "id": 3, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 3 }, { "title": "RPC Latency Heatmap", @@ -250,7 +223,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "reqps", "custom": { "axisLabel": "Requests / Sec", @@ -262,16 +235,7 @@ }, "overrides": [] }, - "id": 5, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 5 }, { "title": "RPC Success vs Error", @@ -306,7 +270,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Commands / Sec", @@ -318,16 +282,7 @@ }, "overrides": [] }, - "id": 6, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 6 }, { "title": "Top Commands by Volume", @@ -356,21 +311,12 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short" }, "overrides": [] }, - "id": 7, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 7 }, { "title": "WebSocket Message Rate", @@ -399,21 +345,12 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops" }, "overrides": [] }, - "id": 8, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 8 }, { "title": "RPC Resource Cost by Command", @@ -447,7 +384,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Requests / Sec", @@ -459,16 +396,7 @@ }, "overrides": [] }, - "id": 9, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 9 }, { "title": "Batch vs Single RPC Requests", @@ -503,7 +431,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Requests / Sec", @@ -515,16 +443,7 @@ }, "overrides": [] }, - "id": 10, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 10 }, { "id": 12, @@ -578,7 +497,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "drawStyle": "line", @@ -596,16 +515,7 @@ }, "overrides": [] }, - "id": 13, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 13 }, { "title": "Per-Method Call Rate (Top 10)", @@ -639,7 +549,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "drawStyle": "line", @@ -657,16 +567,7 @@ }, "overrides": [] }, - "id": 14, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 14 }, { "title": "Per-Method Error Rate (Top 10)", @@ -700,7 +601,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "drawStyle": "line", @@ -718,16 +619,7 @@ }, "overrides": [] }, - "id": 15, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 15 }, { "title": "RPC Latency - All Methods", @@ -762,7 +654,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "\u00b5s", "custom": { "drawStyle": "line", @@ -780,16 +672,7 @@ }, "overrides": [] }, - "id": 16, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 16 }, { "title": "Per-Method Latency (p99, Top 10 Slowest)", @@ -823,7 +706,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "\u00b5s", "custom": { "drawStyle": "line", @@ -841,16 +724,7 @@ }, "overrides": [] }, - "id": 17, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 17 }, { "title": "RPC Error Ratio by Method", @@ -884,7 +758,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "percentunit", "min": 0, "max": 1, @@ -920,16 +794,7 @@ }, "overrides": [] }, - "id": 18, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 18 }, { "title": "Current RPC Latency (p99 Gauge)", @@ -961,7 +826,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "\u00b5s", "min": 0, "thresholds": { @@ -984,16 +849,7 @@ }, "overrides": [] }, - "id": 19, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 19 } ], "schemaVersion": 39, diff --git a/docker/telemetry/grafana/dashboards/transaction-overview.json b/docker/telemetry/grafana/dashboards/transaction-overview.json index cc02021f18..ea819f8c25 100644 --- a/docker/telemetry/grafana/dashboards/transaction-overview.json +++ b/docker/telemetry/grafana/dashboards/transaction-overview.json @@ -35,7 +35,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "thresholds": { "steps": [ @@ -56,16 +56,7 @@ }, "overrides": [] }, - "id": 1, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 1 }, { "title": "Transaction Processing Latency by Type", @@ -99,7 +90,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ms", "custom": { "axisLabel": "Latency (ms)", @@ -111,16 +102,7 @@ }, "overrides": [] }, - "id": 2, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 2 }, { "title": "Transaction Rate by Type", @@ -154,7 +136,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "TX / Sec", @@ -166,16 +148,7 @@ }, "overrides": [] }, - "id": 3, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 3 }, { "title": "Transaction Results by Type", @@ -250,7 +223,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Transactions / Sec", @@ -262,16 +235,7 @@ }, "overrides": [] }, - "id": 5, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 5 }, { "title": "Transaction Processing Rate", @@ -306,7 +270,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Transactions / Sec", @@ -318,16 +282,7 @@ }, "overrides": [] }, - "id": 6, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 6 }, { "title": "Transaction Path Distribution", @@ -341,7 +296,7 @@ }, "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "cps" }, "overrides": [] @@ -361,16 +316,7 @@ "expr": "label_replace(sum by (local, service_instance_id, xrpl_branch, xrpl_node_role) (rate(span_calls_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\", local=~\"$tx_origin\", span_name=\"tx.process\", tx_type=~\"$tx_type\"}[$__rate_interval])), \"series\", \"Local $1\", \"local\", \"(.*)\")" } ], - "id": 7, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 7 }, { "title": "Transaction Processing Duration Heatmap", @@ -442,7 +388,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ms", "custom": { "axisLabel": "Duration (ms)", @@ -454,16 +400,7 @@ }, "overrides": [] }, - "id": 10, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 10 }, { "title": "TxQ Accept: Applied Ratio per Node (State Timeline)", @@ -565,7 +502,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ms", "custom": { "axisLabel": "Duration (ms)", @@ -577,16 +514,7 @@ }, "overrides": [] }, - "id": 12, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 12 }, { "title": "Tx Apply Pipeline Failure Rate by Stage", @@ -620,7 +548,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Failed Spans / Sec", @@ -632,16 +560,7 @@ }, "overrides": [] }, - "id": 13, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 13 }, { "title": "Tx Apply Pipeline Latency by Type and Stage (p95)", @@ -716,7 +635,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ms", "custom": { "axisLabel": "Latency (ms)", @@ -728,16 +647,7 @@ }, "overrides": [] }, - "id": 15, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 15 }, { "title": "TxQ Enqueue Rate by Transaction Type", @@ -766,7 +676,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Enqueues / Sec", @@ -778,16 +688,7 @@ }, "overrides": [] }, - "id": 16, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 16 }, { "title": "Queue Bypass Ratio (Direct Apply vs Enqueue)", @@ -816,7 +717,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "percentunit", "custom": { "axisLabel": "Bypass Fraction", @@ -828,16 +729,7 @@ }, "overrides": [] }, - "id": 18, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 18 }, { "title": "Queue Accept (Drain) Duration per Ledger", @@ -866,7 +758,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ms", "custom": { "axisLabel": "Duration (ms)", @@ -878,16 +770,7 @@ }, "overrides": [] }, - "id": 19, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 19 }, { "title": "Queue Cleanup Rate (Expired Entries)", @@ -916,7 +799,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "ops", "custom": { "axisLabel": "Cleanups / Sec", @@ -928,16 +811,7 @@ }, "overrides": [] }, - "id": 20, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 20 } ], "schemaVersion": 39, diff --git a/docker/telemetry/grafana/dashboards/validator-health.json b/docker/telemetry/grafana/dashboards/validator-health.json index e902cbeee7..52c8edd672 100644 --- a/docker/telemetry/grafana/dashboards/validator-health.json +++ b/docker/telemetry/grafana/dashboards/validator-health.json @@ -48,7 +48,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "percent", "min": 0, "max": 100, @@ -71,16 +71,7 @@ "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Agreement % (24h)", @@ -109,7 +100,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "percent", "min": 0, "max": 100, @@ -132,16 +123,7 @@ "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Agreements vs Missed (1h)", @@ -178,7 +160,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "thresholds": { "steps": [ @@ -207,16 +189,7 @@ ] } ] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Agreements vs Missed (24h)", @@ -253,7 +226,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "thresholds": { "steps": [ @@ -282,16 +255,7 @@ ] } ] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Validation Rates", @@ -332,7 +296,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "cpm", "thresholds": { "steps": [ @@ -353,16 +317,7 @@ "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Validations Checked Rate", @@ -391,21 +346,12 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "cpm", "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Amendment Blocked", @@ -434,7 +380,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "none", "mappings": [ { @@ -471,16 +417,7 @@ "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "UNL Expiry (days)", @@ -509,7 +446,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "d", "thresholds": { "steps": [ @@ -530,16 +467,7 @@ "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "UNL Blocked", @@ -568,7 +496,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "none", "mappings": [ { @@ -605,16 +533,7 @@ "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Agreement/Missed Counters (Rate)", @@ -649,7 +568,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "cpm", "custom": { "axisLabel": "Per Minute", @@ -682,16 +601,7 @@ ] } ] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Server State & Consensus", @@ -732,21 +642,12 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "none", "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "State Value Timeline", @@ -775,7 +676,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "custom": { "axisLabel": "State", @@ -792,16 +693,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Time in Current State", @@ -830,21 +722,12 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "s", "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "State Changes Rate", @@ -873,7 +756,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "suffix:/hr", "thresholds": { "steps": [ @@ -894,16 +777,7 @@ "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Ledgers Closed Rate", @@ -932,7 +806,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "cpm", "thresholds": { "steps": [ @@ -953,16 +827,7 @@ "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Agreement % (7d)", @@ -991,7 +856,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "percent", "min": 0, "max": 100, @@ -1014,16 +879,7 @@ "custom": {} }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Agreements vs Missed (7d)", @@ -1058,7 +914,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "custom": { "axisLabel": "Count", @@ -1069,16 +925,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } } ], "schemaVersion": 39, From 53289203ed65f2a64e0ed637a6d8842795c6a3cc Mon Sep 17 00:00:00 2001 From: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com> Date: Tue, 14 Jul 2026 19:08:25 +0100 Subject: [PATCH 2/3] fix(telemetry): move legend brackets into collector label, drop empty [] The Display name templated the brackets: "${series} [${resource_group}] [${iac_group}]". When a group label was absent the "${}" rendered empty, leaving a literal "[]" in the legend, and the cleanup renameByRegex could not remove it (Grafana runs that transform on the pre-interpolation template, which has no "[]" -- it only appears after interpolation at render time). Bake the brackets and comma separators into the group-label VALUES in the collector instead (resource_group="[node, mainnet]", iac_group="[branch, role, work-item]"), so the Display name is bracket-free ("${series} ${resource_group} ${iac_group}") and an absent group renders as nothing. Separator changes from "-" to ", ". Drop the dead cleanup transform. Covers this branch's local collector config and its three dashboards (ledger-data-sync, network-traffic, overlay-traffic-detail). Co-Authored-By: Claude Opus 4.8 (1M context) --- .../grafana/dashboards/ledger-data-sync.json | 195 +++--------------- .../grafana/dashboards/network-traffic.json | 117 ++--------- .../dashboards/overlay-traffic-detail.json | 104 ++-------- docker/telemetry/otel-collector-config.yaml | 36 ++-- 4 files changed, 82 insertions(+), 370 deletions(-) diff --git a/docker/telemetry/grafana/dashboards/ledger-data-sync.json b/docker/telemetry/grafana/dashboards/ledger-data-sync.json index 71e2cb523c..b841c04920 100644 --- a/docker/telemetry/grafana/dashboards/ledger-data-sync.json +++ b/docker/telemetry/grafana/dashboards/ledger-data-sync.json @@ -42,7 +42,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "Bps", "custom": { "axisLabel": "Bytes In", @@ -54,16 +54,7 @@ }, "overrides": [] }, - "id": 1, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 1 }, { "title": "Ledger Data \u2014 Transaction", @@ -110,7 +101,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "Bps", "custom": { "axisLabel": "Bytes In", @@ -122,16 +113,7 @@ }, "overrides": [] }, - "id": 2, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 2 }, { "title": "Ledger Data \u2014 Account State", @@ -166,7 +148,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "Bps", "custom": { "axisLabel": "Bytes In", @@ -178,16 +160,7 @@ }, "overrides": [] }, - "id": 3, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 3 }, { "title": "Ledger Traffic \u2014 Ledger", @@ -222,7 +195,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "Bps", "custom": { "axisLabel": "Bytes In", @@ -234,16 +207,7 @@ }, "overrides": [] }, - "id": 4, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 4 }, { "title": "Ledger Traffic \u2014 Transaction", @@ -290,7 +254,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "Bps", "custom": { "axisLabel": "Bytes In", @@ -302,16 +266,7 @@ }, "overrides": [] }, - "id": 5, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 5 }, { "title": "Ledger Traffic \u2014 Account State", @@ -346,7 +301,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "Bps", "custom": { "axisLabel": "Bytes In", @@ -358,16 +313,7 @@ }, "overrides": [] }, - "id": 6, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 6 }, { "title": "GetObject \u2014 Ledger", @@ -402,7 +348,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "Bps", "custom": { "axisLabel": "Bytes In", @@ -414,16 +360,7 @@ }, "overrides": [] }, - "id": 7, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 7 }, { "title": "GetObject \u2014 Transaction", @@ -470,7 +407,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "Bps", "custom": { "axisLabel": "Bytes In", @@ -482,16 +419,7 @@ }, "overrides": [] }, - "id": 8, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 8 }, { "title": "GetObject \u2014 Account State", @@ -526,7 +454,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "Bps", "custom": { "axisLabel": "Bytes In", @@ -538,16 +466,7 @@ }, "overrides": [] }, - "id": 9, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 9 }, { "title": "GetObject Messages \u2014 Ledger", @@ -576,7 +495,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "cps", "custom": { "axisLabel": "Messages In", @@ -588,16 +507,7 @@ }, "overrides": [] }, - "id": 10, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 10 }, { "title": "GetObject Messages \u2014 Transaction", @@ -632,7 +542,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "cps", "custom": { "axisLabel": "Messages In", @@ -644,16 +554,7 @@ }, "overrides": [] }, - "id": 11, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 11 }, { "title": "GetObject Messages \u2014 Account State", @@ -682,7 +583,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "cps", "custom": { "axisLabel": "Messages In", @@ -694,16 +595,7 @@ }, "overrides": [] }, - "id": 12, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 12 }, { "title": "GetObject Messages \u2014 Specials", @@ -744,7 +636,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "cps", "custom": { "axisLabel": "Messages In", @@ -756,16 +648,7 @@ }, "overrides": [] }, - "id": 13, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 13 }, { "title": "GetObject \u2014 Specials", @@ -830,7 +713,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "Bps", "custom": { "axisLabel": "Bytes In", @@ -842,16 +725,7 @@ }, "overrides": [] }, - "id": 14, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 14 }, { "title": "Overlay Traffic Heatmap (All Categories, Bytes In)", @@ -887,7 +761,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "decbytes", "thresholds": { "mode": "absolute", @@ -909,16 +783,7 @@ }, "overrides": [] }, - "id": 15, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + "id": 15 } ], "schemaVersion": 39, diff --git a/docker/telemetry/grafana/dashboards/network-traffic.json b/docker/telemetry/grafana/dashboards/network-traffic.json index 984e193eb9..2a764dcb52 100644 --- a/docker/telemetry/grafana/dashboards/network-traffic.json +++ b/docker/telemetry/grafana/dashboards/network-traffic.json @@ -42,7 +42,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "custom": { "axisLabel": "Peers", @@ -53,16 +53,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Peer Disconnects", @@ -91,7 +82,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "custom": { "axisLabel": "Disconnects per interval", @@ -102,16 +93,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Total Network Bytes", @@ -146,7 +128,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "Bps", "custom": { "axisLabel": "Bytes", @@ -157,16 +139,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Total Network Messages", @@ -201,7 +174,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "cps", "custom": { "axisLabel": "Messages", @@ -212,16 +185,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Transaction Traffic", @@ -262,7 +226,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "cps", "custom": { "axisLabel": "Messages", @@ -273,16 +237,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Proposal Traffic", @@ -329,7 +284,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "cps", "custom": { "axisLabel": "Messages", @@ -340,16 +295,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Validation Traffic", @@ -396,7 +342,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "cps", "custom": { "axisLabel": "Messages", @@ -407,16 +353,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Overlay Traffic by Category (Bytes In)", @@ -772,7 +709,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "Bps", "custom": { "axisLabel": "Throughput", @@ -783,16 +720,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "All Traffic Categories (Detail)", @@ -821,7 +749,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "Bps", "custom": { "axisLabel": "Throughput", @@ -832,16 +760,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } } ], "schemaVersion": 39, diff --git a/docker/telemetry/grafana/dashboards/overlay-traffic-detail.json b/docker/telemetry/grafana/dashboards/overlay-traffic-detail.json index ea408f3278..a86b304741 100644 --- a/docker/telemetry/grafana/dashboards/overlay-traffic-detail.json +++ b/docker/telemetry/grafana/dashboards/overlay-traffic-detail.json @@ -66,7 +66,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "cps", "custom": { "axisLabel": "Messages", @@ -77,16 +77,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Overhead Traffic Breakdown (Bytes)", @@ -145,7 +136,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "Bps", "custom": { "axisLabel": "Bytes", @@ -156,16 +147,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Validator List Traffic", @@ -212,7 +194,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "cps", "custom": { "axisLabel": "Count", @@ -240,16 +222,7 @@ ] } ] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Set Get/Share Traffic (Bytes)", @@ -296,7 +269,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "Bps", "custom": { "axisLabel": "Bytes", @@ -307,16 +280,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Have/Requested Transactions (Messages)", @@ -363,7 +327,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "cps", "custom": { "axisLabel": "Messages", @@ -374,16 +338,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Unknown / Unclassified Traffic", @@ -430,7 +385,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "short", "custom": { "axisLabel": "Count", @@ -458,16 +413,7 @@ ] } ] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Proof Path Traffic", @@ -514,7 +460,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "Bps", "custom": { "axisLabel": "Bytes", @@ -525,16 +471,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } }, { "title": "Replay Delta Traffic", @@ -581,7 +518,7 @@ ], "fieldConfig": { "defaults": { - "displayName": "${__field.labels.series} [${__field.labels.resource_group}] [${__field.labels.iac_group}]", + "displayName": "${__field.labels.series} ${__field.labels.resource_group} ${__field.labels.iac_group}", "unit": "Bps", "custom": { "axisLabel": "Bytes", @@ -592,16 +529,7 @@ } }, "overrides": [] - }, - "transformations": [ - { - "id": "renameByRegex", - "options": { - "regex": "/\\s*\\[\\]/g", - "renamePattern": "" - } - } - ] + } } ], "schemaVersion": 39, diff --git a/docker/telemetry/otel-collector-config.yaml b/docker/telemetry/otel-collector-config.yaml index 23f3a533b7..a777771b84 100644 --- a/docker/telemetry/otel-collector-config.yaml +++ b/docker/telemetry/otel-collector-config.yaml @@ -61,28 +61,28 @@ processors: - key: pathfind_dest_account action: hash # Build grouped legend labels from the tier / perf-iac resource attributes so - # dashboards reference one pre-built label per group instead of a per-panel - # renameByRegex chain. resource_to_telemetry_conversion (below) promotes these - # resource attributes to Prometheus labels automatically. - # - iac_group: the perf-iac branch/role/work-item. These three are stamped - # together by the perf-iac pipeline (all present, or all absent), so one - # guard covers them. Left UNSET outside perf runs -> Prometheus drops the - # empty label -> the dashboard legend shows nothing for it. - # - resource_group: node id, optionally suffixed with network type. The id - # is always present; network may be absent, so it is appended separately - # to avoid a trailing separator. - # Concat is guarded on presence (!= nil and != "") because OTTL Concat renders - # the literal text "" for an absent attribute and would emit a stray - # separator for an empty one. The perf-iac collector stamps these attributes - # with an empty-string default when a run has no work item, so the empty-string - # check matters, not just the nil check. + # dashboards reference one pre-built label per group. resource_to_telemetry_ + # conversion (below) promotes these resource attributes to Prometheus labels. + # The BRACKETS and comma separators are baked into the label VALUE here (e.g. + # "[node, mainnet]") rather than added in the dashboard Display name. This is + # deliberate: a Display name template like "... [${__field.labels.iac_group}]" + # would render an empty "[]" when the label is absent, and Grafana's + # renameByRegex transform runs on the pre-interpolation template so it cannot + # strip that "[]". Baking the brackets into the value means an absent group is + # simply an absent label -> the Display name renders nothing for it. + # - iac_group: "[branch, role, work-item]", built only when all three are + # present (perf runs). Left UNSET otherwise. + # - resource_group: "[node]" or "[node, network]" when a network is present. + # Guards check != nil and != "" because OTTL Concat renders "" for an + # absent attribute, and the perf-iac collector stamps these with an empty-string + # default outside a comparison run. transform/legendgroups: metric_statements: - context: resource statements: - - set(attributes["iac_group"], Concat([attributes["xrpl.branch"], attributes["xrpl.node.role"], attributes["xrpl.work.item"]], "-")) where attributes["xrpl.branch"] != nil and attributes["xrpl.branch"] != "" and attributes["xrpl.node.role"] != nil and attributes["xrpl.node.role"] != "" and attributes["xrpl.work.item"] != nil and attributes["xrpl.work.item"] != "" - - set(attributes["resource_group"], attributes["service.instance.id"]) where attributes["service.instance.id"] != nil and attributes["service.instance.id"] != "" - - set(attributes["resource_group"], Concat([attributes["resource_group"], attributes["xrpl.network.type"]], "-")) where attributes["resource_group"] != nil and attributes["xrpl.network.type"] != nil and attributes["xrpl.network.type"] != "" + - set(attributes["iac_group"], Concat(["[", Concat([attributes["xrpl.branch"], attributes["xrpl.node.role"], attributes["xrpl.work.item"]], ", "), "]"], "")) where attributes["xrpl.branch"] != nil and attributes["xrpl.branch"] != "" and attributes["xrpl.node.role"] != nil and attributes["xrpl.node.role"] != "" and attributes["xrpl.work.item"] != nil and attributes["xrpl.work.item"] != "" + - set(attributes["resource_group"], Concat(["[", attributes["service.instance.id"], "]"], "")) where attributes["service.instance.id"] != nil and attributes["service.instance.id"] != "" + - set(attributes["resource_group"], Concat(["[", attributes["service.instance.id"], ", ", attributes["xrpl.network.type"], "]"], "")) where attributes["service.instance.id"] != nil and attributes["service.instance.id"] != "" and attributes["xrpl.network.type"] != nil and attributes["xrpl.network.type"] != "" connectors: spanmetrics: From 1d8176918cd2876cea06da2a33135e1934147307 Mon Sep 17 00:00:00 2001 From: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com> Date: Tue, 14 Jul 2026 19:08:44 +0100 Subject: [PATCH 3/3] fix(telemetry): bake legend brackets into cloud + Alloy collector labels Mirror the local collector change on the Grafana Cloud collector config and the in-repo Alloy config: build the group-label VALUES with brackets and comma separators (resource_group="[node, mainnet]", iac_group="[branch, role, work-item]") in both trace and metric resource statements, so span-derived and native metrics carry the same bracketed values. This lets the dashboards use a bracket-free Display name and avoids the empty "[]" that a templated bracket would leave when a group is absent (Grafana's renameByRegex runs pre-interpolation and cannot strip it). Separator changes from "-" to ", ". Co-Authored-By: Claude Opus 4.8 (1M context) --- docker/telemetry/alloy/config.alloy | 12 ++++---- .../otel-collector-config.grafanacloud.yaml | 30 ++++++++++--------- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/docker/telemetry/alloy/config.alloy b/docker/telemetry/alloy/config.alloy index ffbe499159..994f84fa62 100644 --- a/docker/telemetry/alloy/config.alloy +++ b/docker/telemetry/alloy/config.alloy @@ -157,9 +157,9 @@ otelcol.processor.transform "tier" { // TRACES and go straight to the batch processor, bypassing the metric // resource statements. Building the labels on the span resource keeps // span-based dashboard panels' legends consistent with native metrics. - `set(attributes["resource_group"], attributes["service.instance.id"]) where attributes["service.instance.id"] != nil and attributes["service.instance.id"] != ""`, - `set(attributes["resource_group"], Concat([attributes["resource_group"], attributes["xrpl.network.type"]], "-")) where attributes["resource_group"] != nil and attributes["xrpl.network.type"] != nil and attributes["xrpl.network.type"] != ""`, - `set(attributes["iac_group"], Concat([attributes["xrpl.branch"], attributes["xrpl.node.role"], attributes["xrpl.work.item"]], "-")) where attributes["xrpl.branch"] != nil and attributes["xrpl.branch"] != "" and attributes["xrpl.node.role"] != nil and attributes["xrpl.node.role"] != "" and attributes["xrpl.work.item"] != nil and attributes["xrpl.work.item"] != ""`, + `set(attributes["resource_group"], Concat(["[", attributes["service.instance.id"], "]"], "")) where attributes["service.instance.id"] != nil and attributes["service.instance.id"] != ""`, + `set(attributes["resource_group"], Concat(["[", attributes["service.instance.id"], ", ", attributes["xrpl.network.type"], "]"], "")) where attributes["service.instance.id"] != nil and attributes["service.instance.id"] != "" and attributes["xrpl.network.type"] != nil and attributes["xrpl.network.type"] != ""`, + `set(attributes["iac_group"], Concat(["[", Concat([attributes["xrpl.branch"], attributes["xrpl.node.role"], attributes["xrpl.work.item"]], ", "), "]"], "")) where attributes["xrpl.branch"] != nil and attributes["xrpl.branch"] != "" and attributes["xrpl.node.role"] != nil and attributes["xrpl.node.role"] != "" and attributes["xrpl.work.item"] != nil and attributes["xrpl.work.item"] != ""`, ] } @@ -181,9 +181,9 @@ otelcol.processor.transform "tier" { // it is built only on perf-comparison nodes. The guard checks != "" // as well as != nil because OTTL Concat emits a stray separator for an // empty element. - `set(attributes["resource_group"], attributes["service.instance.id"]) where attributes["service.instance.id"] != nil and attributes["service.instance.id"] != ""`, - `set(attributes["resource_group"], Concat([attributes["resource_group"], attributes["xrpl.network.type"]], "-")) where attributes["resource_group"] != nil and attributes["xrpl.network.type"] != nil and attributes["xrpl.network.type"] != ""`, - `set(attributes["iac_group"], Concat([attributes["xrpl.branch"], attributes["xrpl.node.role"], attributes["xrpl.work.item"]], "-")) where attributes["xrpl.branch"] != nil and attributes["xrpl.branch"] != "" and attributes["xrpl.node.role"] != nil and attributes["xrpl.node.role"] != "" and attributes["xrpl.work.item"] != nil and attributes["xrpl.work.item"] != ""`, + `set(attributes["resource_group"], Concat(["[", attributes["service.instance.id"], "]"], "")) where attributes["service.instance.id"] != nil and attributes["service.instance.id"] != ""`, + `set(attributes["resource_group"], Concat(["[", attributes["service.instance.id"], ", ", attributes["xrpl.network.type"], "]"], "")) where attributes["service.instance.id"] != nil and attributes["service.instance.id"] != "" and attributes["xrpl.network.type"] != nil and attributes["xrpl.network.type"] != ""`, + `set(attributes["iac_group"], Concat(["[", Concat([attributes["xrpl.branch"], attributes["xrpl.node.role"], attributes["xrpl.work.item"]], ", "), "]"], "")) where attributes["xrpl.branch"] != nil and attributes["xrpl.branch"] != "" and attributes["xrpl.node.role"] != nil and attributes["xrpl.node.role"] != "" and attributes["xrpl.work.item"] != nil and attributes["xrpl.work.item"] != ""`, ] } diff --git a/docker/telemetry/otel-collector-config.grafanacloud.yaml b/docker/telemetry/otel-collector-config.grafanacloud.yaml index 3f269dc9ee..1f9740d8ff 100644 --- a/docker/telemetry/otel-collector-config.grafanacloud.yaml +++ b/docker/telemetry/otel-collector-config.grafanacloud.yaml @@ -130,25 +130,27 @@ processors: - set(attributes["resource_group"], resource.attributes["resource_group"]) where resource.attributes["resource_group"] != nil - set(attributes["iac_group"], resource.attributes["iac_group"]) where resource.attributes["iac_group"] != nil # Build grouped legend labels from the tier / perf-iac resource attributes so - # dashboards reference one pre-built label per group instead of a per-panel - # renameByRegex chain. On the local scrape these resource attributes are - # promoted to labels by resource_to_telemetry_conversion; on the Cloud path + # dashboards reference one pre-built label per group. On the local scrape these + # are promoted to labels by resource_to_telemetry_conversion; on the Cloud path # transform/cloudlabels (above) copies them onto datapoint attributes. - # - iac_group: perf-iac branch/role/work-item, stamped together (all or - # none), so one guard covers them. Unset outside perf runs -> the legend - # shows nothing for it. - # - resource_group: node id, optionally suffixed with network type. - # Concat is guarded on presence (!= nil and != "") because OTTL Concat renders - # "" for an absent attribute and a stray separator for an empty one. The - # perf-iac collector stamps these with an empty-string default when a run has - # no work item, so the empty-string check matters, not just the nil check. + # The BRACKETS and comma separators are baked into the label VALUE here (e.g. + # "[node, mainnet]") rather than added in the dashboard Display name: a template + # like "... [${__field.labels.iac_group}]" renders an empty "[]" when the label + # is absent, and Grafana's renameByRegex runs pre-interpolation so it cannot + # strip it. Baking brackets into the value means an absent group is just an + # absent label -> the Display name renders nothing for it. + # - iac_group: "[branch, role, work-item]", built only on perf runs. + # - resource_group: "[node]" or "[node, network]". + # Guards check != nil and != "" because OTTL Concat renders "" for an + # absent attribute and the perf-iac collector stamps these with an empty-string + # default outside a comparison run. transform/legendgroups: metric_statements: - context: resource statements: - - set(attributes["iac_group"], Concat([attributes["xrpl.branch"], attributes["xrpl.node.role"], attributes["xrpl.work.item"]], "-")) where attributes["xrpl.branch"] != nil and attributes["xrpl.branch"] != "" and attributes["xrpl.node.role"] != nil and attributes["xrpl.node.role"] != "" and attributes["xrpl.work.item"] != nil and attributes["xrpl.work.item"] != "" - - set(attributes["resource_group"], attributes["service.instance.id"]) where attributes["service.instance.id"] != nil and attributes["service.instance.id"] != "" - - set(attributes["resource_group"], Concat([attributes["resource_group"], attributes["xrpl.network.type"]], "-")) where attributes["resource_group"] != nil and attributes["xrpl.network.type"] != nil and attributes["xrpl.network.type"] != "" + - set(attributes["iac_group"], Concat(["[", Concat([attributes["xrpl.branch"], attributes["xrpl.node.role"], attributes["xrpl.work.item"]], ", "), "]"], "")) where attributes["xrpl.branch"] != nil and attributes["xrpl.branch"] != "" and attributes["xrpl.node.role"] != nil and attributes["xrpl.node.role"] != "" and attributes["xrpl.work.item"] != nil and attributes["xrpl.work.item"] != "" + - set(attributes["resource_group"], Concat(["[", attributes["service.instance.id"], "]"], "")) where attributes["service.instance.id"] != nil and attributes["service.instance.id"] != "" + - set(attributes["resource_group"], Concat(["[", attributes["service.instance.id"], ", ", attributes["xrpl.network.type"], "]"], "")) where attributes["service.instance.id"] != nil and attributes["service.instance.id"] != "" and attributes["xrpl.network.type"] != nil and attributes["xrpl.network.type"] != "" connectors: spanmetrics: