From 98aa53ebbae022c1367315dce8182da16006ccc2 Mon Sep 17 00:00:00 2001 From: tuyennhv Date: Wed, 18 Jan 2023 04:27:46 +0700 Subject: [PATCH] Add block proposal errors metric to grafana dashboard (#5019) --- dashboards/lodestar_block_production.json | 483 +++++++++++++++------- 1 file changed, 339 insertions(+), 144 deletions(-) diff --git a/dashboards/lodestar_block_production.json b/dashboards/lodestar_block_production.json index a5eac51bf15d..6888ea11475c 100644 --- a/dashboards/lodestar_block_production.json +++ b/dashboards/lodestar_block_production.json @@ -1,52 +1,12 @@ { - "__inputs": [ - { - "name": "DS_PROMETHEUS", - "label": "Prometheus", - "description": "", - "type": "datasource", - "pluginId": "prometheus", - "pluginName": "Prometheus" - } - ], - "__elements": [], - "__requires": [ - { - "type": "grafana", - "id": "grafana", - "name": "Grafana", - "version": "8.4.2" - }, - { - "type": "panel", - "id": "graph", - "name": "Graph (old)", - "version": "" - }, - { - "type": "panel", - "id": "heatmap", - "name": "Heatmap", - "version": "" - }, - { - "type": "datasource", - "id": "prometheus", - "name": "Prometheus", - "version": "1.0.0" - }, - { - "type": "panel", - "id": "timeseries", - "name": "Time series", - "version": "" - } - ], "annotations": { "list": [ { "builtIn": 1, - "datasource": "-- Grafana --", + "datasource": { + "type": "datasource", + "uid": "grafana" + }, "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", @@ -64,15 +24,16 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 0, - "id": null, - "iteration": 1661342264729, + "id": 32, "links": [ { "asDropdown": true, "icon": "external link", "includeVars": true, "keepTime": true, - "tags": ["lodestar"], + "tags": [ + "lodestar" + ], "targetBlank": false, "title": "Lodestar dashboards", "tooltip": "", @@ -84,6 +45,10 @@ "panels": [ { "collapsed": false, + "datasource": { + "type": "prometheus", + "uid": "prometheus_local" + }, "gridPos": { "h": 1, "w": 24, @@ -92,16 +57,31 @@ }, "id": 166, "panels": [], + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus_local" + }, + "refId": "A" + } + ], "title": "Block Production", "type": "row" }, { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -204,6 +184,30 @@ } } ] + }, + { + "__systemRef": "hideSeriesFrom", + "matcher": { + "id": "byNames", + "options": { + "mode": "exclude", + "names": [ + "errors" + ], + "prefix": "All except:", + "readOnly": true + } + }, + "properties": [ + { + "id": "custom.hideFrom", + "value": { + "legend": false, + "tooltip": false, + "viz": true + } + } + ] } ] }, @@ -218,7 +222,8 @@ "legend": { "calcs": [], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { "mode": "single", @@ -231,11 +236,13 @@ "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, + "editorMode": "code", "exemplar": false, "expr": "rate(beacon_block_production_successes_total[$rate_interval])", "hide": false, "interval": "", "legendFormat": "success", + "range": true, "refId": "B" }, { @@ -243,10 +250,12 @@ "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, + "editorMode": "code", "exemplar": false, "expr": "rate(beacon_block_production_requests_total[$rate_interval])\n-\nrate(beacon_block_production_successes_total[$rate_interval])", "interval": "", "legendFormat": "errors", + "range": true, "refId": "A" } ], @@ -254,12 +263,18 @@ "type": "timeseries" }, { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -316,7 +331,8 @@ "legend": { "calcs": [], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { "mode": "single", @@ -341,12 +357,18 @@ "type": "timeseries" }, { + "datasource": { + "type": "prometheus", + "uid": "prometheus_local" + }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -397,12 +419,216 @@ "x": 0, "y": 9 }, + "id": 528, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus_local" + }, + "editorMode": "code", + "expr": "rate(lodestar_api_rest_errors_total{operationId=~\"produceBlockV2|produceBlindedBlock|publishBlock|publishBlindedBlock\"}[$rate_interval])", + "legendFormat": "{{operationId}}", + "range": true, + "refId": "A" + } + ], + "title": "Block Proposal Errors", + "type": "timeseries" + }, + { + "cards": {}, + "color": { + "cardColor": "#b4ff00", + "colorScale": "sqrt", + "colorScheme": "interpolateOranges", + "exponent": 0.5, + "mode": "spectrum" + }, + "dataFormat": "tsbuckets", + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "custom": { + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "scaleDistribution": { + "type": "linear" + } + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 9 + }, + "heatmap": {}, + "hideZeroBuckets": false, + "highlightCards": true, + "id": 526, + "legend": { + "show": false + }, + "options": { + "calculate": false, + "calculation": {}, + "cellGap": 2, + "cellValues": {}, + "color": { + "exponent": 0.5, + "fill": "#b4ff00", + "mode": "scheme", + "reverse": false, + "scale": "exponential", + "scheme": "Oranges", + "steps": 128 + }, + "exemplars": { + "color": "rgba(255,0,255,0.7)" + }, + "filterValues": { + "le": 1e-9 + }, + "legend": { + "show": false + }, + "rowsFrame": { + "layout": "auto" + }, + "showValue": "never", + "tooltip": { + "show": true, + "yHistogram": false + }, + "yAxis": { + "axisPlacement": "left", + "reverse": false, + "unit": "s" + } + }, + "pluginVersion": "9.3.2", + "reverseYBuckets": false, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "exemplar": false, + "expr": "rate(beacon_block_production_seconds_bucket[$rate_interval])", + "format": "heatmap", + "interval": "", + "legendFormat": "{{le}}", + "refId": "A" + } + ], + "title": "Block production time histogram", + "tooltip": { + "show": true, + "showHistogram": false + }, + "type": "heatmap", + "xAxis": { + "show": true + }, + "yAxis": { + "format": "s", + "logBase": 1, + "show": true + }, + "yBucketBound": "auto" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 17 + }, "id": 511, "options": { "legend": { "calcs": [], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { "mode": "single", @@ -509,86 +735,28 @@ "title": "Op-pool sizes", "type": "timeseries" }, - { - "cards": {}, - "color": { - "cardColor": "#b4ff00", - "colorScale": "sqrt", - "colorScheme": "interpolateOranges", - "exponent": 0.5, - "mode": "spectrum" - }, - "dataFormat": "tsbuckets", - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 9 - }, - "heatmap": {}, - "hideZeroBuckets": false, - "highlightCards": true, - "id": 526, - "legend": { - "show": false - }, - "reverseYBuckets": false, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "rate(beacon_block_production_seconds_bucket[$rate_interval])", - "format": "heatmap", - "interval": "", - "legendFormat": "{{le}}", - "refId": "A" - } - ], - "title": "Block production time histogram", - "tooltip": { - "show": true, - "showHistogram": false - }, - "type": "heatmap", - "xAxis": { - "show": true - }, - "yAxis": { - "format": "s", - "logBase": 1, - "show": true - }, - "yBucketBound": "auto" - }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, - "fieldConfig": { - "defaults": { - "unit": "s" - }, - "overrides": [] + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" }, "fill": 1, "fillGradient": 1, "gridPos": { "h": 8, "w": 12, - "x": 0, + "x": 12, "y": 17 }, "hiddenSeries": false, - "id": 376, + "id": 378, "legend": { "avg": false, "current": false, - "hideEmpty": false, - "hideZero": false, "max": false, "min": false, "show": true, @@ -602,7 +770,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "8.4.2", + "pluginVersion": "9.3.2", "pointradius": 0.5, "points": true, "renderer": "flot", @@ -617,16 +785,16 @@ "uid": "${DS_PROMETHEUS}" }, "exemplar": false, - "expr": "rate(lodestar_api_rest_response_time_seconds_sum{operationId=~\"produceBlindedBlock|publishBlindedBlock|registerValidator\"}[$rate_interval])\n/\nrate(lodestar_api_rest_response_time_seconds_count{operationId=~\"produceBlindedBlock|publishBlindedBlock|registerValidator\"}[$rate_interval])", + "expr": "12 * rate(lodestar_api_rest_response_time_seconds_count{operationId=~\"produceBlindedBlock|publishBlindedBlock|registerValidator\"}[$rate_interval])", "hide": false, "interval": "", "legendFormat": "{{operationId}}", - "refId": "B" + "refId": "D" } ], "thresholds": [], "timeRegions": [], - "title": "Builder API response times", + "title": "Builder API queries / slot", "tooltip": { "shared": true, "sort": 0, @@ -640,16 +808,16 @@ }, "yaxes": [ { - "$$hashKey": "object:87", - "format": "s", + "$$hashKey": "object:580", + "format": "none", "logBase": 2, "show": true }, { - "$$hashKey": "object:88", - "format": "s", + "$$hashKey": "object:581", + "format": "short", "logBase": 1, - "show": false + "show": true } ], "yaxis": { @@ -661,19 +829,31 @@ "bars": false, "dashLength": 10, "dashes": false, + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "unit": "s" + }, + "overrides": [] + }, "fill": 1, "fillGradient": 1, "gridPos": { "h": 8, "w": 12, - "x": 12, - "y": 17 + "x": 0, + "y": 25 }, "hiddenSeries": false, - "id": 378, + "id": 376, "legend": { "avg": false, "current": false, + "hideEmpty": false, + "hideZero": false, "max": false, "min": false, "show": true, @@ -687,7 +867,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "8.4.2", + "pluginVersion": "9.3.2", "pointradius": 0.5, "points": true, "renderer": "flot", @@ -701,17 +881,19 @@ "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, + "editorMode": "code", "exemplar": false, - "expr": "12 * rate(lodestar_api_rest_response_time_seconds_count{operationId=~\"produceBlindedBlock|publishBlindedBlock|registerValidator\"}[$rate_interval])", + "expr": "rate(lodestar_api_rest_response_time_seconds_sum{operationId=~\"produceBlindedBlock|publishBlindedBlock|registerValidator\"}[$rate_interval])\n/\nrate(lodestar_api_rest_response_time_seconds_count{operationId=~\"produceBlindedBlock|publishBlindedBlock|registerValidator\"}[$rate_interval])", "hide": false, "interval": "", "legendFormat": "{{operationId}}", - "refId": "D" + "range": true, + "refId": "B" } ], "thresholds": [], "timeRegions": [], - "title": "Builder API queries / slot", + "title": "Builder API response times", "tooltip": { "shared": true, "sort": 0, @@ -725,16 +907,16 @@ }, "yaxes": [ { - "$$hashKey": "object:580", - "format": "none", + "$$hashKey": "object:87", + "format": "s", "logBase": 2, "show": true }, { - "$$hashKey": "object:581", - "format": "short", + "$$hashKey": "object:88", + "format": "s", "logBase": 1, - "show": true + "show": false } ], "yaxis": { @@ -743,9 +925,11 @@ } ], "refresh": "10s", - "schemaVersion": 35, + "schemaVersion": 37, "style": "dark", - "tags": ["lodestar"], + "tags": [ + "lodestar" + ], "templating": { "list": [ { @@ -773,8 +957,8 @@ "auto_min": "10s", "current": { "selected": false, - "text": "30m", - "value": "30m" + "text": "1h", + "value": "1h" }, "hide": 0, "label": "rate() interval", @@ -796,12 +980,12 @@ "value": "10m" }, { - "selected": true, + "selected": false, "text": "30m", "value": "30m" }, { - "selected": false, + "selected": true, "text": "1h", "value": "1h" }, @@ -852,7 +1036,7 @@ "condition": "", "key": "instance", "operator": "=", - "value": "unstable-lg1k-hzax41" + "value": "hetzner-lido-prod-bn-1" } ], "hide": 0, @@ -867,11 +1051,22 @@ "to": "now" }, "timepicker": { - "refresh_intervals": ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"] + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ] }, "timezone": "", "title": "Lodestar - block production", "uid": "lodestar_block_production", - "version": 2, + "version": 5, "weekStart": "" -} +} \ No newline at end of file