From aeb271b5c9605ef48606186eeba089a42aaa3d38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Migone?= Date: Thu, 17 Sep 2026 17:15:31 -0300 Subject: [PATCH] chore: update grafana dashboard to include more data MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Tomás Migone --- grafana/escrow_manager.json | 5103 +++++++++++++++++++++++------------ 1 file changed, 3359 insertions(+), 1744 deletions(-) diff --git a/grafana/escrow_manager.json b/grafana/escrow_manager.json index f2afb50..fc93932 100644 --- a/grafana/escrow_manager.json +++ b/grafana/escrow_manager.json @@ -1,1888 +1,3503 @@ { - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "grafana", - "uid": "-- Grafana --" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] + "apiVersion": "dashboard.grafana.app/v2", + "kind": "Dashboard", + "metadata": { + "name": "graph-tally-escrow-manager", + "generation": 6, + "creationTimestamp": "2026-02-27T17:54:04Z", + "labels": {}, + "annotations": {} }, - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 1, - "links": [], - "panels": [ - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 - }, - "id": 100, - "panels": [], - "title": "Overview", - "type": "row" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "decimals": 2, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": 0 - } - ] + "spec": { + "annotations": [ + { + "kind": "AnnotationQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "grafana", + "version": "v0", + "spec": {}, + "labels": { + "grafana.app/export-label": "grafana-1" + } }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 4, - "x": 0, - "y": 1 - }, - "id": 1, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "13.0.0-22326976726", - "targets": [ - { - "expr": "escrow_total_debt_grt", - "refId": "A" + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "builtIn": true } - ], - "title": "Total Debt (GRT)", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" + } + ], + "cursorSync": "Crosshair", + "editable": true, + "elements": { + "panel-1": { + "kind": "Panel", + "spec": { + "id": 1, + "title": "Total Debt (GRT)", + "description": "", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "max(escrow_total_debt_grt{job=~\"$job\"})", + "instant": true + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "A", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} + } }, - "decimals": 2, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "blue", - "value": 0 + "vizConfig": { + "kind": "VizConfig", + "group": "stat", + "version": "13.3.0-34942711622", + "spec": { + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "fieldConfig": { + "defaults": { + "unit": "none", + "decimals": 2, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "green" + } + ] + }, + "color": { + "mode": "thresholds" + } + }, + "overrides": [] } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 4, - "x": 4, - "y": 1 - }, - "id": 2, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "13.0.0-22326976726", - "targets": [ - { - "expr": "escrow_total_balance_grt", - "refId": "A" + } + } } - ], - "title": "Total Balance (GRT)", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" }, - "description": "Sum of the target escrow balance the funding algorithm is currently aiming for, across all receivers. Driven by debt and `balance_fill_factor`.", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" + "panel-10": { + "kind": "Panel", + "spec": { + "id": 10, + "title": "Deposit Success Rate", + "description": "", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "sum(increase(escrow_deposit_ok{job=~\"$job\"}[$__range])) / (sum(increase(escrow_deposit_ok{job=~\"$job\"}[$__range])) + sum(increase(escrow_deposit_err{job=~\"$job\"}[$__range]))) * 100", + "instant": true + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "A", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} + } }, - "decimals": 2, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "blue", - "value": 0 + "vizConfig": { + "kind": "VizConfig", + "group": "stat", + "version": "13.3.0-34942711622", + "spec": { + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "fieldConfig": { + "defaults": { + "unit": "percent", + "decimals": 2, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "red" + }, + { + "value": 90, + "color": "yellow" + }, + { + "value": 99, + "color": "green" + } + ] + }, + "color": { + "mode": "thresholds" + } + }, + "overrides": [] } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 4, - "x": 8, - "y": 1 - }, - "id": 17, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "13.0.0-22326976726", - "targets": [ - { - "expr": "escrow_total_target_grt", - "refId": "A" + } + } } - ], - "title": "Total Target (GRT)", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" }, - "description": "Escrow balance above what the algorithm is asking for. The manager never withdraws, so this only drains as receivers collect. A large value means drift from past debt, not the current funding margin.", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" + "panel-11": { + "kind": "Panel", + "spec": { + "id": 11, + "title": "Deposit Duration", + "description": "", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "rate(escrow_deposit_duration_sum{job=~\"$job\"}[5m]) / rate(escrow_deposit_duration_count{job=~\"$job\"}[5m])", + "legendFormat": "Avg Duration ({{pod}})" + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "A", + "hidden": false + } + }, + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "histogram_quantile(0.95, rate(escrow_deposit_duration_bucket{job=~\"$job\"}[5m]))", + "legendFormat": "p95 ({{pod}})" + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "B", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} + } }, - "decimals": 2, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": 0 - }, - { - "color": "yellow", - "value": 100000 + "vizConfig": { + "kind": "VizConfig", + "group": "timeseries", + "version": "13.3.0-34942711622", + "spec": { + "options": { + "annotations": { + "clustering": -1, + "multiLane": false + }, + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "single", + "sort": "none" + } }, - { - "color": "orange", - "value": 500000 + "fieldConfig": { + "defaults": { + "unit": "s", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "green" + } + ] + }, + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "barWidthFactor": 0.6, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "showValues": false, + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + } + }, + "overrides": [] } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 4, - "x": 12, - "y": 1 - }, - "id": 18, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "13.0.0-22326976726", - "targets": [ - { - "expr": "escrow_total_balance_grt - escrow_total_target_grt", - "refId": "A" + } + } } - ], - "title": "Idle Capital (GRT)", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" + "panel-12": { + "kind": "Panel", + "spec": { + "id": 12, + "title": "Deposits Over Time", + "description": "", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "sum(increase(escrow_deposit_ok{job=~\"$job\"}[1h]))", + "legendFormat": "OK" + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "A", + "hidden": false + } + }, + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "sum(increase(escrow_deposit_err{job=~\"$job\"}[1h]))", + "legendFormat": "Errors" + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "B", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} + } }, - "decimals": 2, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "yellow", - "value": 0 + "vizConfig": { + "kind": "VizConfig", + "group": "timeseries", + "version": "13.3.0-34942711622", + "spec": { + "options": { + "annotations": { + "clustering": -1, + "multiLane": false + }, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "none" + } + }, + "fieldConfig": { + "defaults": { + "unit": "none", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "green" + } + ] + }, + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "barWidthFactor": 0.6, + "drawStyle": "bars", + "fillOpacity": 100, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "showValues": false, + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "OK" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "green", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Errors" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + } + ] } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 4, - "x": 16, - "y": 1 - }, - "id": 3, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "13.0.0-22326976726", - "targets": [ - { - "expr": "escrow_total_adjustment_grt", - "refId": "A" + } + } } - ], - "title": "Last Adjustment (GRT)", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" + "panel-13": { + "kind": "Panel", + "spec": { + "id": 13, + "title": "Debt by Receiver (Top 10)", + "description": "", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "topk(10, max by (receiver) (escrow_debt_grt{job=~\"$job\"}))", + "legendFormat": "{{receiver}}" + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "A", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} + } }, - "decimals": 0, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "purple", - "value": 0 + "vizConfig": { + "kind": "VizConfig", + "group": "timeseries", + "version": "13.3.0-34942711622", + "spec": { + "options": { + "annotations": { + "clustering": -1, + "multiLane": false + }, + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "desc" + } + }, + "fieldConfig": { + "defaults": { + "unit": "none", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "green" + } + ] + }, + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "GRT", + "axisPlacement": "auto", + "barAlignment": 0, + "barWidthFactor": 0.6, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "showValues": false, + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + } + }, + "overrides": [] } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 4, - "x": 20, - "y": 1 - }, - "id": 4, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "13.0.0-22326976726", - "targets": [ - { - "expr": "escrow_receiver_count", - "refId": "A" + } + } } - ], - "title": "Receivers", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "GRT", - "axisPlacement": "auto", - "barAlignment": 0, - "barWidthFactor": 0.6, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "smooth", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "showValues": false, - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" + "panel-14": { + "kind": "Panel", + "spec": { + "id": 14, + "title": "Balance by Receiver (Top 10)", + "description": "", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "topk(10, max by (receiver) (escrow_balance_grt{job=~\"$job\"}))", + "legendFormat": "{{receiver}}" + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "A", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": 0 - } - ] - }, - "unit": "none" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "Debt" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "red", - "mode": "fixed" + "vizConfig": { + "kind": "VizConfig", + "group": "timeseries", + "version": "13.3.0-34942711622", + "spec": { + "options": { + "annotations": { + "clustering": -1, + "multiLane": false + }, + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "desc" } + }, + "fieldConfig": { + "defaults": { + "unit": "none", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "green" + } + ] + }, + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "GRT", + "axisPlacement": "auto", + "barAlignment": 0, + "barWidthFactor": 0.6, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "showValues": false, + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + } + }, + "overrides": [] } - ] - }, - { - "matcher": { - "id": "byName", - "options": "Balance" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "green", - "mode": "fixed" + } + } + } + }, + "panel-15": { + "kind": "Panel", + "spec": { + "id": 15, + "title": "Adjustments by Receiver (Top 10)", + "description": "", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "topk(10, max by (receiver) (escrow_adjustment_grt{job=~\"$job\"}))", + "legendFormat": "{{receiver}}" + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "A", + "hidden": false + } } - } - ] + ], + "transformations": [], + "queryOptions": {} + } }, - { - "matcher": { - "id": "byName", - "options": "Target" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "blue", - "mode": "fixed" - } - }, - { - "id": "custom.lineStyle", - "value": { - "dash": [ - 10, - 10 + "vizConfig": { + "kind": "VizConfig", + "group": "timeseries", + "version": "13.3.0-34942711622", + "spec": { + "options": { + "annotations": { + "clustering": -1, + "multiLane": false + }, + "legend": { + "calcs": [ + "lastNotNull" ], - "fill": "dash" + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "desc" } }, - { - "id": "custom.fillOpacity", - "value": 0 + "fieldConfig": { + "defaults": { + "unit": "none", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "green" + } + ] + }, + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "GRT", + "axisPlacement": "auto", + "barAlignment": 0, + "barWidthFactor": 0.6, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "showValues": false, + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + } + }, + "overrides": [] } - ] + } } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 5 - }, - "id": 5, - "options": { - "legend": { - "calcs": [ - "lastNotNull", - "mean" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "hideZeros": false, - "mode": "multi", - "sort": "desc" } }, - "pluginVersion": "13.0.0-22326976726", - "targets": [ - { - "expr": "escrow_total_debt_grt", - "legendFormat": "Debt", - "refId": "A" - }, - { - "expr": "escrow_total_target_grt", - "legendFormat": "Target", - "refId": "C" - }, - { - "expr": "escrow_total_balance_grt", - "legendFormat": "Balance", - "refId": "B" - } - ], - "title": "Debt vs Target vs Balance", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "Total balance as a percentage of total debt. The algorithm targets ~1/balance_fill_factor (125% at 0.8, 167% at 0.6). Sustained readings well above target indicate idle capital.", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" + "panel-16": { + "kind": "Panel", + "spec": { + "id": 16, + "title": "All Receivers", + "description": "Debt, target, balance and idle capital per receiver. Idle = balance - target; receivers with positive idle are not being funded this cycle.", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "max by (receiver) (escrow_debt_grt{job=~\"$job\"})", + "format": "table", + "instant": true + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "A", + "hidden": false + } + }, + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "max by (receiver) (escrow_balance_grt{job=~\"$job\"})", + "format": "table", + "instant": true + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "B", + "hidden": false + } + }, + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "max by (receiver) (escrow_balance_grt{job=~\"$job\"}) / max by (receiver) (escrow_debt_grt{job=~\"$job\"}) * 100", + "format": "table", + "instant": true + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "C", + "hidden": false + } + }, + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "max by (receiver) (escrow_target_grt{job=~\"$job\"})", + "format": "table", + "instant": true + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "D", + "hidden": false + } + }, + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "max by (receiver) (escrow_balance_grt{job=~\"$job\"}) - max by (receiver) (escrow_target_grt{job=~\"$job\"})", + "format": "table", + "instant": true + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "E", + "hidden": false + } + } + ], + "transformations": [ + { + "kind": "Transformation", + "group": "seriesToColumns", + "spec": { + "options": { + "byField": "receiver" + } + } + }, + { + "kind": "Transformation", + "group": "organize", + "spec": { + "options": { + "excludeByName": { + "Time": true, + "__name__": true, + "instance": true, + "job": true, + "Time 1": true, + "__name__ 1": true, + "cluster 1": true, + "container 1": true, + "endpoint 1": true, + "instance 1": true, + "job 1": true, + "namespace 1": true, + "pod 1": true, + "prometheus 1": true, + "Time 2": true, + "__name__ 2": true, + "cluster 2": true, + "container 2": true, + "endpoint 2": true, + "instance 2": true, + "job 2": true, + "namespace 2": true, + "pod 2": true, + "prometheus 2": true, + "Time 3": true, + "__name__ 3": true, + "cluster 3": true, + "container 3": true, + "endpoint 3": true, + "instance 3": true, + "job 3": true, + "namespace 3": true, + "pod 3": true, + "prometheus 3": true, + "Time 4": true, + "__name__ 4": true, + "cluster 4": true, + "container 4": true, + "endpoint 4": true, + "instance 4": true, + "job 4": true, + "namespace 4": true, + "pod 4": true, + "prometheus 4": true, + "Time 5": true, + "__name__ 5": true, + "cluster 5": true, + "container 5": true, + "endpoint 5": true, + "instance 5": true, + "job 5": true, + "namespace 5": true, + "pod 5": true, + "prometheus 5": true + }, + "includeByName": {}, + "indexByName": { + "receiver": 0, + "Value #A": 1, + "Value #D": 2, + "Value #B": 3, + "Value #E": 4, + "Value #C": 5 + }, + "renameByName": { + "receiver": "Receiver", + "Value #A": "Debt", + "Value #B": "Balance", + "Value #C": "Ratio %", + "Value #D": "Target", + "Value #E": "Idle" + } + } + } + } + ], + "queryOptions": {} + } }, - "decimals": 2, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "red", - "value": 0 - }, - { - "color": "yellow", - "value": 110 + "vizConfig": { + "kind": "VizConfig", + "group": "table", + "version": "13.3.0-34942711622", + "spec": { + "options": { + "cellHeight": "sm", + "showHeader": true, + "sortBy": [ + { + "desc": true, + "displayName": "Ratio %" + } + ] }, - { - "color": "green", - "value": 125 - }, - { - "color": "yellow", - "value": 175 - }, - { - "color": "orange", - "value": 225 + "fieldConfig": { + "defaults": { + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "green" + } + ] + }, + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "footer": { + "reducers": [] + }, + "inspect": false + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Debt" + }, + "properties": [ + { + "id": "custom.cellOptions", + "value": { + "mode": "gradient", + "type": "gauge" + } + }, + { + "id": "color", + "value": { + "mode": "continuous-RdYlGn", + "reverse": true + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Balance" + }, + "properties": [ + { + "id": "custom.cellOptions", + "value": { + "mode": "gradient", + "type": "gauge" + } + }, + { + "id": "color", + "value": { + "mode": "continuous-GrYlRd" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Ratio %" + }, + "properties": [ + { + "id": "unit", + "value": "percent" + }, + { + "id": "decimals", + "value": 1 + }, + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "color": "red", + "value": 0 + }, + { + "color": "yellow", + "value": 150 + }, + { + "color": "green", + "value": 167 + } + ] + } + }, + { + "id": "custom.cellOptions", + "value": { + "mode": "basic", + "type": "gauge" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Target" + }, + "properties": [ + { + "id": "decimals", + "value": 2 + }, + { + "id": "custom.cellOptions", + "value": { + "type": "color-text" + } + }, + { + "id": "color", + "value": { + "fixedColor": "blue", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Idle" + }, + "properties": [ + { + "id": "decimals", + "value": 2 + }, + { + "id": "custom.cellOptions", + "value": { + "type": "color-text" + } + }, + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "green" + }, + { + "value": 10000, + "color": "yellow" + }, + { + "value": 50000, + "color": "orange" + } + ] + } + } + ] + } + ] } - ] - }, - "unit": "percent" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 12, - "y": 5 - }, - "id": 6, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "13.0.0-22326976726", - "targets": [ - { - "expr": "(escrow_total_balance_grt / escrow_total_debt_grt) * 100", - "refId": "A" + } + } } - ], - "title": "Balance/Debt Ratio", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "seconds", - "axisPlacement": "auto", - "barAlignment": 0, - "barWidthFactor": 0.6, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "smooth", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "showValues": false, - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" + "panel-17": { + "kind": "Panel", + "spec": { + "id": 17, + "title": "Graph Tally escrow manager logs", + "description": "", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "victoriametrics-logs-datasource", + "version": "v0", + "spec": { + "direction": "desc", + "editorMode": "code", + "expr": "app: \"tap-escrow-manager-mainnet\" AND cluster: \"network\" | replace_regexp(\"\\\\x1b\\\\[[0-9;]*m\", \"\")", + "queryType": "instant" + }, + "labels": { + "grafana.app/export-label": "victoriametrics-logs-datasource-1", + "grafana.app/export-datasource-name": "vmetrics-logs" + } + }, + "refId": "A", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": 0 + "vizConfig": { + "kind": "VizConfig", + "group": "logs", + "version": "13.3.0-34942711622", + "spec": { + "options": { + "dedupStrategy": "none", + "enableInfiniteScrolling": false, + "enableLogDetails": true, + "prettifyLogMessage": true, + "showControls": false, + "showFieldSelector": false, + "showLevel": true, + "showLogAttributes": true, + "showTime": false, + "sortOrder": "Descending", + "timestampResolution": "ms", + "unwrappedColumns": false, + "wrapLogMessage": false + }, + "fieldConfig": { + "defaults": {}, + "overrides": [] } - ] - }, - "unit": "s" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 18, - "y": 5 - }, - "id": 7, - "options": { - "legend": { - "calcs": [ - "mean", - "max" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "hideZeros": false, - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "13.0.0-22326976726", - "targets": [ - { - "expr": "rate(escrow_loop_duration_seconds_sum[5m]) / rate(escrow_loop_duration_seconds_count[5m])", - "legendFormat": "Loop Duration", - "refId": "A" + } + } } - ], - "title": "Loop Duration", - "type": "timeseries" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 13 - }, - "id": 101, - "panels": [], - "title": "Deposits", - "type": "row" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" + "panel-2": { + "kind": "Panel", + "spec": { + "id": 2, + "title": "Total Balance (GRT)", + "description": "", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "max(escrow_total_balance_grt{job=~\"$job\"})", + "instant": true + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "A", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} + } }, - "decimals": 0, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": 0 + "vizConfig": { + "kind": "VizConfig", + "group": "stat", + "version": "13.3.0-34942711622", + "spec": { + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "fieldConfig": { + "defaults": { + "unit": "none", + "decimals": 2, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "blue" + } + ] + }, + "color": { + "mode": "thresholds" + } + }, + "overrides": [] } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 4, - "x": 0, - "y": 14 - }, - "id": 8, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "13.0.0-22326976726", - "targets": [ - { - "expr": "escrow_deposit_ok", - "refId": "A" + } + } } - ], - "title": "Deposits OK", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" + "panel-3": { + "kind": "Panel", + "spec": { + "id": 3, + "title": "Last Adjustment (GRT)", + "description": "", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "max(escrow_total_adjustment_grt{job=~\"$job\"})", + "instant": true + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "A", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} + } }, - "decimals": 0, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": 0 + "vizConfig": { + "kind": "VizConfig", + "group": "stat", + "version": "13.3.0-34942711622", + "spec": { + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - { - "color": "red", - "value": 1 + "fieldConfig": { + "defaults": { + "unit": "none", + "decimals": 2, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "yellow" + } + ] + }, + "color": { + "mode": "thresholds" + } + }, + "overrides": [] } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 4, - "x": 4, - "y": 14 - }, - "id": 9, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "13.0.0-22326976726", - "targets": [ - { - "expr": "escrow_deposit_err", - "refId": "A" + } + } } - ], - "title": "Deposits Failed", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" + "panel-4": { + "kind": "Panel", + "spec": { + "id": 4, + "title": "Receivers", + "description": "", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "max(escrow_receiver_count{job=~\"$job\"})", + "instant": true + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "A", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} + } }, - "decimals": 2, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "red", - "value": 0 - }, - { - "color": "yellow", - "value": 90 + "vizConfig": { + "kind": "VizConfig", + "group": "stat", + "version": "13.3.0-34942711622", + "spec": { + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - { - "color": "green", - "value": 99 + "fieldConfig": { + "defaults": { + "unit": "none", + "decimals": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "purple" + } + ] + }, + "color": { + "mode": "thresholds" + } + }, + "overrides": [] } - ] - }, - "unit": "percent" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 4, - "x": 8, - "y": 14 - }, - "id": 10, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "13.0.0-22326976726", - "targets": [ - { - "expr": "(escrow_deposit_ok / (escrow_deposit_ok + escrow_deposit_err)) * 100", - "refId": "A" + } + } } - ], - "title": "Deposit Success Rate", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "barWidthFactor": 0.6, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "smooth", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "showValues": false, - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" + "panel-5": { + "kind": "Panel", + "spec": { + "id": 5, + "title": "Debt vs Target vs Balance", + "description": "", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "escrow_total_debt_grt{job=~\"$job\"}", + "legendFormat": "Debt ({{pod}})" + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "A", + "hidden": false + } + }, + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "escrow_total_balance_grt{job=~\"$job\"}", + "legendFormat": "Balance ({{pod}})" + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "B", + "hidden": false + } + }, + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "escrow_total_target_grt{job=~\"$job\"}", + "legendFormat": "Target ({{pod}})" + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "C", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": 0 + "vizConfig": { + "kind": "VizConfig", + "group": "timeseries", + "version": "13.3.0-34942711622", + "spec": { + "options": { + "annotations": { + "clustering": -1, + "multiLane": false + }, + "legend": { + "calcs": [ + "lastNotNull", + "mean" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "desc" + } + }, + "fieldConfig": { + "defaults": { + "unit": "none", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "green" + } + ] + }, + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "GRT", + "axisPlacement": "auto", + "barAlignment": 0, + "barWidthFactor": 0.6, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "showValues": false, + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + } + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": "/^Debt/" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "red", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byRegexp", + "options": "/^Balance/" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "green", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byRegexp", + "options": "/^Target/" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "blue", + "mode": "fixed" + } + }, + { + "id": "custom.lineStyle", + "value": { + "dash": [ + 10, + 10 + ], + "fill": "dash" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + } + ] + } + ] } - ] - }, - "unit": "s" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 14 - }, - "id": 11, - "options": { - "legend": { - "calcs": [ - "mean", - "max" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "hideZeros": false, - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "13.0.0-22326976726", - "targets": [ - { - "expr": "rate(escrow_deposit_duration_sum[5m]) / rate(escrow_deposit_duration_count[5m])", - "legendFormat": "Avg Duration", - "refId": "A" - }, - { - "expr": "histogram_quantile(0.95, rate(escrow_deposit_duration_bucket[5m]))", - "legendFormat": "p95", - "refId": "B" + } + } } - ], - "title": "Deposit Duration", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "barWidthFactor": 0.6, - "drawStyle": "bars", - "fillOpacity": 100, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "showValues": false, - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" + "panel-6": { + "kind": "Panel", + "spec": { + "id": 6, + "title": "Balance/Debt Ratio", + "description": "Total balance as a percentage of total debt. The algorithm targets ~1/balance_fill_factor (125% at 0.8, 167% at 0.6). Sustained readings well above target indicate idle capital.", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "sum(escrow_total_balance_grt{job=~\"$job\"}) / sum(escrow_total_debt_grt{job=~\"$job\"}) * 100", + "instant": true + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "A", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": 0 + "vizConfig": { + "kind": "VizConfig", + "group": "stat", + "version": "13.3.0-34942711622", + "spec": { + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "fieldConfig": { + "defaults": { + "unit": "percent", + "decimals": 2, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "green" + }, + { + "value": 150, + "color": "yellow" + }, + { + "value": 200, + "color": "red" + } + ] + }, + "color": { + "mode": "thresholds" + } + }, + "overrides": [] } - ] - }, - "unit": "none" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "OK" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "green", - "mode": "fixed" + } + } + } + }, + "panel-7": { + "kind": "Panel", + "spec": { + "id": 7, + "title": "Loop Duration", + "description": "", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "rate(escrow_loop_duration_seconds_sum{job=~\"$job\"}[5m]) / rate(escrow_loop_duration_seconds_count{job=~\"$job\"}[5m])", + "legendFormat": "Loop Duration ({{pod}})" + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "A", + "hidden": false + } } - } - ] + ], + "transformations": [], + "queryOptions": {} + } }, - { - "matcher": { - "id": "byName", - "options": "Errors" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "red", - "mode": "fixed" + "vizConfig": { + "kind": "VizConfig", + "group": "timeseries", + "version": "13.3.0-34942711622", + "spec": { + "options": { + "annotations": { + "clustering": -1, + "multiLane": false + }, + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "single", + "sort": "none" } + }, + "fieldConfig": { + "defaults": { + "unit": "s", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "green" + } + ] + }, + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "seconds", + "axisPlacement": "auto", + "barAlignment": 0, + "barWidthFactor": 0.6, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "showValues": false, + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + } + }, + "overrides": [] } - ] + } } - ] - }, - "gridPos": { - "h": 4, - "w": 12, - "x": 0, - "y": 18 - }, - "id": 12, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "hideZeros": false, - "mode": "multi", - "sort": "none" - } - }, - "pluginVersion": "13.0.0-22326976726", - "targets": [ - { - "expr": "increase(escrow_deposit_ok[1h])", - "legendFormat": "OK", - "refId": "A" - }, - { - "expr": "increase(escrow_deposit_err[1h])", - "legendFormat": "Errors", - "refId": "B" } - ], - "title": "Deposits Over Time", - "type": "timeseries" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 22 - }, - "id": 102, - "panels": [], - "title": "Per Receiver", - "type": "row" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "GRT", - "axisPlacement": "auto", - "barAlignment": 0, - "barWidthFactor": 0.6, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "smooth", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "showValues": false, - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" + "panel-8": { + "kind": "Panel", + "spec": { + "id": 8, + "title": "Deposits OK", + "description": "", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "sum(increase(escrow_deposit_ok{job=~\"$job\"}[$__range]))", + "instant": true + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "A", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": 0 + "vizConfig": { + "kind": "VizConfig", + "group": "stat", + "version": "13.3.0-34942711622", + "spec": { + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "fieldConfig": { + "defaults": { + "unit": "none", + "decimals": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "green" + } + ] + }, + "color": { + "mode": "thresholds" + } + }, + "overrides": [] } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 23 - }, - "id": 13, - "options": { - "legend": { - "calcs": [ - "lastNotNull" - ], - "displayMode": "table", - "placement": "right", - "showLegend": true - }, - "tooltip": { - "hideZeros": false, - "mode": "multi", - "sort": "desc" + } + } } }, - "pluginVersion": "13.0.0-22326976726", - "targets": [ - { - "expr": "topk(10, escrow_debt_grt)", - "legendFormat": "{{receiver}}", - "refId": "A" - } - ], - "title": "Debt by Receiver (Top 10)", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "GRT", - "axisPlacement": "auto", - "barAlignment": 0, - "barWidthFactor": 0.6, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "smooth", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "showValues": false, - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" + "panel-9": { + "kind": "Panel", + "spec": { + "id": 9, + "title": "Deposits Failed", + "description": "", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "sum(increase(escrow_deposit_err{job=~\"$job\"}[$__range]))", + "instant": true + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "A", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": 0 + "vizConfig": { + "kind": "VizConfig", + "group": "stat", + "version": "13.3.0-34942711622", + "spec": { + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "fieldConfig": { + "defaults": { + "unit": "none", + "decimals": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "green" + }, + { + "value": 1, + "color": "red" + } + ] + }, + "color": { + "mode": "thresholds" + } + }, + "overrides": [] } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 23 - }, - "id": 14, - "options": { - "legend": { - "calcs": [ - "lastNotNull" - ], - "displayMode": "table", - "placement": "right", - "showLegend": true - }, - "tooltip": { - "hideZeros": false, - "mode": "multi", - "sort": "desc" + } + } } }, - "pluginVersion": "13.0.0-22326976726", - "targets": [ - { - "expr": "topk(10, escrow_balance_grt)", - "legendFormat": "{{receiver}}", - "refId": "A" + "panel-18": { + "kind": "Panel", + "spec": { + "id": 18, + "title": "Total Target (GRT)", + "description": "Sum of the target escrow balance the funding algorithm is currently aiming for, across all receivers. Driven by debt and `balance_fill_factor`.", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "max(escrow_total_target_grt{job=~\"$job\"})", + "instant": true + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "A", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} + } + }, + "vizConfig": { + "kind": "VizConfig", + "group": "stat", + "version": "13.3.0-34942711622", + "spec": { + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "fieldConfig": { + "defaults": { + "unit": "none", + "decimals": 2, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "blue" + } + ] + }, + "color": { + "mode": "thresholds" + } + }, + "overrides": [] + } + } + } } - ], - "title": "Balance by Receiver (Top 10)", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "GRT", - "axisPlacement": "auto", - "barAlignment": 0, - "barWidthFactor": 0.6, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "smooth", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "showValues": false, - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" + "panel-19": { + "kind": "Panel", + "spec": { + "id": 19, + "title": "Idle Capital (GRT)", + "description": "Escrow balance above what the algorithm is asking for. The manager never withdraws, so this only drains as receivers collect. A large value means drift from past debt, not the current funding margin.", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "max(escrow_total_balance_grt{job=~\"$job\"}) - max(escrow_total_target_grt{job=~\"$job\"})", + "instant": true + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "A", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": 0 + "vizConfig": { + "kind": "VizConfig", + "group": "stat", + "version": "13.3.0-34942711622", + "spec": { + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "fieldConfig": { + "defaults": { + "unit": "none", + "decimals": 2, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "green" + }, + { + "value": 100000, + "color": "yellow" + }, + { + "value": 500000, + "color": "orange" + } + ] + }, + "color": { + "mode": "thresholds" + } + }, + "overrides": [] } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 31 - }, - "id": 15, - "options": { - "legend": { - "calcs": [ - "lastNotNull" - ], - "displayMode": "table", - "placement": "right", - "showLegend": true - }, - "tooltip": { - "hideZeros": false, - "mode": "multi", - "sort": "desc" + } + } } }, - "pluginVersion": "13.0.0-22326976726", - "targets": [ - { - "expr": "topk(10, escrow_adjustment_grt)", - "legendFormat": "{{receiver}}", - "refId": "A" + "panel-20": { + "kind": "Panel", + "spec": { + "id": 20, + "title": "Idle Capital by Receiver (Top 10)", + "description": "Balance above target, per receiver. These accounts receive no deposits until their debt grows back into their balance.", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "topk(10, max by (receiver) (escrow_balance_grt{job=~\"$job\"}) - max by (receiver) (escrow_target_grt{job=~\"$job\"}))", + "legendFormat": "{{receiver}}" + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "A", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} + } + }, + "vizConfig": { + "kind": "VizConfig", + "group": "timeseries", + "version": "13.3.0-34942711622", + "spec": { + "options": { + "annotations": { + "clustering": -1, + "multiLane": false + }, + "legend": { + "calcs": [ + "lastNotNull" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "desc" + } + }, + "fieldConfig": { + "defaults": { + "unit": "none", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "green" + } + ] + }, + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "GRT", + "axisPlacement": "auto", + "barAlignment": 0, + "barWidthFactor": 0.6, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "showValues": false, + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + } + }, + "overrides": [] + } + } + } } - ], - "title": "Adjustments by Receiver (Top 10)", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" }, - "description": "Balance above target, per receiver. These accounts receive no deposits until their debt grows back into their balance.", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "GRT", - "axisPlacement": "auto", - "barAlignment": 0, - "barWidthFactor": 0.6, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "smooth", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "showValues": false, - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" + "panel-21": { + "kind": "Panel", + "spec": { + "id": 21, + "title": "Dead Escrow (GRT)", + "description": "Escrow held for receivers whose current debt is zero — the unrecoverable share of Idle Capital. These accounts have nothing left to collect and the manager has no withdraw path, so this does not drain on its own. Reads high if the Kafka receipts tally is incomplete.", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "sum(max by (receiver) (escrow_balance_grt{job=~\"$job\"}) and max by (receiver) (escrow_debt_grt{job=~\"$job\"}) == 0) or vector(0)", + "instant": true + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "A", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": 0 + "vizConfig": { + "kind": "VizConfig", + "group": "stat", + "version": "13.3.0-34942711622", + "spec": { + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "fieldConfig": { + "defaults": { + "unit": "none", + "decimals": 2, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "green" + }, + { + "value": 10000, + "color": "yellow" + }, + { + "value": 100000, + "color": "orange" + }, + { + "value": 500000, + "color": "red" + } + ] + }, + "color": { + "mode": "thresholds" + } + }, + "overrides": [] } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 31 - }, - "id": 19, - "options": { - "legend": { - "calcs": [ - "lastNotNull" - ], - "displayMode": "table", - "placement": "right", - "showLegend": true - }, - "tooltip": { - "hideZeros": false, - "mode": "multi", - "sort": "desc" + } + } } }, - "pluginVersion": "13.0.0-22326976726", - "targets": [ - { - "expr": "topk(10, escrow_balance_grt - escrow_target_grt)", - "legendFormat": "{{receiver}}", - "refId": "A" - } - ], - "title": "Idle Capital by Receiver (Top 10)", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "Debt, target, balance and idle capital per receiver. Idle = balance - target; receivers with positive idle are not being funded this cycle.", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "custom": { - "align": "auto", - "cellOptions": { - "type": "auto" - }, - "footer": { - "reducers": [] - }, - "inspect": false + "panel-22": { + "kind": "Panel", + "spec": { + "id": 22, + "title": "Dead Accounts", + "description": "Receivers holding escrow with zero current debt, usually indexers that closed all their allocations. Compare against Receivers to see how much of the set is inactive.", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "count(max by (receiver) (escrow_balance_grt{job=~\"$job\"}) > 0 and max by (receiver) (escrow_debt_grt{job=~\"$job\"}) == 0) or vector(0)", + "instant": true + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "A", + "hidden": false + } + } + ], + "transformations": [], + "queryOptions": {} + } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": 0 + "vizConfig": { + "kind": "VizConfig", + "group": "stat", + "version": "13.3.0-34942711622", + "spec": { + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "fieldConfig": { + "defaults": { + "unit": "none", + "decimals": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "purple" + } + ] + }, + "color": { + "mode": "thresholds" + } + }, + "overrides": [] } - ] + } } - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "Debt" - }, - "properties": [ - { - "id": "custom.cellOptions", - "value": { - "mode": "gradient", - "type": "gauge" + } + }, + "panel-23": { + "kind": "Panel", + "spec": { + "id": 23, + "title": "Dead Accounts (debt = 0)", + "description": "Receivers holding escrow with zero current debt, one row each, largest balance first. Peak Debt 7d/30d is the highest debt seen in that window: red (zero) means the account has been inactive for the whole window and its escrow is stranded, green means it was recently active and this is ordinary drift that will drain as the receiver collects. Escrow Balance sums to the Dead Escrow stat in Overview.", + "links": [], + "data": { + "kind": "QueryGroup", + "spec": { + "queries": [ + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "max by (receiver) (escrow_balance_grt{job=~\"$job\"}) and max by (receiver) (escrow_debt_grt{job=~\"$job\"}) == 0", + "format": "table", + "instant": true + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "A", + "hidden": false + } + }, + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "max by (receiver) (max_over_time(escrow_debt_grt{job=~\"$job\"}[7d])) and max by (receiver) (escrow_debt_grt{job=~\"$job\"}) == 0", + "format": "table", + "instant": true + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "B", + "hidden": false + } + }, + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "max by (receiver) (max_over_time(escrow_debt_grt{job=~\"$job\"}[30d])) and max by (receiver) (escrow_debt_grt{job=~\"$job\"}) == 0", + "format": "table", + "instant": true + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "C", + "hidden": false + } + }, + { + "kind": "PanelQuery", + "spec": { + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" + }, + "spec": { + "expr": "max by (receiver) (escrow_adjustment_grt{job=~\"$job\"}) and max by (receiver) (escrow_debt_grt{job=~\"$job\"}) == 0", + "format": "table", + "instant": true + }, + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" + } + }, + "refId": "D", + "hidden": false + } } - }, - { - "id": "color", - "value": { - "mode": "continuous-RdYlGn", - "reverse": true + ], + "transformations": [ + { + "kind": "Transformation", + "group": "seriesToColumns", + "spec": { + "options": { + "byField": "receiver" + } + } + }, + { + "kind": "Transformation", + "group": "organize", + "spec": { + "options": { + "excludeByName": { + "Time": true, + "__name__": true, + "Time 1": true, + "__name__ 1": true, + "Time 2": true, + "__name__ 2": true, + "Time 3": true, + "__name__ 3": true, + "Time 4": true, + "__name__ 4": true + }, + "includeByName": {}, + "indexByName": { + "receiver": 0, + "Value #A": 1, + "Value #B": 2, + "Value #C": 3, + "Value #D": 4 + }, + "renameByName": { + "receiver": "Receiver", + "Value #A": "Escrow Balance", + "Value #B": "Peak Debt 7d", + "Value #C": "Peak Debt 30d", + "Value #D": "Last Adjustment" + } + } + } } - } - ] + ], + "queryOptions": {} + } }, - { - "matcher": { - "id": "byName", - "options": "Balance" - }, - "properties": [ - { - "id": "custom.cellOptions", - "value": { - "mode": "gradient", - "type": "gauge" - } + "vizConfig": { + "kind": "VizConfig", + "group": "table", + "version": "13.3.0-34942711622", + "spec": { + "options": { + "cellHeight": "sm", + "showHeader": true, + "sortBy": [ + { + "desc": true, + "displayName": "Escrow Balance" + } + ] }, - { - "id": "color", - "value": { - "mode": "continuous-GrYlRd" - } + "fieldConfig": { + "defaults": { + "thresholds": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "green" + } + ] + }, + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "footer": { + "reducers": [] + }, + "inspect": false + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Escrow Balance" + }, + "properties": [ + { + "id": "decimals", + "value": 2 + }, + { + "id": "unit", + "value": "none" + }, + { + "id": "custom.cellOptions", + "value": { + "mode": "gradient", + "type": "gauge" + } + }, + { + "id": "color", + "value": { + "mode": "continuous-RdYlGn", + "reverse": true + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Peak Debt 7d" + }, + "properties": [ + { + "id": "decimals", + "value": 2 + }, + { + "id": "unit", + "value": "none" + }, + { + "id": "custom.cellOptions", + "value": { + "type": "color-text" + } + }, + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "red" + }, + { + "value": 1e-06, + "color": "green" + } + ] + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Peak Debt 30d" + }, + "properties": [ + { + "id": "decimals", + "value": 2 + }, + { + "id": "unit", + "value": "none" + }, + { + "id": "custom.cellOptions", + "value": { + "type": "color-text" + } + }, + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "value": 0, + "color": "red" + }, + { + "value": 1e-06, + "color": "green" + } + ] + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Last Adjustment" + }, + "properties": [ + { + "id": "decimals", + "value": 2 + }, + { + "id": "unit", + "value": "none" + } + ] + } + ] } - ] - }, + } + } + } + } + }, + "layout": { + "kind": "RowsLayout", + "spec": { + "rows": [ { - "matcher": { - "id": "byName", - "options": "Ratio %" - }, - "properties": [ - { - "id": "unit", - "value": "percent" - }, - { - "id": "decimals", - "value": 1 - }, - { - "id": "thresholds", - "value": { - "mode": "absolute", - "steps": [ + "kind": "RowsLayoutRow", + "spec": { + "title": "Overview", + "collapse": false, + "layout": { + "kind": "GridLayout", + "spec": { + "items": [ + { + "kind": "GridLayoutItem", + "spec": { + "x": 0, + "y": 0, + "width": 6, + "height": 4, + "element": { + "kind": "ElementReference", + "name": "panel-1" + } + } + }, + { + "kind": "GridLayoutItem", + "spec": { + "x": 6, + "y": 0, + "width": 6, + "height": 4, + "element": { + "kind": "ElementReference", + "name": "panel-2" + } + } + }, { - "color": "red", - "value": 0 + "kind": "GridLayoutItem", + "spec": { + "x": 12, + "y": 0, + "width": 6, + "height": 4, + "element": { + "kind": "ElementReference", + "name": "panel-18" + } + } }, { - "color": "yellow", - "value": 110 + "kind": "GridLayoutItem", + "spec": { + "x": 18, + "y": 0, + "width": 6, + "height": 4, + "element": { + "kind": "ElementReference", + "name": "panel-19" + } + } }, { - "color": "green", - "value": 125 + "kind": "GridLayoutItem", + "spec": { + "x": 0, + "y": 4, + "width": 6, + "height": 4, + "element": { + "kind": "ElementReference", + "name": "panel-21" + } + } + }, + { + "kind": "GridLayoutItem", + "spec": { + "x": 6, + "y": 4, + "width": 6, + "height": 4, + "element": { + "kind": "ElementReference", + "name": "panel-22" + } + } + }, + { + "kind": "GridLayoutItem", + "spec": { + "x": 12, + "y": 4, + "width": 6, + "height": 4, + "element": { + "kind": "ElementReference", + "name": "panel-3" + } + } + }, + { + "kind": "GridLayoutItem", + "spec": { + "x": 18, + "y": 4, + "width": 6, + "height": 4, + "element": { + "kind": "ElementReference", + "name": "panel-4" + } + } + }, + { + "kind": "GridLayoutItem", + "spec": { + "x": 0, + "y": 8, + "width": 12, + "height": 8, + "element": { + "kind": "ElementReference", + "name": "panel-5" + } + } + }, + { + "kind": "GridLayoutItem", + "spec": { + "x": 12, + "y": 8, + "width": 6, + "height": 8, + "element": { + "kind": "ElementReference", + "name": "panel-6" + } + } + }, + { + "kind": "GridLayoutItem", + "spec": { + "x": 18, + "y": 8, + "width": 6, + "height": 8, + "element": { + "kind": "ElementReference", + "name": "panel-7" + } + } } ] } - }, - { - "id": "custom.cellOptions", - "value": { - "mode": "basic", - "type": "gauge" - } } - ] + } }, { - "matcher": { - "id": "byName", - "options": "Target" - }, - "properties": [ - { - "id": "decimals", - "value": 2 - }, - { - "id": "custom.cellOptions", - "value": { - "type": "color-text" - } - }, - { - "id": "color", - "value": { - "fixedColor": "blue", - "mode": "fixed" + "kind": "RowsLayoutRow", + "spec": { + "title": "Deposits", + "collapse": false, + "layout": { + "kind": "GridLayout", + "spec": { + "items": [ + { + "kind": "GridLayoutItem", + "spec": { + "x": 0, + "y": 0, + "width": 4, + "height": 4, + "element": { + "kind": "ElementReference", + "name": "panel-8" + } + } + }, + { + "kind": "GridLayoutItem", + "spec": { + "x": 4, + "y": 0, + "width": 4, + "height": 4, + "element": { + "kind": "ElementReference", + "name": "panel-9" + } + } + }, + { + "kind": "GridLayoutItem", + "spec": { + "x": 8, + "y": 0, + "width": 4, + "height": 4, + "element": { + "kind": "ElementReference", + "name": "panel-10" + } + } + }, + { + "kind": "GridLayoutItem", + "spec": { + "x": 12, + "y": 0, + "width": 12, + "height": 8, + "element": { + "kind": "ElementReference", + "name": "panel-11" + } + } + }, + { + "kind": "GridLayoutItem", + "spec": { + "x": 0, + "y": 4, + "width": 12, + "height": 4, + "element": { + "kind": "ElementReference", + "name": "panel-12" + } + } + } + ] } } - ] + } }, { - "matcher": { - "id": "byName", - "options": "Idle" - }, - "properties": [ - { - "id": "decimals", - "value": 2 - }, - { - "id": "custom.cellOptions", - "value": { - "type": "color-text" - } - }, - { - "id": "thresholds", - "value": { - "mode": "absolute", - "steps": [ + "kind": "RowsLayoutRow", + "spec": { + "title": "Per Receiver", + "collapse": false, + "layout": { + "kind": "GridLayout", + "spec": { + "items": [ + { + "kind": "GridLayoutItem", + "spec": { + "x": 0, + "y": 0, + "width": 12, + "height": 8, + "element": { + "kind": "ElementReference", + "name": "panel-13" + } + } + }, + { + "kind": "GridLayoutItem", + "spec": { + "x": 12, + "y": 0, + "width": 12, + "height": 8, + "element": { + "kind": "ElementReference", + "name": "panel-14" + } + } + }, { - "color": "green", - "value": 0 + "kind": "GridLayoutItem", + "spec": { + "x": 0, + "y": 8, + "width": 12, + "height": 8, + "element": { + "kind": "ElementReference", + "name": "panel-15" + } + } }, { - "color": "yellow", - "value": 10000 + "kind": "GridLayoutItem", + "spec": { + "x": 12, + "y": 8, + "width": 12, + "height": 8, + "element": { + "kind": "ElementReference", + "name": "panel-20" + } + } }, { - "color": "orange", - "value": 50000 + "kind": "GridLayoutItem", + "spec": { + "x": 0, + "y": 16, + "width": 24, + "height": 8, + "element": { + "kind": "ElementReference", + "name": "panel-16" + } + } } ] } } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 24, - "x": 0, - "y": 39 - }, - "id": 16, - "options": { - "cellHeight": "sm", - "showHeader": true, - "sortBy": [ + } + }, + { + "kind": "RowsLayoutRow", + "spec": { + "title": "Dead Accounts", + "collapse": false, + "layout": { + "kind": "GridLayout", + "spec": { + "items": [ + { + "kind": "GridLayoutItem", + "spec": { + "x": 0, + "y": 0, + "width": 24, + "height": 10, + "element": { + "kind": "ElementReference", + "name": "panel-23" + } + } + } + ] + } + } + } + }, { - "desc": true, - "displayName": "Idle" + "kind": "RowsLayoutRow", + "spec": { + "title": "Logs", + "collapse": false, + "layout": { + "kind": "AutoGridLayout", + "spec": { + "maxColumnCount": 3, + "columnWidthMode": "standard", + "rowHeightMode": "standard", + "items": [ + { + "kind": "AutoGridLayoutItem", + "spec": { + "element": { + "kind": "ElementReference", + "name": "panel-17" + } + } + } + ] + } + } + } } ] - }, - "pluginVersion": "13.0.0-22326976726", - "targets": [ - { - "expr": "escrow_debt_grt", - "format": "table", - "instant": true, - "refId": "A" - }, - { - "expr": "escrow_balance_grt", - "format": "table", - "instant": true, - "refId": "B" - }, - { - "expr": "(escrow_balance_grt / escrow_debt_grt) * 100", - "format": "table", - "instant": true, - "refId": "C" - }, - { - "expr": "escrow_target_grt", - "format": "table", - "instant": true, - "refId": "D" - }, - { - "expr": "escrow_balance_grt - escrow_target_grt", - "format": "table", - "instant": true, - "refId": "E" - } + } + }, + "links": [], + "liveNow": false, + "preload": false, + "tags": [ + "graph-tally", + "escrow" + ], + "timeSettings": { + "timezone": "browser", + "from": "now-6h", + "to": "now", + "autoRefresh": "", + "autoRefreshIntervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" ], - "title": "All Receivers", - "transformations": [ - { - "id": "seriesToColumns", - "options": { - "byField": "receiver" - } - }, - { - "id": "organize", - "options": { - "excludeByName": { - "Time": true, - "Time 1": true, - "Time 2": true, - "Time 3": true, - "Time 4": true, - "Time 5": true, - "__name__": true, - "__name__ 1": true, - "__name__ 2": true, - "__name__ 3": true, - "__name__ 4": true, - "__name__ 5": true, - "cluster 1": true, - "cluster 2": true, - "cluster 3": true, - "cluster 4": true, - "cluster 5": true, - "container 1": true, - "container 2": true, - "container 3": true, - "container 4": true, - "container 5": true, - "endpoint 1": true, - "endpoint 2": true, - "endpoint 3": true, - "endpoint 4": true, - "endpoint 5": true, - "instance": true, - "instance 1": true, - "instance 2": true, - "instance 3": true, - "instance 4": true, - "instance 5": true, - "job": true, - "job 1": true, - "job 2": true, - "job 3": true, - "job 4": true, - "job 5": true, - "namespace 1": true, - "namespace 2": true, - "namespace 3": true, - "namespace 4": true, - "namespace 5": true, - "pod 1": true, - "pod 2": true, - "pod 3": true, - "pod 4": true, - "pod 5": true, - "prometheus 1": true, - "prometheus 2": true, - "prometheus 3": true, - "prometheus 4": true, - "prometheus 5": true + "hideTimepicker": false, + "fiscalYearStartMonth": 0 + }, + "title": "Graph Tally Escrow Manager", + "variables": [ + { + "kind": "DatasourceVariable", + "spec": { + "name": "datasource", + "pluginId": "prometheus", + "refresh": "onDashboardLoad", + "regex": "", + "current": { + "text": "", + "value": "" + }, + "options": [], + "multi": false, + "includeAll": false, + "label": "Datasource", + "hide": "dontHide", + "skipUrlSync": false, + "allowCustomValue": true + } + }, + { + "kind": "QueryVariable", + "spec": { + "name": "job", + "label": "Job", + "description": "Escrow manager deployment to display", + "current": { + "text": "", + "value": "" + }, + "hide": "dontHide", + "refresh": "onDashboardLoad", + "skipUrlSync": false, + "query": { + "kind": "DataQuery", + "group": "prometheus", + "version": "v0", + "datasource": { + "name": "${datasource}" }, - "includeByName": {}, - "indexByName": { - "Value #A": 1, - "Value #B": 3, - "Value #C": 5, - "Value #D": 2, - "Value #E": 4, - "receiver": 0 + "spec": { + "qryType": 1, + "label": "job", + "metric": "escrow_receiver_count", + "query": "label_values(escrow_receiver_count,job)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" }, - "renameByName": { - "Value #A": "Debt", - "Value #B": "Balance", - "Value #C": "Ratio %", - "Value #D": "Target", - "Value #E": "Idle", - "receiver": "Receiver" + "labels": { + "grafana.app/export-label": "prometheus-1", + "grafana.app/export-datasource-name": "VM graph-mainnet" } - } + }, + "regex": "", + "sort": "alphabeticalAsc", + "definition": "label_values(escrow_receiver_count,job)", + "options": [], + "multi": false, + "includeAll": false, + "allowCustomValue": true } - ], - "type": "table" - } - ], - "preload": false, - "refresh": "", - "schemaVersion": 42, - "tags": [ - "graph-tally", - "escrow" - ], - "templating": { - "list": [ - { - "current": {}, - "includeAll": false, - "label": "Datasource", - "name": "datasource", - "options": [], - "query": "prometheus", - "refresh": 1, - "regex": "", - "type": "datasource" } ] - }, - "time": { - "from": "now-30m", - "to": "now" - }, - "timepicker": {}, - "timezone": "browser", - "title": "Graph Tally Escrow Manager", - "uid": "graph-tally-escrow-manager", - "version": 3, - "weekStart": "" -} \ No newline at end of file + } +}