diff --git a/files/dashboards/BEAM-dashboard.json b/files/dashboards/BEAM-dashboard.json new file mode 100644 index 0000000..7966a80 --- /dev/null +++ b/files/dashboards/BEAM-dashboard.json @@ -0,0 +1,1394 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": 1, + "links": [], + "panels": [ + { + "datasource": { + "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": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "ETS Limit" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "#508642", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 7, + "w": 6, + "x": 0, + "y": 0 + }, + "id": 12, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "erlang_vm_ets_limit{instance=\"$node\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "ETS Limit", + "refId": "A", + "step": 2 + }, + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "erlang_vm_ets_tables{instance=\"$node\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "ETS Tables", + "refId": "B", + "step": 2 + }, + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "erlang_vm_dets_tables{instance=\"$node\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "DETS Tables", + "refId": "C", + "step": 2 + } + ], + "title": "ETS/DETS", + "type": "timeseries" + }, + { + "datasource": { + "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": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 6, + "x": 6, + "y": 0 + }, + "id": 14, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "erlang_vm_process_limit{instance=\"$node\"}", + "format": "time_series", + "hide": true, + "intervalFactor": 2, + "legendFormat": "Process Limit", + "refId": "A", + "step": 2 + }, + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "erlang_vm_process_count{instance=\"$node\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "Processes", + "refId": "B", + "step": 2 + }, + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "erlang_vm_statistics_run_queues_length_total{instance=\"$node\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "Run Queues Length", + "refId": "C", + "step": 2 + } + ], + "title": "Processes", + "type": "timeseries" + }, + { + "datasource": { + "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": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Reductions" + }, + "properties": [ + { + "id": "custom.axisPlacement", + "value": "right" + } + ] + } + ] + }, + "gridPos": { + "h": 7, + "w": 6, + "x": 12, + "y": 0 + }, + "id": 15, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "irate(erlang_vm_statistics_context_switches{instance=\"$node\"}[$interval])", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "Context Switches", + "refId": "B", + "step": 2 + }, + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "irate(erlang_vm_statistics_reductions_total{instance=\"$node\"}[$interval])", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "Reductions", + "refId": "C", + "step": 2 + }, + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "irate(erlang_vm_statistics_runtime_milliseconds{instance=\"$node\"}[$interval])", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "Runtime", + "refId": "D", + "step": 2 + } + ], + "title": "Load", + "type": "timeseries" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "decimals": 1, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "dtdurations" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 6, + "x": 18, + "y": 0 + }, + "id": 16, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "process_uptime_seconds{instance=\"$node\"}", + "intervalFactor": 2, + "legendFormat": "", + "refId": "A", + "step": 4 + } + ], + "title": "Uptime", + "type": "stat" + }, + { + "datasource": { + "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": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 0, + "y": 7 + }, + "id": 6, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "irate(erlang_vm_statistics_bytes_output_total{instance=\"$node\"}[$interval])", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "Output Bytes", + "metric": "erlang_vm_statistics_bytes_output_total", + "refId": "A", + "step": 2 + }, + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "irate(erlang_vm_statistics_bytes_received_total{instance=\"$node\"}[$interval])", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "Received Bytes", + "metric": "erlang_vm_statistics_bytes_received_total", + "refId": "B", + "step": 2 + } + ], + "title": "VM IO", + "type": "timeseries" + }, + { + "datasource": { + "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": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Words Reclaimed" + }, + "properties": [ + { + "id": "unit", + "value": "decbytes" + }, + { + "id": "custom.axisPlacement", + "value": "right" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Bytes Reclaimed" + }, + "properties": [ + { + "id": "unit", + "value": "decbytes" + }, + { + "id": "custom.axisPlacement", + "value": "right" + } + ] + } + ] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 8, + "y": 7 + }, + "id": 7, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "irate(erlang_vm_statistics_garbage_collection_number_of_gcs{instance=\"$node\"}[$interval])", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "Number of GCs", + "metric": "erlang_vm_statistics_garbage_collection_number_of_gcs", + "refId": "A", + "step": 2 + }, + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "irate(erlang_vm_statistics_garbage_collection_bytes_reclaimed{instance=\"$node\"}[$interval])", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "Bytes Reclaimed", + "metric": "erlang_vm_statistics_garbage_collection_words_reclaimed", + "refId": "B", + "step": 2 + } + ], + "title": "VM GC", + "type": "timeseries" + }, + { + "datasource": { + "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": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 16, + "y": 7 + }, + "id": 3, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "erlang_vm_memory_bytes_total{instance=\"$node\", kind=\"processes\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "Processes Memory", + "refId": "B", + "step": 2 + }, + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "erlang_vm_memory_system_bytes_total{instance=\"$node\", usage=\"atom\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "Atoms", + "refId": "C", + "step": 2 + }, + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "erlang_vm_memory_system_bytes_total{instance=\"$node\", usage=\"binary\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "Binary", + "refId": "D", + "step": 2 + }, + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "erlang_vm_memory_system_bytes_total{instance=\"$node\", usage=\"code\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "Code", + "refId": "E", + "step": 2 + }, + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "erlang_vm_memory_system_bytes_total{instance=\"$node\", usage=\"ets\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "ETS", + "refId": "F", + "step": 2 + } + ], + "title": "VM Memory", + "type": "timeseries" + }, + { + "datasource": { + "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": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 0, + "y": 14 + }, + "id": 11, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "process_virtual_memory_bytes{instance=\"$node\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "Virtual Memory", + "refId": "A", + "step": 2 + }, + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "process_resident_memory_bytes{instance=\"$node\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "Resident Memory", + "refId": "B", + "step": 2 + } + ], + "title": "OS Process Memory", + "type": "timeseries" + }, + { + "datasource": { + "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": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Max Ports" + }, + "properties": [ + { + "id": "unit", + "value": "short" + }, + { + "id": "custom.axisPlacement", + "value": "right" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Ports" + }, + "properties": [ + { + "id": "unit", + "value": "short" + }, + { + "id": "custom.axisPlacement", + "value": "right" + } + ] + } + ] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 8, + "y": 14 + }, + "id": 8, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "process_open_fds{instance=\"$node\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "Open FDs", + "metric": "", + "refId": "A", + "step": 2 + }, + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "process_max_fds{instance=\"$node\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "Max FDs", + "refId": "B", + "step": 2 + }, + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "erlang_vm_port_limit{instance=\"$node\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "Max Ports", + "refId": "C", + "step": 2 + }, + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "erlang_vm_port_count{instance=\"$node\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "Ports", + "refId": "D", + "step": 2 + } + ], + "title": "File Descriptors & Ports", + "type": "timeseries" + }, + { + "datasource": { + "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": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percent" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Threads" + }, + "properties": [ + { + "id": "unit", + "value": "short" + }, + { + "id": "custom.axisPlacement", + "value": "right" + } + ] + } + ] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 16, + "y": 14 + }, + "id": 10, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "process_threads_total{instance=\"$node\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "Threads", + "metric": "", + "refId": "A", + "step": 2 + }, + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(irate(process_cpu_seconds_total{instance=\"$node\"}[$interval])) without (kind) * 100", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "CPU", + "refId": "B", + "step": 2 + } + ], + "title": "Native Threads & CPU", + "type": "timeseries" + } + ], + "preload": false, + "refresh": "5s", + "schemaVersion": 40, + "tags": [], + "templating": { + "list": [ + { + "includeAll": false, + "label": "Data Source", + "name": "datasource", + "options": [], + "query": "prometheus", + "refresh": 1, + "regex": "", + "type": "datasource" + }, + { + "current": { + "text": "172.17.0.1:4000", + "value": "172.17.0.1:4000" + }, + "datasource": "${datasource}", + "includeAll": false, + "label": "Node", + "name": "node", + "options": [], + "query": "label_values(erlang_vm_process_count, instance)", + "refresh": 1, + "regex": "", + "sort": 1, + "type": "query" + }, + { + "auto": false, + "auto_count": 30, + "auto_min": "10s", + "current": { + "text": "5m", + "value": "5m" + }, + "name": "interval", + "options": [ + { + "selected": false, + "text": "1m", + "value": "1m" + }, + { + "selected": true, + "text": "5m", + "value": "5m" + }, + { + "selected": false, + "text": "10m", + "value": "10m" + }, + { + "selected": false, + "text": "30m", + "value": "30m" + }, + { + "selected": false, + "text": "1h", + "value": "1h" + }, + { + "selected": false, + "text": "6h", + "value": "6h" + }, + { + "selected": false, + "text": "12h", + "value": "12h" + }, + { + "selected": false, + "text": "1d", + "value": "1d" + }, + { + "selected": false, + "text": "7d", + "value": "7d" + }, + { + "selected": false, + "text": "14d", + "value": "14d" + }, + { + "selected": false, + "text": "30d", + "value": "30d" + } + ], + "query": "1m,5m,10m,30m,1h,6h,12h,1d,7d,14d,30d", + "refresh": 2, + "type": "interval" + } + ] + }, + "time": { + "from": "now-5m", + "to": "now" + }, + "timepicker": {}, + "timezone": "browser", + "title": "Blockscout - BEAM", + "uid": "eebna16wcu800a", + "version": 6, + "weekStart": "" +} diff --git a/files/dashboards/BEAM-memory_allocators.json b/files/dashboards/BEAM-memory_allocators.json new file mode 100644 index 0000000..311ffa1 --- /dev/null +++ b/files/dashboards/BEAM-memory_allocators.json @@ -0,0 +1,2727 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": 2, + "links": [], + "panels": [ + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": {}, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 14, + "x": 0, + "y": 0 + }, + "id": 16, + "maxDataPoints": 3, + "options": { + "legend": { + "calcs": [], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "values": [ + "value", + "percent" + ] + }, + "pieType": "pie", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ] + } + }, + "repeat": "nodename", + "repeatDirection": "v", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{usage=\"carriers_size\", instance=~\"$node\"}) by (alloc)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{alloc}}", + "refId": "A" + } + ], + "title": "Allocated memory by allocator", + "type": "piechart" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#cca300", + "mode": "fixed" + }, + "decimals": 2, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "nullValueMode": "connected", + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 5, + "x": 14, + "y": 0 + }, + "id": 12, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "" + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "repeat": "nodename", + "repeatDirection": "v", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{usage=\"carriers_size\", instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "", + "refId": "A" + } + ], + "title": "Allocated Memory", + "type": "stat" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#0a50a1", + "mode": "fixed" + }, + "decimals": 2, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 5, + "x": 19, + "y": 0 + }, + "id": 18, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(process_resident_memory_bytes{instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "RSS Memory", + "type": "stat" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#3f6833", + "mode": "fixed" + }, + "decimals": 2, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 2, + "w": 5, + "x": 14, + "y": 3 + }, + "id": 13, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{usage=\"blocks_size\", instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "Used Memory", + "type": "stat" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#c15c17", + "mode": "fixed" + }, + "decimals": 2, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 5, + "x": 19, + "y": 4 + }, + "id": 19, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(process_virtual_memory_bytes{instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "VSZ Memory", + "type": "stat" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#890f02", + "mode": "fixed" + }, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 5, + "x": 14, + "y": 5 + }, + "id": 14, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{usage=\"carriers_size\", instance=~\"$node\"}) - sum(erlang_vm_allocators{usage=\"blocks_size\", instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "Unused Memory", + "type": "stat" + }, + { + "datasource": { + "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": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 24, + "x": 0, + "y": 8 + }, + "id": 7, + "options": { + "legend": { + "calcs": [ + "mean", + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{alloc=\"eheap_alloc\",usage=\"blocks_size\", instance=~\"$node\"}) by (usage,kind)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Kind: {{kind}}, Usage: {{usage}}", + "refId": "A" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{alloc=\"eheap_alloc\",usage=\"carriers_size\", instance=~\"$node\"}) by (usage,kind)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Kind: {{kind}}, Usage: {{usage}}", + "refId": "B" + } + ], + "title": "eheap_alloc (H)", + "type": "timeseries" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#511749", + "mode": "fixed" + }, + "decimals": 2, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percentunit" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 0, + "y": 13 + }, + "id": 20, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{kind=\"mbcs\",alloc=\"eheap_alloc\",usage=\"blocks_size\", instance=~\"$node\"}) / sum(erlang_vm_allocators{kind=\"mbcs\",alloc=\"eheap_alloc\",usage=\"carriers_size\", instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "H mbcs utilization", + "type": "stat" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#511749", + "mode": "fixed" + }, + "decimals": 2, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 3, + "y": 13 + }, + "id": 31, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{kind=\"mbcs\",alloc=\"eheap_alloc\",usage=\"carriers_size\", instance=~\"$node\"}) / sum(erlang_vm_allocators{kind=\"mbcs\",alloc=\"eheap_alloc\",usage=\"carriers\", instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "H avg mbcs carrier size", + "type": "stat" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#511749", + "mode": "fixed" + }, + "decimals": 2, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 6, + "y": 13 + }, + "id": 32, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{kind=\"mbcs\",alloc=\"eheap_alloc\",usage=\"blocks_size\", instance=~\"$node\"}) / sum(erlang_vm_allocators{kind=\"mbcs\",alloc=\"eheap_alloc\",usage=\"blocks\", instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "H avg mbcs block size", + "type": "stat" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#64b0c8", + "mode": "fixed" + }, + "decimals": 2, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percentunit" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 9, + "y": 13 + }, + "id": 26, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{kind=\"mbcs_pool\",alloc=\"eheap_alloc\",usage=\"blocks_size\", instance=~\"$node\"}) / sum(erlang_vm_allocators{kind=\"mbcs_pool\",alloc=\"eheap_alloc\",usage=\"carriers_size\", instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "H mbcs_pool utilization", + "type": "stat" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#64b0c8", + "mode": "fixed" + }, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 12, + "y": 13 + }, + "id": 47, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{kind=\"mbcs_pool\",alloc=\"eheap_alloc\",usage=\"carriers\", instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "H mbcs_pool carriers", + "type": "stat" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#0a50a1", + "mode": "fixed" + }, + "decimals": 2, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percentunit" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 15, + "y": 13 + }, + "id": 21, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{kind=\"sbcs\",alloc=\"eheap_alloc\",usage=\"blocks_size\", instance=~\"$node\"}) / sum(erlang_vm_allocators{kind=\"sbcs\",alloc=\"eheap_alloc\",usage=\"carriers_size\", instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "H sbcs utilization", + "type": "stat" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#0a50a1", + "mode": "fixed" + }, + "decimals": 2, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 18, + "y": 13 + }, + "id": 29, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{kind=\"sbcs\",alloc=\"eheap_alloc\",usage=\"carriers_size\", instance=~\"$node\"}) / sum(erlang_vm_allocators{kind=\"sbcs\",alloc=\"eheap_alloc\",usage=\"carriers\", instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "H avg sbcs carrier size", + "type": "stat" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#0a50a1", + "mode": "fixed" + }, + "decimals": 2, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 21, + "y": 13 + }, + "id": 30, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{kind=\"sbcs\",alloc=\"eheap_alloc\",usage=\"blocks_size\", instance=~\"$node\"}) / sum(erlang_vm_allocators{kind=\"sbcs\",alloc=\"eheap_alloc\",usage=\"blocks\", instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "H avg sbcs block size", + "type": "stat" + }, + { + "datasource": { + "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": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 24, + "x": 0, + "y": 16 + }, + "id": 10, + "options": { + "legend": { + "calcs": [ + "mean", + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{alloc=\"binary_alloc\",usage=\"carriers_size\", instance=~\"$node\"}) by (usage,kind)", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "Usage: {{usage}}, Kind: {{kind}}", + "refId": "A" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{alloc=\"binary_alloc\",usage=\"blocks_size\", instance=~\"$node\"}) by (usage,kind)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Usage:: {{usage}}, Kind: {{kind}}", + "refId": "B" + } + ], + "title": "binary_alloc (B)", + "type": "timeseries" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#511749", + "mode": "fixed" + }, + "decimals": 2, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percentunit" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 0, + "y": 21 + }, + "id": 33, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{kind=\"mbcs\",alloc=\"binary_alloc\",usage=\"blocks_size\", instance=~\"$node\"}) / sum(erlang_vm_allocators{kind=\"mbcs\",alloc=\"binary_alloc\",usage=\"carriers_size\", instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "B mbcs utilization", + "type": "stat" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#511749", + "mode": "fixed" + }, + "decimals": 2, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 3, + "y": 21 + }, + "id": 34, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{kind=\"mbcs\",alloc=\"binary_alloc\",usage=\"carriers_size\", instance=~\"$node\"}) / sum(erlang_vm_allocators{kind=\"mbcs\",alloc=\"binary_alloc\",usage=\"carriers\", instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "B avg mbcs carrier size", + "type": "stat" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#511749", + "mode": "fixed" + }, + "decimals": 2, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 6, + "y": 21 + }, + "id": 35, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{kind=\"mbcs\",alloc=\"binary_alloc\",usage=\"blocks_size\", instance=~\"$node\"}) / sum(erlang_vm_allocators{kind=\"mbcs\",alloc=\"binary_alloc\",usage=\"blocks\", instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "B avg mbcs block size", + "type": "stat" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#64b0c8", + "mode": "fixed" + }, + "decimals": 2, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percentunit" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 9, + "y": 21 + }, + "id": 36, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{kind=\"mbcs_pool\",alloc=\"binary_alloc\",usage=\"blocks_size\", instance=~\"$node\"}) / sum(erlang_vm_allocators{kind=\"mbcs_pool\",alloc=\"binary_alloc\",usage=\"carriers_size\", instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "B mbcs_pool utilization", + "type": "stat" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#64b0c8", + "mode": "fixed" + }, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 12, + "y": 21 + }, + "id": 48, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{kind=\"mbcs_pool\",alloc=\"binary_alloc\",usage=\"carriers\", instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "B mbcs_pool carriers", + "type": "stat" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#0a50a1", + "mode": "fixed" + }, + "decimals": 2, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percentunit" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 15, + "y": 21 + }, + "id": 37, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{kind=\"sbcs\",alloc=\"binary_alloc\",usage=\"blocks_size\", instance=~\"$node\"}) / sum(erlang_vm_allocators{kind=\"sbcs\",alloc=\"binary_alloc\",usage=\"carriers_size\", instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "B sbcs utilization", + "type": "stat" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#0a50a1", + "mode": "fixed" + }, + "decimals": 2, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 18, + "y": 21 + }, + "id": 38, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{kind=\"sbcs\",alloc=\"binary_alloc\",usage=\"carriers_size\", instance=~\"$node\"}) / sum(erlang_vm_allocators{kind=\"sbcs\",alloc=\"binary_alloc\",usage=\"carriers\", instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "B avg sbcs carrier size", + "type": "stat" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#0a50a1", + "mode": "fixed" + }, + "decimals": 2, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 21, + "y": 21 + }, + "id": 39, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{kind=\"sbcs\",alloc=\"binary_alloc\",usage=\"blocks_size\", instance=~\"$node\"}) / sum(erlang_vm_allocators{kind=\"sbcs\",alloc=\"binary_alloc\",usage=\"blocks\", instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "B avg sbcs block size", + "type": "stat" + }, + { + "datasource": { + "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": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 24, + "x": 0, + "y": 24 + }, + "id": 17, + "options": { + "legend": { + "calcs": [ + "mean", + "lastNotNull", + "max" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{alloc=\"ets_alloc\",usage=\"carriers_size\", instance=~\"$node\"}) by (usage,kind)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Usage:: {{usage}}, Kind: {{kind}}", + "refId": "A" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{alloc=\"ets_alloc\",usage=\"blocks_size\", instance=~\"$node\"}) by (usage,kind)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Usage:: {{usage}}, Kind: {{kind}}", + "refId": "B" + } + ], + "title": "ets_alloc (E)", + "type": "timeseries" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#511749", + "mode": "fixed" + }, + "decimals": 2, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percentunit" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 0, + "y": 29 + }, + "id": 40, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{kind=\"mbcs\",alloc=\"ets_alloc\",usage=\"blocks_size\", instance=~\"$node\"}) / sum(erlang_vm_allocators{kind=\"mbcs\",alloc=\"ets_alloc\",usage=\"carriers_size\", instance=~\"$node\"} )", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "E mbcs utilization", + "type": "stat" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#511749", + "mode": "fixed" + }, + "decimals": 2, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 3, + "y": 29 + }, + "id": 41, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{kind=\"mbcs\",alloc=\"ets_alloc\",usage=\"carriers_size\", instance=~\"$node\"}) / sum(erlang_vm_allocators{kind=\"mbcs\",alloc=\"ets_alloc\",usage=\"carriers\", instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "E avg mbcs carrier size", + "type": "stat" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#511749", + "mode": "fixed" + }, + "decimals": 2, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 6, + "y": 29 + }, + "id": 42, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{kind=\"mbcs\",alloc=\"ets_alloc\",usage=\"blocks_size\", instance=~\"$node\"}) / sum(erlang_vm_allocators{kind=\"mbcs\",alloc=\"ets_alloc\",usage=\"blocks\", instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "E avg mbcs block size", + "type": "stat" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#64b0c8", + "mode": "fixed" + }, + "decimals": 2, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percentunit" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 9, + "y": 29 + }, + "id": 43, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{kind=\"mbcs_pool\",alloc=\"ets_alloc\",usage=\"blocks_size\", instance=~\"$node\"}) / sum(erlang_vm_allocators{kind=\"mbcs_pool\",alloc=\"ets_alloc\",usage=\"carriers_size\", instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "E mbcs_pool utilization", + "type": "stat" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#64b0c8", + "mode": "fixed" + }, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 12, + "y": 29 + }, + "id": 49, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{kind=\"mbcs_pool\",alloc=\"ets_alloc\",usage=\"carriers\", instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "E mbcs_pool carriers", + "type": "stat" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#0a50a1", + "mode": "fixed" + }, + "decimals": 2, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percentunit" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 15, + "y": 29 + }, + "id": 44, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{kind=\"sbcs\",alloc=\"ets_alloc\",usage=\"blocks_size\", instance=~\"$node\"}) / sum(erlang_vm_allocators{kind=\"sbcs\",alloc=\"ets_alloc\",usage=\"carriers_size\", instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "E sbcs utilization", + "type": "stat" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#0a50a1", + "mode": "fixed" + }, + "decimals": 2, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 18, + "y": 29 + }, + "id": 45, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{kind=\"sbcs\",alloc=\"ets_alloc\",usage=\"carriers_size\", instance=~\"$node\"}) / sum(erlang_vm_allocators{kind=\"sbcs\",alloc=\"ets_alloc\",usage=\"carriers\", instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "E avg sbcs carrier size", + "type": "stat" + }, + { + "datasource": { + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#0a50a1", + "mode": "fixed" + }, + "decimals": 2, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 21, + "y": 29 + }, + "id": 46, + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(erlang_vm_allocators{kind=\"sbcs\",alloc=\"ets_alloc\",usage=\"blocks_size\", instance=~\"$node\"}) / sum(erlang_vm_allocators{kind=\"sbcs\",alloc=\"ets_alloc\",usage=\"blocks\", instance=~\"$node\"})", + "format": "time_series", + "intervalFactor": 1, + "refId": "A" + } + ], + "title": "E avg sbcs block size", + "type": "stat" + } + ], + "preload": false, + "refresh": "10s", + "schemaVersion": 40, + "tags": [], + "templating": { + "list": [ + { + "includeAll": false, + "label": "Data Source", + "name": "datasource", + "options": [], + "query": "prometheus", + "refresh": 1, + "regex": "", + "type": "datasource" + }, + { + "current": {}, + "datasource": "${datasource}", + "includeAll": false, + "label": "Node", + "name": "node", + "options": [], + "query": "label_values(erlang_vm_process_count, instance)", + "refresh": 1, + "regex": "", + "type": "query" + } + ] + }, + "time": { + "from": "now-5m", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "Blockscout - ERTS memory allocators", + "uid": "o_rtdpWik", + "version": 4, + "weekStart": "" +} diff --git a/files/dashboards/Elixir-dashboard.json b/files/dashboards/Elixir-dashboard.json new file mode 100644 index 0000000..481e235 --- /dev/null +++ b/files/dashboards/Elixir-dashboard.json @@ -0,0 +1,926 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": 3, + "links": [], + "panels": [ + { + "datasource": { + "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": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "µs" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 0, + "y": 0 + }, + "id": 17, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "sum(irate(http_request_duration_microseconds_sum{instance=\"$node\"}[$interval])) by(status_class) / sum(irate(http_request_duration_microseconds_count{instance=\"$node\"}[$interval])) by(status_class)", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{status_class}}", + "refId": "A", + "step": 2 + } + ], + "title": "HTTP request time, $interval average", + "type": "timeseries" + }, + { + "datasource": { + "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": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "µs" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 8, + "y": 0 + }, + "id": 18, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "rate(phoenix_controller_call_duration_microseconds_sum{instance=\"$node\"}[$interval]) / rate(phoenix_controller_call_duration_microseconds_count{instance=\"$node\"}[$interval])", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{controller}}/{{action}}", + "refId": "A", + "step": 2 + } + ], + "title": "Controller call durations, $interval average", + "type": "timeseries" + }, + { + "datasource": { + "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": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 16, + "y": 0 + }, + "id": 19, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "rate(http_requests_total{instance=\"$node\"}[$interval])", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{method}} {{request_path}}", + "refId": "A", + "step": 1 + } + ], + "title": "HTTP request count, $interval average", + "type": "timeseries" + }, + { + "datasource": { + "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": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "µs" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 0, + "y": 7 + }, + "id": 20, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "rate(ecto_query_duration_microseconds_sum{instance=\"$node\"}[$interval]) / rate(ecto_query_duration_microseconds_count{instance=\"$node\"}[$interval])", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Ecto query", + "refId": "A", + "step": 1 + } + ], + "title": "Ecto Query Duration, $interval average", + "type": "timeseries" + }, + { + "datasource": { + "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": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "µs" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 8, + "y": 7 + }, + "id": 22, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "rate(ecto_decode_duration_microseconds_sum{instance=\"$node\"}[$interval]) / rate(ecto_decode_duration_microseconds_count{instance=\"$node\"}[$interval])", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "The time spent decoding the result, $interval average", + "refId": "A", + "step": 2 + }, + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "rate(ecto_queue_duration_microseconds_sum{instance=\"$node\"}[$interval]) / rate(ecto_queue_duration_microseconds_count{instance=\"$node\"}[$interval])", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "The time spent to check the connection out, $interval average", + "refId": "B", + "step": 2 + } + ], + "title": "Ecto, $interval average", + "type": "timeseries" + }, + { + "datasource": { + "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": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "µs" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 16, + "y": 7 + }, + "id": 21, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "rate(phoenix_controller_render_duration_microseconds_sum{instance=\"$node\"}[$interval]) / rate(phoenix_controller_render_duration_microseconds_count{instance=\"$node\"}[$interval])", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{view}}", + "refId": "A", + "step": 2 + } + ], + "title": "View rendering time, $interval average", + "type": "timeseries" + }, + { + "datasource": { + "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": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "µs" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 14 + }, + "id": 23, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "rate(telemetry_scrape_duration_seconds_sum{instance=\"$node\"}[$interval]) / rate(telemetry_scrape_duration_seconds_count{instance=\"$node\"}[$interval])", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "Scrape duration", + "refId": "A", + "step": 2 + } + ], + "title": "Plug scrape duration, $interval average", + "type": "timeseries" + }, + { + "datasource": { + "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": "linear", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 14 + }, + "id": 24, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "tooltip": { + "hideZeros": false, + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.5.0", + "targets": [ + { + "datasource": { + "uid": "${datasource}" + }, + "expr": "rate(telemetry_scrape_size_bytes_sum{instance=\"$node\"}[$interval]) / rate(telemetry_scrape_size_bytes_count{instance=\"$node\"}[$interval])", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "Scrape duration", + "refId": "A", + "step": 2 + } + ], + "title": "Plug scrape size (uncompressed), $interval average", + "type": "timeseries" + } + ], + "preload": false, + "refresh": "5s", + "schemaVersion": 40, + "tags": [], + "templating": { + "list": [ + { + "includeAll": false, + "label": "Data Source", + "name": "datasource", + "options": [], + "query": "prometheus", + "refresh": 1, + "regex": "", + "type": "datasource" + }, + { + "current": { + "text": "172.17.0.1:4000", + "value": "172.17.0.1:4000" + }, + "datasource": "${datasource}", + "includeAll": false, + "label": "Node", + "name": "node", + "options": [], + "query": "label_values(erlang_vm_process_count, instance)", + "refresh": 1, + "regex": "", + "sort": 1, + "type": "query" + }, + { + "auto": false, + "auto_count": 30, + "auto_min": "10s", + "current": { + "text": "1m", + "value": "1m" + }, + "name": "interval", + "options": [ + { + "selected": true, + "text": "1m", + "value": "1m" + }, + { + "selected": false, + "text": "5m", + "value": "5m" + }, + { + "selected": false, + "text": "10m", + "value": "10m" + }, + { + "selected": false, + "text": "30m", + "value": "30m" + }, + { + "selected": false, + "text": "1h", + "value": "1h" + }, + { + "selected": false, + "text": "6h", + "value": "6h" + }, + { + "selected": false, + "text": "12h", + "value": "12h" + }, + { + "selected": false, + "text": "1d", + "value": "1d" + }, + { + "selected": false, + "text": "7d", + "value": "7d" + }, + { + "selected": false, + "text": "14d", + "value": "14d" + }, + { + "selected": false, + "text": "30d", + "value": "30d" + } + ], + "query": "1m,5m,10m,30m,1h,6h,12h,1d,7d,14d,30d", + "refresh": 2, + "type": "interval" + } + ] + }, + "time": { + "from": "now-5m", + "to": "now" + }, + "timepicker": {}, + "timezone": "browser", + "title": "Blockscout - Elixir APP", + "uid": "bebna174qzxtsc", + "version": 4, + "weekStart": "" +} diff --git a/files/dashboards/c_chain.json b/files/dashboards/c_chain.json index f8f9759..0d84c8f 100644 --- a/files/dashboards/c_chain.json +++ b/files/dashboards/c_chain.json @@ -28,16 +28,21 @@ "links": [ { "icon": "external link", + "includeVars": true, + "keepTime": true, "tags": [ "Avalanche" ], "type": "dashboards" } ], - "liveNow": false, + "liveNow": true, "panels": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "fieldConfig": { "defaults": { "color": { @@ -101,10 +106,9 @@ "options": { "legend": { "calcs": [ + "min", "mean", - "lastNotNull", - "max", - "min" + "max" ], "displayMode": "list", "placement": "bottom", @@ -118,11 +122,14 @@ "pluginVersion": "8.0.4", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "round(increase(avalanche_C_blks_accepted_count{job=\"avalanchego\"}[1m]))>0", + "expr": "round(increase(avalanche_snowman_blks_accepted_count{chain=\"C\", job=\"avalanchego\"}[1m]))>0", "interval": "", - "legendFormat": "Accepted", + "legendFormat": "Blocks {{node_id}}", "refId": "A" } ], @@ -130,7 +137,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "fieldConfig": { "defaults": { "color": { @@ -194,10 +204,9 @@ "options": { "legend": { "calcs": [ + "min", "mean", - "lastNotNull", - "max", - "min" + "max" ], "displayMode": "list", "placement": "bottom", @@ -211,12 +220,15 @@ "pluginVersion": "8.0.4", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "editorMode": "code", "exemplar": true, - "expr": "round(increase(avalanche_C_blks_rejected_count{job=\"avalanchego\"}[1m]))>0", + "expr": "round(increase(avalanche_snowman_blks_rejected_count{chain=\"C\", job=\"avalanchego\"}[1m]))>0", "interval": "", - "legendFormat": "Rejected", + "legendFormat": "Blocks {{node_id}}", "range": true, "refId": "A" } @@ -225,7 +237,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "The average time between a block's issuance and acceptance by this node over the last 5 minutes.", "fieldConfig": { "defaults": { @@ -287,10 +302,9 @@ "options": { "legend": { "calcs": [ + "min", "mean", - "lastNotNull", - "max", - "min" + "max" ], "displayMode": "list", "placement": "bottom", @@ -304,10 +318,13 @@ "pluginVersion": "8.0.4", "targets": [ { - "datasource": "Prometheus", - "expr": "rate(avalanche_C_blks_accepted_sum{job=\"avalanchego\"}[5m]) / rate(avalanche_C_blks_accepted_count{job=\"avalanchego\"}[5m])", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "rate(avalanche_snowman_blks_accepted_sum{chain=\"C\", job=\"avalanchego\"}[5m]) / rate(avalanche_snowman_blks_accepted_count{chain=\"C\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "Avg Acceptance Latency", + "legendFormat": "Avg Acceptance Latency {{node_id}}", "refId": "A" } ], @@ -315,7 +332,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "The average time between a block's issuance and rejection by this node over the last 5 minutes.", "fieldConfig": { "defaults": { @@ -380,10 +400,9 @@ "options": { "legend": { "calcs": [ + "min", "mean", - "lastNotNull", - "max", - "min" + "max" ], "displayMode": "list", "placement": "bottom", @@ -397,10 +416,13 @@ "pluginVersion": "8.0.4", "targets": [ { - "datasource": "Prometheus", - "expr": "rate(avalanche_C_blks_rejected_sum{job=\"avalanchego\"}[5m]) / rate(avalanche_C_blks_rejected_count{job=\"avalanchego\"}[5m])", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "rate(avalanche_snowman_blks_rejected_sum{chain=\"C\", job=\"avalanchego\"}[5m]) / rate(avalanche_snowman_blks_rejected_count{chain=\"C\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "Avg Rejection Latency", + "legendFormat": "Avg Rejection Latency {{node_id}}", "refId": "A" } ], @@ -408,7 +430,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "fieldConfig": { "defaults": { "color": { @@ -469,7 +494,6 @@ "legend": { "calcs": [ "mean", - "lastNotNull", "max" ], "displayMode": "list", @@ -484,11 +508,14 @@ "pluginVersion": "8.0.4", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "avalanche_C_blks_processing{job=\"avalanchego\"}>0", + "expr": "avalanche_snowman_blks_processing{chain=\"C\", job=\"avalanchego\"}>0", "interval": "", - "legendFormat": "Transactions", + "legendFormat": "Blocks {{node_id}}", "refId": "A" } ], @@ -496,7 +523,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "fieldConfig": { "defaults": { "color": { @@ -557,7 +587,6 @@ "legend": { "calcs": [ "mean", - "lastNotNull", "max" ], "displayMode": "list", @@ -572,11 +601,14 @@ "pluginVersion": "8.0.4", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "avalanche_C_polls > 0", + "expr": "avalanche_snowman_polls{chain=\"C\"} > 0", "interval": "", - "legendFormat": "", + "legendFormat": "Polls {{node_id}}", "refId": "A" } ], @@ -584,7 +616,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Measures how much of each second is being spent handling different kinds of messages on the C-Chain.\nThe value for chits, for example, is the number of seconds spent handling chits messages per second, over the last 30 seconds.", "fieldConfig": { "defaults": { @@ -653,7 +688,7 @@ "max" ], "displayMode": "table", - "placement": "right", + "placement": "bottom", "showLegend": true }, "tooltip": { @@ -664,143 +699,25 @@ "pluginVersion": "8.0.4", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "rate(avalanche_C_handler_pull_query_sum{job=\"avalanchego\"}[5m])", + "expr": "rate(avalanche_handler_message_handling_time{chain=\"C\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "pull query", + "legendFormat": "{{ op }} {{node_id}}", "refId": "A" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_push_query_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "push query", - "refId": "B" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_chits_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "chits", - "refId": "C" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_accepted_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "accepted", - "refId": "D" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_get_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get", - "refId": "E" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_put_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "put", - "refId": "F" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_multiput_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "multiput", - "refId": "G" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_get_ancestors_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get ancestors", - "refId": "H" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_get_failed_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get failed", - "refId": "I" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_query_failed_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "query failed", - "refId": "J" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_get_accepted_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get accepted", - "refId": "K" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_get_ancestors_failed_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get ancestors failed", - "refId": "L" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_app_request_sum{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app request", - "refId": "M" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_app_request_failed_sum{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app request failed", - "refId": "N" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_app_response_sum{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app response", - "refId": "O" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_app_gossip_sum{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app gossip", - "refId": "P" } ], "title": "Message Handling Time (Total)", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Percentage of queries for which we receive chits on time.", "fieldConfig": { "defaults": { @@ -853,7 +770,7 @@ } ] }, - "unit": "short" + "unit": "percentunit" }, "overrides": [] }, @@ -867,10 +784,9 @@ "options": { "legend": { "calcs": [ + "min", "mean", - "lastNotNull", - "max", - "min" + "max" ], "displayMode": "list", "placement": "bottom", @@ -884,20 +800,41 @@ "pluginVersion": "8.0.4", "targets": [ { - "datasource": "Prometheus", - "exemplar": true, - "expr": "(increase(avalanche_C_handler_chits_count{job=\"avalanchego\"}[5m]) + 1) / (increase(avalanche_C_handler_chits_count{job=\"avalanchego\"}[5m]) + increase(avalanche_C_handler_query_failed_count{job=\"avalanchego\"}[5m]) + 1)", - "instant": false, - "interval": "", - "legendFormat": "% Successful", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "max(increase(avalanche_handler_messages{chain=\"C\", op=\"chits\", job=\"avalanchego\"}[5m]))", + "hide": true, "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "max(increase(avalanche_handler_messages{chain=\"C\", op=\"query_failed\", job=\"avalanchego\"}[5m]))", + "hide": true, + "refId": "B" + }, + { + "datasource": { + "name": "Expression", + "type": "__expr__" + }, + "expression": "($A + 1) / ($A + $B + 1)", + "refId": "% Successful", + "type": "math" } ], "title": "Percentage of Successful Queries", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Measures how long each kind of request on the C-Chain takes to handle.\nThe value for chits, for example, is how long, in seconds, it takes to handle a chits message.", "fieldConfig": { "defaults": { @@ -966,7 +903,7 @@ "max" ], "displayMode": "table", - "placement": "right", + "placement": "bottom", "showLegend": true }, "tooltip": { @@ -977,143 +914,25 @@ "pluginVersion": "8.0.4", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "rate(avalanche_C_handler_pull_query_sum{job=\"avalanchego\"}[5m])/rate(avalanche_C_handler_pull_query_count{job=\"avalanchego\"}[5m])", + "expr": "rate(avalanche_handler_message_handling_time{chain=\"C\", job=\"avalanchego\"}[5m])/rate(avalanche_handler_messages{chain=\"C\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "pull query", + "legendFormat": "{{ op }} {{node_id}}", "refId": "A" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_push_query_sum{job=\"avalanchego\"}[5m])/rate(avalanche_C_handler_push_query_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "push query", - "refId": "B" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_chits_sum{job=\"avalanchego\"}[5m])/rate(avalanche_C_handler_chits_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "chits", - "refId": "C" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_accepted_sum{job=\"avalanchego\"}[5m])/rate(avalanche_C_handler_accepted_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "accepted", - "refId": "D" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_get_sum{job=\"avalanchego\"}[5m])/rate(avalanche_C_handler_get_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get", - "refId": "E" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_put_sum{job=\"avalanchego\"}[5m])/rate(avalanche_C_handler_put_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "put", - "refId": "F" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_multiput_sum{job=\"avalanchego\"}[5m])/rate(avalanche_C_handler_multi_put_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "multiput", - "refId": "G" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_get_ancestors_sum{job=\"avalanchego\"}[5m])/rate(avalanche_C_handler_get_ancestors_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get ancestors", - "refId": "H" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_get_failed_sum{job=\"avalanchego\"}[5m])/rate(avalanche_C_handler_get_failed_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get failed", - "refId": "I" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_query_failed_sum{job=\"avalanchego\"}[5m])/rate(avalanche_C_handler_query_failed_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "query failed", - "refId": "J" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_get_accepted_sum{job=\"avalanchego\"}[5m])/rate(avalanche_C_handler_get_accepted_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get accepted", - "refId": "K" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_get_ancestors_failed_sum{job=\"avalanchego\"}[5m])/rate(avalanche_C_handler_get_ancestors_failed_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get ancestors failed", - "refId": "L" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_app_request_sum{job=\"avalanchego\"}[5m])/rate(avalanche_C_handler_app_request_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app request", - "refId": "M" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_app_request_failed_sum{job=\"avalanchego\"}[5m])/rate(avalanche_C_handler_app_request_failed_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app request failed", - "refId": "N" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_app_response_sum{job=\"avalanchego\"}[5m])/rate(avalanche_C_handler_app_response_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app response", - "refId": "O" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_app_gossip_sum{job=\"avalanchego\"}[5m])/rate(avalanche_C_handler_app_gossip_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app gossip", - "refId": "P" } ], "title": "Message Handling Time (per Message)", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "fieldConfig": { "defaults": { "color": { @@ -1164,7 +983,7 @@ } ] }, - "unit": "short" + "unit": "percent" }, "overrides": [] }, @@ -1177,10 +996,6 @@ "id": 19, "options": { "legend": { - "calcs": [ - "mean", - "max" - ], "displayMode": "list", "placement": "bottom", "showLegend": true @@ -1193,19 +1008,36 @@ "pluginVersion": "8.0.6", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "avalanche_C_handler_unprocessed_msgs_len", + "expr": "avalanche_handler_sync_unprocessed_msgs_count{chain=\"C\"}", "interval": "", - "legendFormat": "Pending Messages", + "legendFormat": "{{ op }} {{node_id}}", "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "exemplar": true, + "expr": "avalanche_handler_async_unprocessed_msgs_count{chain=\"C\"}", + "interval": "", + "legendFormat": "{{ op }}", + "refId": "B" } ], "title": "Unprocessed Incoming Messages", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "fieldConfig": { "defaults": { "color": { @@ -1256,7 +1088,7 @@ } ] }, - "unit": "short" + "unit": "percent" }, "overrides": [] }, @@ -1269,10 +1101,6 @@ "id": 29, "options": { "legend": { - "calcs": [ - "mean", - "max" - ], "displayMode": "list", "placement": "bottom", "showLegend": true @@ -1285,11 +1113,14 @@ "pluginVersion": "8.0.6", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "increase(avalanche_C_handler_expired[1m])", + "expr": "increase(avalanche_handler_expired{chain=\"C\", job=\"avalanchego\"}[1m]) or 0 * up", "interval": "", - "legendFormat": "Expired", + "legendFormat": "{{ op }} {{node_id}}", "refId": "A" } ], @@ -1297,7 +1128,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "The total stake of validators currently \"benched\" due to poor query responsiveness. Queries to these validators will immediately timeout until they are removed from the \"bench.\"", "fieldConfig": { "defaults": { @@ -1349,7 +1183,7 @@ } ] }, - "unit": "short" + "unit": "percent" }, "overrides": [] }, @@ -1364,7 +1198,6 @@ "legend": { "calcs": [ "mean", - "lastNotNull", "max" ], "displayMode": "list", @@ -1379,11 +1212,14 @@ "pluginVersion": "8.0.4", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "avg_over_time(avalanche_C_benchlist_benched_weight{job=\"avalanchego\"}[15m]) / 10^9", + "expr": "avg_over_time(avalanche_benchlist_benched_weight{chain=\"C\", job=\"avalanchego\"}[15m]) / 10^9", "interval": "", - "legendFormat": "AVAX Benched", + "legendFormat": "AVAX Benched {{node_id}}", "refId": "A" } ], @@ -1391,7 +1227,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Measures how many of each kind of message are received per second on the C-Chain.", "fieldConfig": { "defaults": { @@ -1460,7 +1299,7 @@ "max" ], "displayMode": "table", - "placement": "right", + "placement": "bottom", "showLegend": true }, "tooltip": { @@ -1471,143 +1310,25 @@ "pluginVersion": "8.0.4", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "rate(avalanche_C_handler_pull_query_count{job=\"avalanchego\"}[5m])", + "expr": "rate(avalanche_handler_messages{chain=\"C\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "pull query", + "legendFormat": "{{ op }} {{node_id}}", "refId": "A" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_push_query_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "push query", - "refId": "B" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_chits_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "chits", - "refId": "C" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_accepted_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "accepted", - "refId": "D" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_get_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get", - "refId": "E" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_put_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "put", - "refId": "F" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_multi_put_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "multiput", - "refId": "G" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_get_ancestors_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get ancestors", - "refId": "H" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_get_failed_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get failed", - "refId": "I" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_query_failed_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "query failed", - "refId": "J" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_get_accepted_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get accepted", - "refId": "K" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_get_ancestors_failed_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get ancestors failed", - "refId": "L" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_app_request_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app request", - "refId": "M" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_app_request_failed_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app request failed", - "refId": "N" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_app_response_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app response", - "refId": "O" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_C_handler_app_gossip_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app gossip", - "refId": "P" } ], "title": "Messages Received per Second", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Hit rate for the cache where the key is the byte representation of the block, and the value is the block's ID", "fieldConfig": { "defaults": { @@ -1658,7 +1379,8 @@ "value": 80 } ] - } + }, + "unit": "percent" }, "overrides": [] }, @@ -1683,21 +1405,47 @@ }, "targets": [ { - "datasource": "Prometheus", - "editorMode": "code", - "exemplar": true, - "expr": "increase(avalanche_C_vm_chain_state_bytes_to_id_cache_hit[5m])/(increase(avalanche_C_vm_chain_state_bytes_to_id_cache_hit[5m])+increase(avalanche_C_vm_chain_state_bytes_to_id_cache_miss[5m]))", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "sum(increase(avalanche_evm_chain_state_bytes_to_id_cache_get_count{chain=\"C\", result=\"hit\"}[5m]) or 0 * up)", "interval": "", - "legendFormat": "Hit Rate", - "range": true, - "refId": "A" + "legendFormat": "Hits {{node_id}}", + "refId": "A", + "hide": true + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "sum(increase(avalanche_evm_chain_state_bytes_to_id_cache_get_count{chain=\"C\"}[5m]) or 0 * up)", + "interval": "", + "legendFormat": "Calls {{node_id}}", + "refId": "B", + "hide": true + }, + { + "datasource": { + "type": "__expr__", + "uid": "__expr__", + "name": "Expression" + }, + "refId": "Hit Rate", + "type": "math", + "hide": false, + "expression": "$A/$B" } ], "title": "Block ID Cache Hit Rate", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Hit rate for the decided block cache", "fieldConfig": { "defaults": { @@ -1748,7 +1496,8 @@ "value": 80 } ] - } + }, + "unit": "percentunit" }, "overrides": [] }, @@ -1773,21 +1522,46 @@ }, "targets": [ { - "datasource": "Prometheus", - "editorMode": "code", - "exemplar": true, - "expr": "increase(avalanche_C_vm_chain_state_decided_cache_hit[5m])/(increase(avalanche_C_vm_chain_state_decided_cache_hit[5m])+increase(avalanche_C_vm_chain_state_decided_cache_miss[5m]))", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "sum(increase(avalanche_evm_chain_state_decided_cache_get_count{chain=\"C\", result=\"hit\"}[5m]) or 0 * up)", "interval": "", - "legendFormat": "Hit Rate", - "range": true, - "refId": "A" + "legendFormat": "Hits {{node_id}}", + "refId": "A", + "hide": true + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "sum(increase(avalanche_evm_chain_state_decided_cache_get_count{chain=\"C\"}[5m]) or 0 * up)", + "interval": "", + "legendFormat": "Calls {{node_id}}", + "refId": "B", + "hide": true + }, + { + "refId": "Hit Rate", + "datasource": { + "type": "__expr__", + "uid": "__expr__", + "name": "Expression" + }, + "type": "math", + "expression": "$A/$B" } ], "title": "Decided Cache Hit Rate", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Hit rate for the missing block cache", "fieldConfig": { "defaults": { @@ -1839,7 +1613,8 @@ "value": 80 } ] - } + }, + "unit": "percentunit" }, "overrides": [] }, @@ -1864,21 +1639,46 @@ }, "targets": [ { - "datasource": "Prometheus", - "editorMode": "code", - "exemplar": true, - "expr": "increase(avalanche_C_vm_chain_state_missing_cache_hit[5m])/(increase(avalanche_C_vm_chain_state_missing_cache_hit[5m])+increase(avalanche_C_vm_chain_state_missing_cache_miss[5m]))", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "sum(increase(avalanche_evm_chain_state_missing_cache_get_count{chain=\"C\", result=\"hit\"}[5m]) or 0 * up)", "interval": "", - "legendFormat": "Hit Rate", - "range": true, - "refId": "A" + "legendFormat": "Hits {{node_id}}", + "refId": "A", + "hide": true + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "sum(increase(avalanche_evm_chain_state_missing_cache_get_count{chain=\"C\"}[5m]) or 0 * up)", + "interval": "", + "legendFormat": "Calls {{node_id}}", + "refId": "B", + "hide": true + }, + { + "refId": "Hit Rate", + "datasource": { + "type": "__expr__", + "uid": "__expr__", + "name": "Expression" + }, + "type": "math", + "expression": "$A/$B" } ], "title": "Missing Block Cache Hit Rate", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Hit rate for the unverified block cache", "fieldConfig": { "defaults": { @@ -1929,7 +1729,8 @@ "value": 80 } ] - } + }, + "unit": "percent" }, "overrides": [] }, @@ -1954,14 +1755,36 @@ }, "targets": [ { - "datasource": "Prometheus", - "editorMode": "code", - "exemplar": true, - "expr": "increase(avalanche_C_vm_chain_state_unverified_cache_hit[5m])/(increase(avalanche_C_vm_chain_state_unverified_cache_hit[5m])+increase(avalanche_C_vm_chain_state_unverified_cache_miss[5m]))", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "sum(increase(avalanche_evm_chain_state_unverified_cache_get_count{chain=\"C\", result=\"hit\"}[5m]) or 0 * up)", "interval": "", - "legendFormat": "Hit Rate", - "range": true, - "refId": "A" + "legendFormat": "Hits {{node_id}}", + "refId": "A", + "hide": true + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "sum(increase(avalanche_evm_chain_state_unverified_cache_get_count{chain=\"C\"}[5m]) or 0 * up)", + "interval": "", + "legendFormat": "Calls {{node_id}}", + "refId": "B", + "hide": true + }, + { + "refId": "Hit Rate", + "datasource": { + "type": "__expr__", + "uid": "__expr__", + "name": "Expression" + }, + "type": "math", + "expression": "$A/$B" } ], "title": "Unverified Block Cache Hit Rate", @@ -1975,7 +1798,34 @@ "Avalanche" ], "templating": { - "list": [] + "list": [ + { + "hide": 0, + "includeAll": false, + "label": "Data Source", + "multi": false, + "name": "datasource", + "options": [], + "query": "prometheus", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "filters": [], + "hide": 0, + "label": "Filter", + "name": "filter", + "skipUrlSync": false, + "type": "adhoc" + } + ] }, "time": { "from": "now-6h", diff --git a/files/dashboards/database.json b/files/dashboards/database.json index 9659b5e..3473a7f 100644 --- a/files/dashboards/database.json +++ b/files/dashboards/database.json @@ -19,15 +19,21 @@ "links": [ { "icon": "external link", + "includeVars": true, + "keepTime": true, "tags": [ "Avalanche" ], "type": "dashboards" } ], + "liveNow": true, "panels": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Database read rate. Note that these reads may be from caches and not from disk.", "fieldConfig": { "defaults": { @@ -103,12 +109,14 @@ "pluginVersion": "8.0.5", "targets": [ { - "exemplar": true, - "expr": "rate(avalanche_db_read_size_sum{job=\"avalanchego\"}[5m])", - "hide": false, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "sum(rate(avalanche_meterdb_size{chain=\"all\", method=~\"has|get|iterator_next\"}[5m]))", "interval": "", - "legendFormat": "Bytes Read", - "refId": "B" + "legendFormat": "Bytes Read {{node_id}}", + "refId": "A" } ], "timeFrom": null, @@ -117,7 +125,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Database write rate.", "fieldConfig": { "defaults": { @@ -193,10 +204,13 @@ "pluginVersion": "8.0.5", "targets": [ { - "exemplar": true, - "expr": "rate(avalanche_db_write_size_sum{job=\"avalanchego\"}[5m])", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "sum(rate(avalanche_meterdb_size{chain=\"all\", method=~\"put|delete|batch_write\"}[5m]))", "interval": "", - "legendFormat": "Write Rate", + "legendFormat": "Bytes Written {{node_id}}", "refId": "A" } ], @@ -206,7 +220,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Measures how many of each database operation is performed each second across all chains", "fieldConfig": { "defaults": { @@ -270,11 +287,10 @@ "legend": { "calcs": [ "mean", - "lastNotNull", "max" ], "displayMode": "table", - "placement": "right" + "placement": "bottom" }, "tooltip": { "mode": "single" @@ -283,67 +299,10 @@ "pluginVersion": "8.0.5", "targets": [ { - "exemplar": true, - "expr": "rate(avalanche_db_count{job=\"avalanchego\"}[5m])", + "expr": "rate(avalanche_meterdb_calls{chain=\"all\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "put", + "legendFormat": "{{ method }} {{node_id}}", "refId": "A" - }, - { - "exemplar": true, - "expr": "rate(avalanche_db_get_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get", - "refId": "B" - }, - { - "exemplar": true, - "expr": "rate(avalanche_db_delete_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "delete", - "refId": "C" - }, - { - "exemplar": true, - "expr": "rate(avalanche_db_has_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "has", - "refId": "D" - }, - { - "exemplar": true, - "expr": "rate(avalanche_db_compact_size_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "compact", - "refId": "E" - }, - { - "exemplar": true, - "expr": "rate(avalanche_db_batch_put_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch put", - "refId": "F" - }, - { - "exemplar": true, - "expr": "rate(avalanche_db_batch_delete_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch delete", - "refId": "G" - }, - { - "exemplar": true, - "expr": "rate(avalanche_db_batch_reset_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch reset", - "refId": "H" - }, - { - "exemplar": true, - "expr": "rate(avalanche_db_batch_replay_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch replay", - "refId": "I" } ], "timeFrom": null, @@ -352,7 +311,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Measures how long each database operation is taking on average", "fieldConfig": { "defaults": { @@ -417,11 +379,10 @@ "legend": { "calcs": [ "mean", - "lastNotNull", "max" ], "displayMode": "table", - "placement": "right" + "placement": "bottom" }, "tooltip": { "mode": "single" @@ -430,67 +391,10 @@ "pluginVersion": "8.0.5", "targets": [ { - "exemplar": true, - "expr": "increase(avalanche_db_put_sum{job=\"avalanchego\"}[5m])/increase(avalanche_db_put_count{job=\"avalanchego\"}[5m])", + "expr": "increase(avalanche_meterdb_duration{chain=\"all\", job=\"avalanchego\"}[5m])/increase(avalanche_meterdb_calls{chain=\"all\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "put", + "legendFormat": "{{ method }} {{node_id}}", "refId": "A" - }, - { - "exemplar": true, - "expr": "increase(avalanche_db_get_sum{job=\"avalanchego\"}[5m])/increase(avalanche_db_get_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get", - "refId": "B" - }, - { - "exemplar": true, - "expr": "increase(avalanche_db_delete_sum{job=\"avalanchego\"}[5m])/increase(avalanche_db_delete_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "delete", - "refId": "C" - }, - { - "exemplar": true, - "expr": "increase(avalanche_db_has_sum{job=\"avalanchego\"}[5m])/increase(avalanche_db_has_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "has", - "refId": "D" - }, - { - "exemplar": true, - "expr": "increase(avalanche_db_compact_size_sum{job=\"avalanchego\"}[5m])/increase(avalanche_db_compact_size_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "compact", - "refId": "E" - }, - { - "exemplar": true, - "expr": "increase(avalanche_db_batch_put_sum{job=\"avalanchego\"}[5m])/increase(avalanche_db_batch_put_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch put", - "refId": "F" - }, - { - "exemplar": true, - "expr": "increase(avalanche_db_batch_delete_sum{job=\"avalanchego\"}[5m])/increase(avalanche_db_batch_delete_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch delete", - "refId": "G" - }, - { - "exemplar": true, - "expr": "increase(avalanche_db_batch_reset_sum{job=\"avalanchego\"}[5m])/increase(avalanche_db_batch_reset_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch reset", - "refId": "H" - }, - { - "exemplar": true, - "expr": "increase(avalanche_db_batch_replay_sum{job=\"avalanchego\"}[5m])/increase(avalanche_db_batch_replay_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch replay", - "refId": "I" } ], "timeFrom": null, @@ -499,7 +403,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Measures how many of each database operation is performed each second on X-Chain", "fieldConfig": { "defaults": { @@ -563,11 +470,10 @@ "legend": { "calcs": [ "mean", - "lastNotNull", "max" ], "displayMode": "table", - "placement": "right" + "placement": "bottom" }, "tooltip": { "mode": "single" @@ -576,67 +482,10 @@ "pluginVersion": "8.0.5", "targets": [ { - "exemplar": true, - "expr": "rate(avalanche_X_db_put_count{job=\"avalanchego\"}[5m])", + "expr": "rate(avalanche_meterdb_calls{chain=\"X\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "put", + "legendFormat": "{{ method }} {{node_id}}", "refId": "A" - }, - { - "exemplar": true, - "expr": "rate(avalanche_X_db_get_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get", - "refId": "B" - }, - { - "exemplar": true, - "expr": "rate(avalanche_X_db_delete_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "delete", - "refId": "C" - }, - { - "exemplar": true, - "expr": "rate(avalanche_X_db_has_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "has", - "refId": "D" - }, - { - "exemplar": true, - "expr": "rate(avalanche_X_db_compact_size_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "compact", - "refId": "E" - }, - { - "exemplar": true, - "expr": "rate(avalanche_X_db_batch_put_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch put", - "refId": "F" - }, - { - "exemplar": true, - "expr": "rate(avalanche_X_db_batch_delete_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch delete", - "refId": "G" - }, - { - "exemplar": true, - "expr": "rate(avalanche_X_db_batch_reset_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch reset", - "refId": "H" - }, - { - "exemplar": true, - "expr": "rate(avalanche_X_db_batch_replay_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch replay", - "refId": "I" } ], "timeFrom": null, @@ -645,7 +494,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Measures how long each database operation is taking on average on X-Chain", "fieldConfig": { "defaults": { @@ -710,11 +562,10 @@ "legend": { "calcs": [ "mean", - "lastNotNull", "max" ], "displayMode": "table", - "placement": "right" + "placement": "bottom" }, "tooltip": { "mode": "single" @@ -723,67 +574,10 @@ "pluginVersion": "8.0.5", "targets": [ { - "exemplar": true, - "expr": "increase(avalanche_X_db_put_sum{job=\"avalanchego\"}[5m])/increase(avalanche_X_db_put_count{job=\"avalanchego\"}[5m])", + "expr": "increase(avalanche_meterdb_duration{chain=\"X\", job=\"avalanchego\"}[5m])/increase(avalanche_meterdb_calls{chain=\"X\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "put", + "legendFormat": "{{ method }} {{node_id}}", "refId": "A" - }, - { - "exemplar": true, - "expr": "increase(avalanche_X_db_get_sum{job=\"avalanchego\"}[5m])/increase(avalanche_X_db_get_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get", - "refId": "B" - }, - { - "exemplar": true, - "expr": "increase(avalanche_X_db_delete_sum{job=\"avalanchego\"}[5m])/increase(avalanche_X_db_delete_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "delete", - "refId": "C" - }, - { - "exemplar": true, - "expr": "increase(avalanche_X_db_has_sum{job=\"avalanchego\"}[5m])/increase(avalanche_X_db_has_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "has", - "refId": "D" - }, - { - "exemplar": true, - "expr": "increase(avalanche_X_db_compact_size_sum{job=\"avalanchego\"}[5m])/increase(avalanche_X_db_compact_size_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "compact", - "refId": "E" - }, - { - "exemplar": true, - "expr": "increase(avalanche_X_db_batch_put_sum{job=\"avalanchego\"}[5m])/increase(avalanche_X_db_batch_put_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch put", - "refId": "F" - }, - { - "exemplar": true, - "expr": "increase(avalanche_X_db_batch_delete_sum{job=\"avalanchego\"}[5m])/increase(avalanche_X_db_batch_delete_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch delete", - "refId": "G" - }, - { - "exemplar": true, - "expr": "increase(avalanche_X_db_batch_reset_sum{job=\"avalanchego\"}[5m])/increase(avalanche_X_db_batch_reset_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch reset", - "refId": "H" - }, - { - "exemplar": true, - "expr": "increase(avalanche_X_db_batch_replay_sum{job=\"avalanchego\"}[5m])/increase(avalanche_X_db_batch_replay_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch replay", - "refId": "I" } ], "timeFrom": null, @@ -792,7 +586,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Measures how many of each database operation is performed each second on P-Chain", "fieldConfig": { "defaults": { @@ -856,11 +653,10 @@ "legend": { "calcs": [ "mean", - "lastNotNull", "max" ], "displayMode": "table", - "placement": "right" + "placement": "bottom" }, "tooltip": { "mode": "single" @@ -869,67 +665,10 @@ "pluginVersion": "8.0.5", "targets": [ { - "exemplar": true, - "expr": "rate(avalanche_P_db_put_count{job=\"avalanchego\"}[5m])", + "expr": "rate(avalanche_meterdb_calls{chain=\"P\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "put", + "legendFormat": "{{ method }} {{node_id}}", "refId": "A" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_db_get_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get", - "refId": "B" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_db_delete_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "delete", - "refId": "C" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_db_has_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "has", - "refId": "D" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_db_compact_size_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "compact", - "refId": "E" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_db_batch_put_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch put", - "refId": "F" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_db_batch_delete_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch delete", - "refId": "G" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_db_batch_reset_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch reset", - "refId": "H" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_db_batch_replay_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch replay", - "refId": "I" } ], "timeFrom": null, @@ -938,7 +677,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Measures how long each database operation is taking on average on P-Chain", "fieldConfig": { "defaults": { @@ -1003,11 +745,10 @@ "legend": { "calcs": [ "mean", - "lastNotNull", "max" ], "displayMode": "table", - "placement": "right" + "placement": "bottom" }, "tooltip": { "mode": "single" @@ -1016,67 +757,10 @@ "pluginVersion": "8.0.5", "targets": [ { - "exemplar": true, - "expr": "increase(avalanche_P_db_put_sum{job=\"avalanchego\"}[5m])/increase(avalanche_P_db_put_count{job=\"avalanchego\"}[5m])", + "expr": "increase(avalanche_meterdb_duration{chain=\"P\", job=\"avalanchego\"}[5m])/increase(avalanche_meterdb_calls{chain=\"P\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "put", + "legendFormat": "{{ method }} {{node_id}}", "refId": "A" - }, - { - "exemplar": true, - "expr": "increase(avalanche_P_db_get_sum{job=\"avalanchego\"}[5m])/increase(avalanche_P_db_get_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get", - "refId": "B" - }, - { - "exemplar": true, - "expr": "increase(avalanche_P_db_delete_sum{job=\"avalanchego\"}[5m])/increase(avalanche_P_db_delete_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "delete", - "refId": "C" - }, - { - "exemplar": true, - "expr": "increase(avalanche_P_db_has_sum{job=\"avalanchego\"}[5m])/increase(avalanche_P_db_has_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "has", - "refId": "D" - }, - { - "exemplar": true, - "expr": "increase(avalanche_P_db_compact_size_sum{job=\"avalanchego\"}[5m])/increase(avalanche_P_db_compact_size_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "compact", - "refId": "E" - }, - { - "exemplar": true, - "expr": "increase(avalanche_P_db_batch_put_sum{job=\"avalanchego\"}[5m])/increase(avalanche_P_db_batch_put_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch put", - "refId": "F" - }, - { - "exemplar": true, - "expr": "increase(avalanche_P_db_batch_delete_sum{job=\"avalanchego\"}[5m])/increase(avalanche_P_db_batch_delete_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch delete", - "refId": "G" - }, - { - "exemplar": true, - "expr": "increase(avalanche_P_db_batch_reset_sum{job=\"avalanchego\"}[5m])/increase(avalanche_P_db_batch_reset_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch reset", - "refId": "H" - }, - { - "exemplar": true, - "expr": "increase(avalanche_P_db_batch_replay_sum{job=\"avalanchego\"}[5m])/increase(avalanche_P_db_batch_replay_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch replay", - "refId": "I" } ], "timeFrom": null, @@ -1085,7 +769,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Measures how many of each database operation is performed each second across all chains", "fieldConfig": { "defaults": { @@ -1149,11 +836,10 @@ "legend": { "calcs": [ "mean", - "lastNotNull", "max" ], "displayMode": "table", - "placement": "right" + "placement": "bottom" }, "tooltip": { "mode": "single" @@ -1162,67 +848,10 @@ "pluginVersion": "8.0.5", "targets": [ { - "exemplar": true, - "expr": "rate(avalanche_C_db_put_count{job=\"avalanchego\"}[5m])", + "expr": "rate(avalanche_meterdb_calls{chain=\"C\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "put", + "legendFormat": "{{ method }} {{node_id}}", "refId": "A" - }, - { - "exemplar": true, - "expr": "rate(avalanche_C_db_get_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get", - "refId": "B" - }, - { - "exemplar": true, - "expr": "rate(avalanche_C_db_delete_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "delete", - "refId": "C" - }, - { - "exemplar": true, - "expr": "rate(avalanche_C_db_has_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "has", - "refId": "D" - }, - { - "exemplar": true, - "expr": "rate(avalanche_C_db_compact_size_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "compact", - "refId": "E" - }, - { - "exemplar": true, - "expr": "rate(avalanche_C_db_batch_put_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch put", - "refId": "F" - }, - { - "exemplar": true, - "expr": "rate(avalanche_C_db_batch_delete_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch delete", - "refId": "G" - }, - { - "exemplar": true, - "expr": "rate(avalanche_C_db_batch_reset_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch reset", - "refId": "H" - }, - { - "exemplar": true, - "expr": "rate(avalanche_C_db_batch_replay_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch replay", - "refId": "I" } ], "timeFrom": null, @@ -1231,7 +860,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Measures how long each database operation is taking on average on C-Chain", "fieldConfig": { "defaults": { @@ -1296,11 +928,10 @@ "legend": { "calcs": [ "mean", - "lastNotNull", "max" ], "displayMode": "table", - "placement": "right" + "placement": "bottom" }, "tooltip": { "mode": "single" @@ -1309,67 +940,10 @@ "pluginVersion": "8.0.5", "targets": [ { - "exemplar": true, - "expr": "increase(avalanche_C_db_put_sum{job=\"avalanchego\"}[5m])/increase(avalanche_C_db_put_count{job=\"avalanchego\"}[5m])", + "expr": "increase(avalanche_meterdb_duration{chain=\"C\", job=\"avalanchego\"}[5m])/increase(avalanche_meterdb_calls{chain=\"C\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "put", + "legendFormat": "{{ method }} {{node_id}}", "refId": "A" - }, - { - "exemplar": true, - "expr": "increase(avalanche_C_db_get_sum{job=\"avalanchego\"}[5m])/increase(avalanche_C_db_get_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get", - "refId": "B" - }, - { - "exemplar": true, - "expr": "increase(avalanche_C_db_delete_sum{job=\"avalanchego\"}[5m])/increase(avalanche_C_db_delete_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "delete", - "refId": "C" - }, - { - "exemplar": true, - "expr": "increase(avalanche_C_db_has_sum{job=\"avalanchego\"}[5m])/increase(avalanche_C_db_has_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "has", - "refId": "D" - }, - { - "exemplar": true, - "expr": "increase(avalanche_C_db_compact_size_sum{job=\"avalanchego\"}[5m])/increase(avalanche_C_db_compact_size_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "compact", - "refId": "E" - }, - { - "exemplar": true, - "expr": "increase(avalanche_C_db_batch_put_sum{job=\"avalanchego\"}[5m])/increase(avalanche_C_db_batch_put_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch put", - "refId": "F" - }, - { - "exemplar": true, - "expr": "increase(avalanche_C_db_batch_delete_sum{job=\"avalanchego\"}[5m])/increase(avalanche_C_db_batch_delete_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch delete", - "refId": "G" - }, - { - "exemplar": true, - "expr": "increase(avalanche_C_db_batch_reset_sum{job=\"avalanchego\"}[5m])/increase(avalanche_C_db_batch_reset_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch reset", - "refId": "H" - }, - { - "exemplar": true, - "expr": "increase(avalanche_C_db_batch_replay_sum{job=\"avalanchego\"}[5m])/increase(avalanche_C_db_batch_replay_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch replay", - "refId": "I" } ], "timeFrom": null, @@ -1385,7 +959,34 @@ "Avalanche" ], "templating": { - "list": [] + "list": [ + { + "hide": 0, + "includeAll": false, + "label": "Data Source", + "multi": false, + "name": "datasource", + "options": [], + "query": "prometheus", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "filters": [], + "hide": 0, + "label": "Filter", + "name": "filter", + "skipUrlSync": false, + "type": "adhoc" + } + ] }, "time": { "from": "now-1h", diff --git a/files/dashboards/erpc.json b/files/dashboards/erpc.json new file mode 100644 index 0000000..f4d070a --- /dev/null +++ b/files/dashboards/erpc.json @@ -0,0 +1,3256 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "grafana", + "uid": "-- Grafana --" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "target": { + "limit": 100, + "matchAny": false, + "tags": [], + "type": "dashboard" + }, + "type": "dashboard" + } + ] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": 1, + "links": [], + "liveNow": false, + "panels": [ + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 35, + "panels": [], + "title": "Overall", + "type": "row" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [ + { + "options": { + "NaN": { + "color": "text", + "index": 0, + "text": "-" + } + }, + "type": "value" + } + ], + "noValue": "0", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "dark-green", + "value": null + }, + { + "color": "green", + "value": 0.2 + }, + { + "color": "yellow", + "value": 0.3 + }, + { + "color": "orange", + "value": 0.5 + }, + { + "color": "dark-orange", + "value": 1 + }, + { + "color": "red", + "value": 2 + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 1 + }, + "id": 22, + "options": { + "minVizHeight": 75, + "minVizWidth": 75, + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showThresholdLabels": false, + "showThresholdMarkers": false, + "sizing": "auto" + }, + "pluginVersion": "9.5.1", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PAE45454D0EDB9216" + }, + "editorMode": "code", + "exemplar": false, + "expr": "histogram_quantile(0.95, sum(rate(erpc_upstream_request_duration_seconds_bucket{network!=\"n/a\"}[30s])) by (le, network, upstream)) > 0", + "legendFormat": "{{upstream}} / {{network}}", + "range": true, + "refId": "A" + } + ], + "title": "P95 resp. time", + "transparent": true, + "type": "gauge" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 9 + }, + "id": 19, + "panels": [], + "title": "Network-wide", + "type": "row" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "Total requests received by eRPC for a specific network and method", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byValue", + "options": { + "op": "gte", + "reducer": "allIsZero", + "value": 0 + } + }, + "properties": [ + { + "id": "custom.hideFrom", + "value": { + "legend": true, + "tooltip": true, + "viz": false + } + } + ] + }, + { + "matcher": { + "id": "byValue", + "options": { + "op": "gte", + "reducer": "allIsNull", + "value": 0 + } + }, + "properties": [ + { + "id": "custom.hideFrom", + "value": { + "legend": true, + "tooltip": true, + "viz": false + } + } + ] + } + ] + }, + "gridPos": { + "h": 12, + "w": 8, + "x": 0, + "y": 10 + }, + "id": 2, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "sum(increase(erpc_network_request_received_total[30s])) by (project, network, category)", + "interval": "", + "legendFormat": "{{project}}, {{network}}, {{category}}", + "range": true, + "refId": "A" + } + ], + "title": "Network-level Requests", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "Total requests received by eRPC for a specific network and method", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byValue", + "options": { + "op": "gte", + "reducer": "allIsZero", + "value": 0 + } + }, + "properties": [ + { + "id": "custom.hideFrom", + "value": { + "legend": true, + "tooltip": true, + "viz": false + } + } + ] + }, + { + "matcher": { + "id": "byValue", + "options": { + "op": "gte", + "reducer": "allIsNull", + "value": 0 + } + }, + "properties": [ + { + "id": "custom.hideFrom", + "value": { + "legend": true, + "tooltip": true, + "viz": false + } + } + ] + } + ] + }, + "gridPos": { + "h": 12, + "w": 8, + "x": 8, + "y": 10 + }, + "id": 28, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "sum(rate(erpc_network_request_received_total[30s])) by (project, network, category)", + "interval": "", + "legendFormat": "{{project}}, {{network}}, {{category}}", + "range": true, + "refId": "A" + } + ], + "title": "Network-level RPS", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byValue", + "options": { + "op": "gte", + "reducer": "allIsZero", + "value": 0 + } + }, + "properties": [ + { + "id": "custom.hideFrom", + "value": { + "legend": true, + "tooltip": true, + "viz": false + } + } + ] + }, + { + "matcher": { + "id": "byValue", + "options": { + "op": "gte", + "reducer": "allIsNull", + "value": 0 + } + }, + "properties": [ + { + "id": "custom.hideFrom", + "value": { + "legend": true, + "tooltip": true, + "viz": false + } + } + ] + } + ] + }, + "gridPos": { + "h": 12, + "w": 8, + "x": 16, + "y": 10 + }, + "id": 12, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "sum(rate(erpc_network_request_self_rate_limited_total[30s])) by (project, network)", + "legendFormat": "{{project}}, {{network}}", + "range": true, + "refId": "A" + } + ], + "title": "Network self-imposed Rate-limited requests", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "s" + }, + "overrides": [ + { + "matcher": { + "id": "byValue", + "options": { + "op": "gte", + "reducer": "allIsZero", + "value": 0 + } + }, + "properties": [ + { + "id": "custom.hideFrom", + "value": { + "legend": true, + "tooltip": true, + "viz": false + } + } + ] + }, + { + "matcher": { + "id": "byValue", + "options": { + "op": "gte", + "reducer": "allIsNull", + "value": 0 + } + }, + "properties": [ + { + "id": "custom.hideFrom", + "value": { + "legend": true, + "tooltip": true, + "viz": false + } + } + ] + } + ] + }, + "gridPos": { + "h": 12, + "w": 8, + "x": 0, + "y": 22 + }, + "id": 8, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "histogram_quantile(0.5, sum(rate(erpc_network_request_duration_seconds_bucket[30s])) by (le, project, network, category))", + "hide": false, + "legendFormat": "p50: {{project}}, {{network}}, {{category}}", + "range": true, + "refId": "C" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "histogram_quantile(0.95, sum(rate(erpc_network_request_duration_seconds_bucket[30s])) by (le, project, network, category))", + "legendFormat": "p95: {{project}}, {{network}}, {{category}}", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "histogram_quantile(0.99, sum(rate(erpc_network_request_duration_seconds_bucket[5m])) by (le, project, network, category))", + "hide": false, + "legendFormat": "p99: {{project}}, {{network}}, {{category}}", + "range": true, + "refId": "B" + } + ], + "title": "Network-level resp. time", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "When a request fails even after trying all upstreams and retries", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byValue", + "options": { + "op": "gte", + "reducer": "allIsZero", + "value": 0 + } + }, + "properties": [ + { + "id": "custom.hideFrom", + "value": { + "legend": true, + "tooltip": true, + "viz": false + } + } + ] + }, + { + "matcher": { + "id": "byValue", + "options": { + "op": "gte", + "reducer": "allIsNull", + "value": 0 + } + }, + "properties": [ + { + "id": "custom.hideFrom", + "value": { + "legend": true, + "tooltip": true, + "viz": false + } + } + ] + } + ] + }, + "gridPos": { + "h": 12, + "w": 16, + "x": 8, + "y": 22 + }, + "id": 14, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "exemplar": false, + "expr": "sum(increase(erpc_network_failed_request_total[30s])) by (project,network,error) > 0", + "instant": false, + "interval": "", + "legendFormat": "{{project}}, {{network}}, {{error}}", + "range": true, + "refId": "A" + } + ], + "title": "Network-level Errors", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "When identical requests arrive at the same time they'll be merged, this number shows number of these requests", + "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": 11, + "w": 8, + "x": 0, + "y": 34 + }, + "id": 9, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "sum(increase(erpc_network_multiplexed_request_total[30s])) by (project, network, category)", + "legendFormat": "{{project}}, {{network}}, {{category}}", + "range": true, + "refId": "A" + } + ], + "title": "Network-level Multiplexed requests", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "Total identical requests that are initiated towards a new upstream while the previous upstream is slow to respond", + "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 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 11, + "w": 8, + "x": 8, + "y": 34 + }, + "id": 25, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "sum(increase(erpc_network_hedged_request_total[30s])) by (project, network, upstream) > 0", + "legendFormat": "{{project}}, {{network}}, {{upstream}}", + "range": true, + "refId": "A" + } + ], + "title": "Hedged requests", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "Total hedged requests that ended up being actually faster and useful. The higher the better. If this value is too low try increasing the failsafe.hedge.quantile to higher value e.g. 0.99", + "fieldConfig": { + "defaults": { + "color": { + "mode": "continuous-RdYlGr" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 83, + "gradientMode": "opacity", + "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 + } + ] + }, + "unit": "percentunit" + }, + "overrides": [] + }, + "gridPos": { + "h": 11, + "w": 8, + "x": 16, + "y": 34 + }, + "id": 33, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "1 - ((sum(increase(erpc_network_hedge_discards_total{attempt!=\"1\"}[30s])) by (project, network, upstream)) / (sum(increase(erpc_network_hedged_request_total{}[30s])) by (project, network, upstream))) > 0", + "legendFormat": "{{project}}, {{network}}, {{upstream}}", + "range": true, + "refId": "A" + } + ], + "title": "Effective hedged requests", + "type": "timeseries" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 45 + }, + "id": 20, + "panels": [], + "title": "Upstream-wide", + "type": "row" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "These are real requests sent to upstream endpoints, including retries", + "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 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 8, + "x": 0, + "y": 46 + }, + "id": 4, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "sum(increase(erpc_upstream_request_total[30s])) by (project, network, upstream, attempt)", + "interval": "", + "legendFormat": "{{project}}, {{network}}, {{upstream}}, {{attempt}}", + "range": true, + "refId": "A" + } + ], + "title": "Upstream-level requests", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "These are real requests sent to upstream endpoints, including retries", + "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 + } + ] + }, + "unit": "reqps" + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 8, + "x": 8, + "y": 46 + }, + "id": 29, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "sum(rate(erpc_upstream_request_total[30s])) by (project, network, upstream, attempt)", + "interval": "", + "legendFormat": "{{project}}, {{network}}, {{upstream}}, {{attempt}}", + "range": true, + "refId": "A" + } + ], + "title": "Upstream-level RPS", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "", + "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": 12, + "w": 8, + "x": 16, + "y": 46 + }, + "id": 26, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "avg(erpc_upstream_score_overall{network=\"*\"}) by (project, upstream, network)", + "format": "time_series", + "legendFormat": "{{project}}, {{upstream}}", + "range": true, + "refId": "A" + } + ], + "title": "Scores", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "Total requests that are sent to upstream but is rate-limited by the provider node", + "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 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 8, + "x": 0, + "y": 58 + }, + "id": 11, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "sum(increase(erpc_upstream_request_remote_rate_limited_total[30s])) by (project, network, upstream)", + "legendFormat": "{{project}}, {{network}}, {{upstream}}", + "range": true, + "refId": "A" + } + ], + "title": "Upstream-level Remote rate-limited Requests", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "Total requests rate-limited locally on eRPC before actually sending, based on defined budget", + "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 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 8, + "x": 8, + "y": 58 + }, + "id": 10, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "sum(increase(erpc_upstream_request_self_rate_limited_total[30s])) by (project, network, upstream)", + "legendFormat": "{{project}}, {{network}}, {{upstream}}", + "range": true, + "refId": "A" + } + ], + "title": "Upstream-level self-imposed Ratel-limited requests", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "Dynamically tuned value for maxCount of different rate limit budgets", + "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 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 8, + "x": 16, + "y": 58 + }, + "id": 30, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "9.5.1", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "sum by (budget, method) (erpc_rate_limiter_budget_max_count)\n", + "legendFormat": "{{budget}}, {{method}}", + "range": true, + "refId": "A" + } + ], + "title": "Rate-limit budget MaxCount", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "", + "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 + } + ] + }, + "unit": "s" + }, + "overrides": [ + { + "__systemRef": "hideSeriesFrom", + "matcher": { + "id": "byNames", + "options": { + "mode": "exclude", + "names": [ + "p99: main, chainstack", + "p99: main, blast", + "p99: main, dwellir", + "p99: main, onfinality", + "p99: main, quiknode" + ], + "prefix": "All except:", + "readOnly": true + } + }, + "properties": [ + { + "id": "custom.hideFrom", + "value": { + "legend": false, + "tooltip": false, + "viz": true + } + } + ] + } + ] + }, + "gridPos": { + "h": 12, + "w": 12, + "x": 0, + "y": 70 + }, + "id": 27, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "histogram_quantile(0.50, sum(rate(erpc_upstream_request_duration_seconds_bucket[30s])) by (le, project, upstream))", + "legendFormat": "p50: {{project}}, {{upstream}}", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "histogram_quantile(0.95, sum(rate(erpc_upstream_request_duration_seconds_bucket[30s])) by (le, project, upstream))", + "legendFormat": "p95: {{project}}, {{upstream}}", + "range": true, + "refId": "B" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "histogram_quantile(0.99, sum(rate(erpc_upstream_request_duration_seconds_bucket[1m])) by (le, project, upstream))", + "legendFormat": "p99: {{project}}, {{upstream}}", + "range": true, + "refId": "C" + } + ], + "title": "Upstream-level resp. time", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "", + "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 + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 12, + "w": 12, + "x": 12, + "y": 70 + }, + "id": 7, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "histogram_quantile(0.50, sum(rate(erpc_upstream_request_duration_seconds_bucket{network!=\"n/a\"}[30s])) by (le, project, network, upstream, category))", + "legendFormat": "p50: {{project}}, {{network}}, {{upstream}}, {{category}}", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "histogram_quantile(0.95, sum(rate(erpc_upstream_request_duration_seconds_bucket{network!=\"n/a\"}[30s])) by (le, project, network, upstream, category))", + "legendFormat": "p95: {{project}}, {{network}}, {{upstream}}, {{category}}", + "range": true, + "refId": "B" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "histogram_quantile(0.99, sum(rate(erpc_upstream_request_duration_seconds_bucket{network!=\"n/a\"}[1m])) by (le, project, network, upstream, category))", + "legendFormat": "p99: {{project}}, {{network}}, {{upstream}}, {{category}}", + "range": true, + "refId": "C" + } + ], + "title": "Method resp. time", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "The failures are more tolerable (e.g. rate limited, hedge-cancellations, etc) which doesn't mean upstream is failing, therefore less alert-worthy", + "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": 12, + "w": 24, + "x": 0, + "y": 82 + }, + "id": 15, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "sum(increase(erpc_upstream_request_errors_total{severity=\"warning\"}[30s])) by (project, network, upstream, error) > 0", + "interval": "", + "legendFormat": "{{project}}, {{network}}, {{upstream}}, {{error}}", + "range": true, + "refId": "A" + } + ], + "title": "Upstream-level warning errors", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "Failures received when attempting upstream endpoints, these errors mean upstream has failures", + "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": 18, + "w": 24, + "x": 0, + "y": 94 + }, + "id": 24, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "sum(increase(erpc_upstream_request_errors_total{severity=\"critical\"}[30s])) by (project, network, upstream, error) > 0", + "interval": "", + "legendFormat": "{{project}}, {{network}}, {{upstream}}, {{error}}", + "range": true, + "refId": "A" + } + ], + "title": "Upstream-level critical errors", + "type": "timeseries" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 112 + }, + "id": 21, + "panels": [], + "title": "Cache", + "type": "row" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "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": 10, + "w": 12, + "x": 0, + "y": 113 + }, + "id": 17, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "sum(increase(erpc_cache_set_success_total[30s])) by (project, network, category, connector, policy, ttl)", + "legendFormat": "{{project}}, {{network}}, {{category}}, {{connector}}, {{policy}}, TTL={{ttl}}", + "range": true, + "refId": "A" + } + ], + "title": "Cache SET success total", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "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 + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 10, + "w": 12, + "x": 12, + "y": 113 + }, + "id": 16, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "histogram_quantile(0.5, sum(rate(erpc_cache_set_success_duration_seconds_bucket[30s])) by (le, project, network, category, connector, policy, ttl))", + "legendFormat": "p50 - {{project}}, {{network}}, {{category}}, {{connector}}, {{policy}}, TTL={{ttl}}", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "histogram_quantile(0.95, sum(rate(erpc_cache_set_success_duration_seconds_bucket[30s])) by (le, project, network, category, connector, policy, ttl))", + "hide": false, + "legendFormat": "p95 - {{project}}, {{network}}, {{category}}, {{connector}}, {{policy}}, TTL={{ttl}}", + "range": true, + "refId": "B" + } + ], + "title": "Cache SET success duration", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "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": 10, + "w": 12, + "x": 0, + "y": 123 + }, + "id": 36, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "sum(increase(erpc_cache_set_error_total[30s])) by (project, network, category, connector, policy, ttl)", + "legendFormat": "{{project}}, {{network}}, {{category}}, {{connector}}, {{policy}}, TTL={{ttl}}", + "range": true, + "refId": "A" + } + ], + "title": "Cache SET error total", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "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 + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 10, + "w": 12, + "x": 12, + "y": 123 + }, + "id": 37, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "histogram_quantile(0.5, sum(rate(erpc_cache_set_error_duration_seconds_bucket[30s])) by (le, project, network, category, connector, policy, ttl))", + "legendFormat": "p50 - {{project}}, {{network}}, {{category}}, {{connector}}, {{policy}}, TTL={{ttl}}", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "histogram_quantile(0.95, sum(rate(erpc_cache_set_error_duration_seconds_bucket[30s])) by (le, project, network, category, connector, policy, ttl))", + "hide": false, + "legendFormat": "p95 - {{project}}, {{network}}, {{category}}, {{connector}}, {{policy}}, TTL={{ttl}}", + "range": true, + "refId": "B" + } + ], + "title": "Cache SET error duration", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "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": 10, + "w": 12, + "x": 0, + "y": 133 + }, + "id": 38, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "sum(increase(erpc_cache_get_success_hit_total[30s])) by (project, network, category, connector, policy, ttl)", + "legendFormat": "{{project}}, {{network}}, {{category}}, {{connector}}, {{policy}}, TTL={{ttl}}", + "range": true, + "refId": "A" + } + ], + "title": "Cache GET success-hit total", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "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 + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 10, + "w": 12, + "x": 12, + "y": 133 + }, + "id": 39, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "histogram_quantile(0.5, sum(rate(erpc_cache_get_success_hit_duration_seconds_bucket[30s])) by (le, project, network, category, connector, policy, ttl))", + "legendFormat": "p50 - {{project}}, {{network}}, {{category}}, {{connector}}, {{policy}}, TTL={{ttl}}", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "histogram_quantile(0.95, sum(rate(erpc_cache_get_success_hit_duration_seconds_bucket[30s])) by (le, project, network, category, connector, policy, ttl))", + "hide": false, + "legendFormat": "p95 - {{project}}, {{network}}, {{category}}, {{connector}}, {{policy}}, TTL={{ttl}}", + "range": true, + "refId": "B" + } + ], + "title": "Cache GET success-hit duration", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "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": 10, + "w": 12, + "x": 0, + "y": 143 + }, + "id": 42, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "sum(increase(erpc_cache_get_success_miss_total[30s])) by (project, network, category, connector, policy, ttl)", + "legendFormat": "{{project}}, {{network}}, {{category}}, {{connector}}, {{policy}}, TTL={{ttl}}", + "range": true, + "refId": "A" + } + ], + "title": "Cache GET success-miss total", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "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 + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 10, + "w": 12, + "x": 12, + "y": 143 + }, + "id": 43, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "histogram_quantile(0.5, sum(rate(erpc_cache_get_success_miss_duration_seconds_bucket[30s])) by (le, project, network, category, connector, policy, ttl))", + "legendFormat": "p50 - {{project}}, {{network}}, {{category}}, {{connector}}, {{policy}}, TTL={{ttl}}", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "histogram_quantile(0.95, sum(rate(erpc_cache_get_success_miss_duration_seconds_bucket[30s])) by (le, project, network, category, connector, policy, ttl))", + "hide": false, + "legendFormat": "p95 - {{project}}, {{network}}, {{category}}, {{connector}}, {{policy}}, TTL={{ttl}}", + "range": true, + "refId": "B" + } + ], + "title": "Cache GET success-miss duration", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "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": 10, + "w": 12, + "x": 0, + "y": 153 + }, + "id": 40, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "sum(increase(erpc_cache_get_error_total[30s])) by (project, network, category, connector, policy, ttl)", + "legendFormat": "{{project}}, {{network}}, {{category}}, {{connector}}, {{policy}}, TTL={{ttl}}", + "range": true, + "refId": "A" + } + ], + "title": "Cache GET error total", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "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 + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 10, + "w": 12, + "x": 12, + "y": 153 + }, + "id": 41, + "options": { + "alertThreshold": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.5.0-80207", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "histogram_quantile(0.5, sum(rate(erpc_cache_get_error_duration_seconds_bucket[30s])) by (le, project, network, category, connector, policy, ttl))", + "legendFormat": "p50 - {{project}}, {{network}}, {{category}}, {{connector}}, {{policy}}, TTL={{ttl}}", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "histogram_quantile(0.95, sum(rate(erpc_cache_get_error_duration_seconds_bucket[30s])) by (le, project, network, category, connector, policy, ttl))", + "hide": false, + "legendFormat": "p95 - {{project}}, {{network}}, {{category}}, {{connector}}, {{policy}}, TTL={{ttl}}", + "range": true, + "refId": "B" + } + ], + "title": "Cache GET error duration", + "type": "timeseries" + } + ], + "refresh": "5s", + "schemaVersion": 38, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "current": { + "selected": false, + "text": "Mimir", + "value": "Mimir" + }, + "hide": 0, + "includeAll": false, + "multi": false, + "name": "datasource", + "options": [], + "query": "prometheus", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + } + ] + }, + "time": { + "from": "now-5m", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "eRPC Metrics", + "uid": "erpc_metrics", + "version": 7, + "weekStart": "" +} diff --git a/files/dashboards/logs.json b/files/dashboards/logs.json new file mode 100644 index 0000000..276e79d --- /dev/null +++ b/files/dashboards/logs.json @@ -0,0 +1,229 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "description": "Loki dashboard with quick search and timeline.", + "editable": true, + "fiscalYearStartMonth": 0, + "gnetId": 13186, + "graphTooltip": 0, + "id": 12, + "links": [ + { + "asDropdown": false, + "icon": "external link", + "includeVars": true, + "keepTime": true, + "tags": [ + "Avalanche" + ], + "targetBlank": false, + "title": "", + "tooltip": "", + "type": "dashboards", + "url": "" + } + ], + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": { + "type": "loki", + "uid": "${loki_datasource}" + }, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 3, + "w": 24, + "x": 0, + "y": 0 + }, + "hiddenSeries": false, + "id": 6, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "10.4.0", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": { + "type": "loki", + "uid": "${loki_datasource}" + }, + "editorMode": "code", + "expr": "sum(count_over_time({network_uuid=~\".+\"} |~ \"$search\"[$__interval]))", + "queryType": "range", + "refId": "A" + } + ], + "thresholds": [], + "timeRegions": [], + "title": "Timeline", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "logBase": 1, + "show": false + }, + { + "format": "short", + "logBase": 1, + "show": false + } + ], + "yaxis": { + "align": false + } + }, + { + "datasource": { + "type": "loki", + "uid": "${loki_datasource}" + }, + "gridPos": { + "h": 25, + "w": 24, + "x": 0, + "y": 3 + }, + "id": 2, + "maxDataPoints": "", + "options": { + "dedupStrategy": "none", + "enableLogDetails": true, + "prettifyLogMessage": false, + "showCommonLabels": false, + "showLabels": true, + "showTime": true, + "sortOrder": "Descending", + "wrapLogMessage": true + }, + "targets": [ + { + "datasource": { + "type": "loki", + "uid": "${loki_datasource}" + }, + "editorMode": "code", + "expr": "{network_uuid=~\".+\"} |~ \"$search\"", + "queryType": "range", + "refId": "A" + } + ], + "title": "Logs", + "type": "logs" + } + ], + "schemaVersion": 39, + "tags": [ + "Avalanche" + ], + "templating": { + "list": [ + { + "hide": 0, + "includeAll": false, + "label": "Data Source", + "multi": false, + "name": "loki_datasource", + "options": [], + "query": "loki", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "hide": 0, + "name": "search", + "query": "", + "skipUrlSync": false, + "type": "textbox" + }, + { + "datasource": { + "type": "loki", + "uid": "${loki_datasource}" + }, + "filters": [], + "hide": 0, + "label": "Filter", + "name": "filter", + "skipUrlSync": false, + "type": "adhoc" + } + ] + }, + "timepicker": { + "refresh_intervals": [ + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ] + }, + "timezone": "", + "title": "Logs", + "uid": "liz0yRCZz", + "version": 6, + "weekStart": "" +} diff --git a/files/dashboards/machine.json b/files/dashboards/machine.json index d3ccfd2..ed301c0 100644 --- a/files/dashboards/machine.json +++ b/files/dashboards/machine.json @@ -29,13 +29,15 @@ "links": [ { "icon": "external link", + "includeVars": true, + "keepTime": true, "tags": [ "Avalanche" ], "type": "dashboards" } ], - "liveNow": false, + "liveNow": true, "panels": [ { "alert": { @@ -80,7 +82,10 @@ } ] }, - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "", "fieldConfig": { "defaults": { @@ -171,89 +176,10 @@ "type": "timeseries" }, { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "Prometheus", - "description": "", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 0 - }, - "hiddenSeries": false, - "id": 20, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "max": true, - "min": false, - "rightSide": true, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "alertThreshold": true - }, - "percentage": false, - "pluginVersion": "8.5.3", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "node_hwmon_temp_celsius{chip=\"platform_coretemp_0\"}", - "interval": "", - "legendFormat": "{{sensor}}", - "refId": "A" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "Temperature", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" + "datasource": { + "type": "prometheus", + "uid": "${datasource}" }, - "type": "graph", - "xaxis": { - "mode": "time", - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "min": "0", - "show": true - }, - { - "format": "short", - "logBase": 1, - "show": true - } - ], - "yaxis": { - "align": false - } - }, - { - "datasource": "Prometheus", "description": "Include I/O from applications other than AvalancheGo", "fieldConfig": { "defaults": { @@ -348,7 +274,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Includes I/O from applications other than AvalancheGo", "fieldConfig": { "defaults": { @@ -401,7 +330,7 @@ "h": 8, "w": 12, "x": 12, - "y": 8 + "y": 0 }, "id": 18, "options": { @@ -422,14 +351,20 @@ "pluginVersion": "8.0.5", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "expr": "rate(node_disk_read_bytes_total[5m])", "interval": "", "legendFormat": "Read {{device}}", "refId": "A" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "expr": "rate(node_disk_written_bytes_total[5m])", "hide": false, "interval": "", @@ -480,7 +415,10 @@ } ] }, - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "fieldConfig": { "defaults": { "color": { @@ -559,7 +497,10 @@ "pluginVersion": "8.0.5", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, "expr": "100 * (node_memory_MemTotal_bytes{job=~\"avalanchego-machine\"} - node_memory_MemFree_bytes{job=~\"avalanchego-machine\"} - node_memory_Buffers_bytes{job=~\"avalanchego-machine\"} - node_memory_Cached_bytes{job=~\"avalanchego-machine\"}) / node_memory_MemTotal_bytes{job=~\"avalanchego-machine\"}", "interval": "", @@ -606,7 +547,10 @@ "noDataState": "no_data", "notifications": [] }, - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "fieldConfig": { "defaults": { "color": { @@ -664,7 +608,7 @@ "h": 8, "w": 12, "x": 12, - "y": 16 + "y": 8 }, "id": 2, "options": { @@ -695,7 +639,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Number of parallel execution threads in the client runtime", "fieldConfig": { "defaults": { @@ -747,8 +694,8 @@ "gridPos": { "h": 8, "w": 12, - "x": 0, - "y": 24 + "x": 12, + "y": 16 }, "id": 22, "options": { @@ -767,9 +714,12 @@ }, "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "editorMode": "code", - "expr": "avalanche_go_goroutines{job=~\"avalanchego\"}", + "expr": "avalanche_process_go_goroutines{job=~\"avalanchego\"}", "interval": "", "legendFormat": "goroutines", "range": true, @@ -778,101 +728,6 @@ ], "title": "Number of Go goroutines", "type": "timeseries" - }, - { - "datasource": "Prometheus", - "description": "Number of open file handles the client is keeping", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "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": [], - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 24 - }, - "id": 24, - "options": { - "legend": { - "calcs": [ - "mean", - "max" - ], - "displayMode": "list", - "placement": "bottom" - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": "Prometheus", - "editorMode": "code", - "expr": "avalanche_process_open_fds{job=~\"avalanchego\"}", - "legendFormat": "Open files", - "range": true, - "refId": "A" - }, - { - "datasource": "Prometheus", - "editorMode": "code", - "exemplar": false, - "expr": "avalanche_process_max_fds{job=~\"avalanchego\"}", - "hide": false, - "instant": false, - "legendFormat": "Max number allowed", - "range": true, - "refId": "B" - } - ], - "title": "Number of Open Files", - "type": "timeseries" } ], "refresh": "10s", @@ -882,7 +737,34 @@ "Avalanche" ], "templating": { - "list": [] + "list": [ + { + "hide": 0, + "includeAll": false, + "label": "Data Source", + "multi": false, + "name": "datasource", + "options": [], + "query": "prometheus", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "filters": [], + "hide": 0, + "label": "Filter", + "name": "filter", + "skipUrlSync": false, + "type": "adhoc" + } + ] }, "time": { "from": "now-1h", diff --git a/files/dashboards/main.json b/files/dashboards/main.json index ea863bc..ddd8fb0 100644 --- a/files/dashboards/main.json +++ b/files/dashboards/main.json @@ -25,20 +25,25 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 0, - "id": 4, + "id": 3, "links": [ { "icon": "external link", + "includeVars": true, + "keepTime": true, "tags": [ "Avalanche" ], "type": "dashboards" } ], - "liveNow": false, + "liveNow": true, "panels": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Stake weighted average uptime of your node, as reported by network peers. If this falls below 80% node probably won't be rewarded for the current staking period.", "fieldConfig": { "defaults": { @@ -103,11 +108,14 @@ "pluginVersion": "9.2.3", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, "expr": "avalanche_network_node_uptime_weighted_average{job=\"avalanchego\"}", "interval": "", - "legendFormat": "", + "legendFormat": "{{node_id}}", "refId": "A" } ], @@ -115,7 +123,10 @@ "type": "gauge" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Percentage of the stake that view your node as sufficiently online and correct to vote that node be awarded at the end of the staking period.", "fieldConfig": { "defaults": { @@ -176,11 +187,14 @@ "pluginVersion": "9.2.3", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, "expr": "avalanche_network_node_uptime_rewarding_stake{job=\"avalanchego\"}", "interval": "", - "legendFormat": "Rewarding stake", + "legendFormat": "Rewarding stake {{node_id}}", "refId": "A" } ], @@ -188,7 +202,10 @@ "type": "gauge" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Number of accepted and rejected blocks on the X chain in the last minute", "fieldConfig": { "defaults": { @@ -261,7 +278,6 @@ "legend": { "calcs": [ "mean", - "lastNotNull", "max" ], "displayMode": "list", @@ -276,23 +292,29 @@ "pluginVersion": "8.0.5", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "editorMode": "code", "exemplar": true, - "expr": "round(increase(avalanche_X_blks_accepted_count{job=\"avalanchego\"}[1m]))>0", + "expr": "round(increase(avalanche_snowman_blks_accepted_count{chain=\"X\", job=\"avalanchego\"}[1m]))>0", "interval": "", - "legendFormat": "Accepted", + "legendFormat": "Accepted {{node_id}}", "range": true, "refId": "A" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "editorMode": "code", "exemplar": true, - "expr": "round(increase(avalanche_X_blks_rejected_count{job=\"avalanchego\"}[1m]))>0", + "expr": "round(increase(avalanche_snowman_blks_rejected_count{chain=\"X\", job=\"avalanchego\"}[1m]))>0", "hide": false, "interval": "", - "legendFormat": "Rejected", + "legendFormat": "Rejected {{node_id}}", "range": true, "refId": "B" } @@ -301,8 +323,11 @@ "type": "timeseries" }, { - "datasource": "Prometheus", - "description": "Number of X-Chain blocks this node has proposed on the network in the last day. Since block production on P-Chain is usually below the target rate, every node proposes P blocks.", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "Number of X-Chain blocks this node has proposed on the network in the last day.", "fieldConfig": { "defaults": { "color": { @@ -346,12 +371,15 @@ "pluginVersion": "9.2.3", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "editorMode": "code", "exemplar": true, - "expr": "round(increase(avalanche_X_blks_built{job=\"avalanchego\"}[1d]))", + "expr": "round(increase(avalanche_snowman_blks_built{chain=\"X\", job=\"avalanchego\"}[1d]))", "interval": "", - "legendFormat": "Proposed P blocks", + "legendFormat": "Proposed X blocks {{node_id}}", "range": true, "refId": "A" } @@ -360,7 +388,10 @@ "type": "stat" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Number of accepted and rejected blocks on the P chain in the last minute.", "fieldConfig": { "defaults": { @@ -432,7 +463,6 @@ "legend": { "calcs": [ "mean", - "lastNotNull", "max" ], "displayMode": "list", @@ -447,20 +477,26 @@ "pluginVersion": "8.0.5", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "round(increase(avalanche_P_blks_accepted_count{job=\"avalanchego\"}[1m]))>0", + "expr": "round(increase(avalanche_snowman_blks_accepted_count{chain=\"P\", job=\"avalanchego\"}[1m]))>0", "interval": "", - "legendFormat": "Accepted", + "legendFormat": "Accepted {{node_id}}", "refId": "A" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "round(increase(avalanche_P_blks_rejected_count{job=\"avalanchego\"}[1m]))>0", + "expr": "round(increase(avalanche_snowman_blks_rejected_count{chain=\"P\", job=\"avalanchego\"}[1m]))>0", "hide": false, "interval": "", - "legendFormat": "Rejected", + "legendFormat": "Rejected {{node_id}}", "refId": "B" } ], @@ -468,8 +504,11 @@ "type": "timeseries" }, { - "datasource": "Prometheus", - "description": "Number of P-Chain blocks this node has proposed on the network in the last day. Since block production on P-Chain is usually below the target rate, every node proposes P blocks.", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "Number of P-Chain blocks this node has proposed on the network in the last day.", "fieldConfig": { "defaults": { "color": { @@ -513,11 +552,14 @@ "pluginVersion": "9.2.3", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "round(increase(avalanche_P_blks_built{job=\"avalanchego\"}[1d]))", + "expr": "round(increase(avalanche_snowman_blks_built{chain=\"P\", job=\"avalanchego\"}[1d]))", "interval": "", - "legendFormat": "Proposed P blocks", + "legendFormat": "Proposed P blocks {{node_id}}", "refId": "A" } ], @@ -525,7 +567,10 @@ "type": "stat" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Percentage of CPU used", "fieldConfig": { "defaults": { @@ -585,10 +630,13 @@ "pluginVersion": "9.2.3", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "expr": "(1 - avg(irate(node_cpu_seconds_total{job=~\"avalanchego-machine\", mode=\"idle\"}[1m])) by (instance)) * 100", "interval": "", - "legendFormat": "", + "legendFormat": "{{node_id}}", "refId": "A" } ], @@ -596,7 +644,10 @@ "type": "gauge" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Percentage of storage filled", "fieldConfig": { "defaults": { @@ -641,6 +692,8 @@ }, "id": 2, "options": { + "minVizHeight": 75, + "minVizWidth": 75, "orientation": "auto", "reduceOptions": { "calcs": [ @@ -656,10 +709,13 @@ "pluginVersion": "9.2.3", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "expr": "max(((node_filesystem_size_bytes{job=~\"avalanchego-machine\", fstype=~\"ext4|vfat\"} - node_filesystem_free_bytes{job=~\"avalanchego-machine\", fstype=~\"ext4|vfat\"}) / node_filesystem_size_bytes{job=~\"avalanchego-machine\", fstype=~\"ext4|vfat\"}) * 100) by (instance)", "interval": "", - "legendFormat": "", + "legendFormat": "{{node_id}}", "refId": "A" } ], @@ -667,7 +723,10 @@ "type": "gauge" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Number of currently failing internal health checks", "fieldConfig": { "defaults": { @@ -720,10 +779,15 @@ "pluginVersion": "9.2.3", "targets": [ { - "datasource": "Prometheus", - "expr": "avalanche_health_checks_failing{job=\"avalanchego\"}", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "avalanche_health_checks_failing{check=\"health\",job=\"avalanchego\",tag=\"all\"}", "interval": "", - "legendFormat": "", + "legendFormat": "{{node_id}}", + "range": true, "refId": "A" } ], @@ -731,7 +795,10 @@ "type": "gauge" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Average time to get a response from a peer", "fieldConfig": { "defaults": { @@ -791,11 +858,14 @@ "pluginVersion": "9.2.3", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, "expr": "avalanche_requests_average_latency", "interval": "", - "legendFormat": "", + "legendFormat": "{{node_id}}", "refId": "A" } ], @@ -803,7 +873,10 @@ "type": "stat" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Amount of AVAX currently staked", "fieldConfig": { "defaults": { @@ -849,11 +922,14 @@ "pluginVersion": "9.2.3", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "avalanche_P_vm_total_staked{job=\"avalanchego\"}/1000000000", + "expr": "avalanche_platformvm_total_staked{chain=\"P\", job=\"avalanchego\"}/1000000000", "interval": "", - "legendFormat": "AVAX", + "legendFormat": "AVAX {{node_id}}", "refId": "A" } ], @@ -861,7 +937,10 @@ "type": "stat" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Amount of network stake node is currently connected to", "fieldConfig": { "defaults": { @@ -917,10 +996,15 @@ "pluginVersion": "9.2.3", "targets": [ { - "datasource": "Prometheus", - "expr": "avalanche_P_vm_percent_connected{job=\"avalanchego\"}", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", + "expr": "avalanche_stake_percent_connected{chain=\"P\", job=\"avalanchego\"}", "interval": "", - "legendFormat": "", + "legendFormat": "{{node_id}}", + "range": true, "refId": "A" } ], @@ -928,7 +1012,10 @@ "type": "stat" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Number of peers node is connected to", "fieldConfig": { "defaults": { @@ -997,10 +1084,9 @@ "options": { "legend": { "calcs": [ + "min", "mean", - "lastNotNull", - "max", - "min" + "max" ], "displayMode": "list", "placement": "bottom", @@ -1014,10 +1100,13 @@ "pluginVersion": "8.0.5", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "expr": "avalanche_network_peers{job=\"avalanchego\"}", "interval": "", - "legendFormat": "Peers", + "legendFormat": "Peers {{node_id}}", "refId": "A" } ], @@ -1025,7 +1114,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Number of accepted and rejected blocks on the C chain in the last minute.", "fieldConfig": { "defaults": { @@ -1097,7 +1189,6 @@ "legend": { "calcs": [ "mean", - "lastNotNull", "max" ], "displayMode": "list", @@ -1112,20 +1203,26 @@ "pluginVersion": "8.0.5", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "round(increase(avalanche_C_blks_accepted_count{job=\"avalanchego\"}[1m]))>0", + "expr": "round(increase(avalanche_snowman_blks_accepted_count{chain=\"C\", job=\"avalanchego\"}[1m]))>0", "interval": "", - "legendFormat": "Accepted", + "legendFormat": "Accepted {{node_id}}", "refId": "A" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "round(increase(avalanche_C_blks_rejected_count{job=\"avalanchego\"}[1m]))>0", + "expr": "round(increase(avalanche_snowman_blks_rejected_count{chain=\"C\", job=\"avalanchego\"}[1m]))>0", "hide": false, "interval": "", - "legendFormat": "Rejected", + "legendFormat": "Rejected {{node_id}}", "refId": "B" } ], @@ -1133,8 +1230,11 @@ "type": "timeseries" }, { - "datasource": "Prometheus", - "description": "Number of blocks this node has proposed on the C-Chain in the last day. Since C-Chain blocks are produced at a fast rate, block producers are selected by stake weight.", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "Number of blocks this node has proposed on the C-Chain in the last day.", "fieldConfig": { "defaults": { "color": { @@ -1182,11 +1282,14 @@ "pluginVersion": "9.2.3", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "round(increase(avalanche_C_blks_built{job=\"avalanchego\"}[1d]))", + "expr": "round(increase(avalanche_snowman_blks_built{chain=\"C\", job=\"avalanchego\"}[1d]))", "interval": "", - "legendFormat": "Built C blocks", + "legendFormat": "Built C blocks {{node_id}}", "refId": "A" } ], @@ -1194,7 +1297,10 @@ "type": "stat" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Number of blocks accepted in the last minute", "fieldConfig": { "defaults": { @@ -1240,38 +1346,25 @@ "pluginVersion": "9.2.3", "targets": [ { - "datasource": "Prometheus", - "editorMode": "code", - "expr": "round(increase(avalanche_X_blks_accepted_count{job=\"avalanchego\"}[1m]))", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "round(increase(avalanche_snowman_blks_accepted_count{job=\"avalanchego\"}[1m]))", "interval": "", - "legendFormat": "X Chain", + "legendFormat": "{{ chain }} Chain {{node_id}}", "range": true, "refId": "A" - }, - { - "datasource": "Prometheus", - "editorMode": "code", - "expr": "round(increase(avalanche_P_blks_accepted_count{job=\"avalanchego\"}[1m]))", - "hide": false, - "interval": "", - "legendFormat": "P Chain", - "range": true, - "refId": "B" - }, - { - "datasource": "Prometheus", - "expr": "round(increase(avalanche_C_blks_accepted_count{job=\"avalanchego\"}[1m]))", - "hide": false, - "interval": "", - "legendFormat": "C Chain", - "refId": "C" } ], "title": "Accepted Blocks", "type": "bargauge" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Number of blocks currently being processed by the node", "fieldConfig": { "defaults": { @@ -1325,38 +1418,25 @@ "pluginVersion": "9.2.3", "targets": [ { - "datasource": "Prometheus", - "editorMode": "code", - "expr": "avalanche_X_blks_processing{job=\"avalanchego\"}", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "avalanche_snowman_blks_processing{job=\"avalanchego\"}", "interval": "", - "legendFormat": "X Chain", + "legendFormat": "{{ chain }} Chain {{node_id}}", "range": true, "refId": "A" - }, - { - "datasource": "Prometheus", - "editorMode": "code", - "expr": "avalanche_P_blks_processing{job=\"avalanchego\"}", - "hide": false, - "interval": "", - "legendFormat": "P Chain", - "range": true, - "refId": "B" - }, - { - "datasource": "Prometheus", - "expr": "avalanche_C_blks_processing{job=\"avalanchego\"}", - "hide": false, - "interval": "", - "legendFormat": "C Chain", - "refId": "C" } ], "title": "Blocks processing", "type": "bargauge" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Number of peers currently being benched (ignored) by the node", "fieldConfig": { "defaults": { @@ -1401,34 +1481,24 @@ "pluginVersion": "9.2.3", "targets": [ { - "datasource": "Prometheus", - "expr": "avalanche_X_benchlist_benched_num{job=\"avalanchego\"}", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "avalanche_benchlist_benched_num{job=\"avalanchego\"}", "interval": "", - "legendFormat": "X Chain", + "legendFormat": "{{ chain }} Chain {{node_id}}", "refId": "A" - }, - { - "datasource": "Prometheus", - "expr": "avalanche_P_benchlist_benched_num{job=\"avalanchego\"}", - "hide": false, - "interval": "", - "legendFormat": "P Chain", - "refId": "B" - }, - { - "datasource": "Prometheus", - "expr": "avalanche_C_benchlist_benched_num{job=\"avalanchego\"}", - "hide": false, - "interval": "", - "legendFormat": "C Chain", - "refId": "C" } ], "title": "Benched nodes", "type": "bargauge" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Percentage of successful queries per chain in the last minute", "fieldConfig": { "defaults": { @@ -1484,34 +1554,46 @@ "pluginVersion": "9.2.3", "targets": [ { - "datasource": "Prometheus", - "expr": "(increase(avalanche_X_handler_chits_count{job=\"avalanchego\"}[1m]) + 1) / (increase(avalanche_X_handler_chits_count{job=\"avalanchego\"}[1m]) + increase(avalanche_X_handler_query_failed_count{job=\"avalanchego\"}[1m]) + 1)", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "sum by (chain)(increase(avalanche_handler_messages{op=\"chits\", job=\"avalanchego\"}[1m]))", + "hide": true, "interval": "", - "legendFormat": "X Chain", + "legendFormat": "{{ chain }} Chain {{node_id}}", "refId": "A" }, { - "datasource": "Prometheus", - "expr": "(increase(avalanche_P_handler_chits_count{job=\"avalanchego\"}[1m]) + 1) / (increase(avalanche_P_handler_chits_count{job=\"avalanchego\"}[1m]) + increase(avalanche_P_handler_query_failed_count{job=\"avalanchego\"}[1m]) + 1)", - "hide": false, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "sum by (chain)(increase(avalanche_handler_messages{op=\"query_failed\", job=\"avalanchego\"}[1m]))", + "hide": true, "interval": "", - "legendFormat": "P Chain", + "legendFormat": "{{ chain }} Chain {{node_id}}", "refId": "B" }, { - "datasource": "Prometheus", - "expr": "(increase(avalanche_C_handler_chits_count{job=\"avalanchego\"}[1m]) + 1) / (increase(avalanche_C_handler_chits_count{job=\"avalanchego\"}[1m]) + increase(avalanche_C_handler_query_failed_count{job=\"avalanchego\"}[1m]) + 1)", - "hide": false, - "interval": "", - "legendFormat": "C Chain", - "refId": "C" + "datasource": { + "type": "__expr__", + "uid": "__expr__", + "name": "Expression" + }, + "refId": "Chain", + "type": "math", + "expression": "$A / ($A + $B)" } ], "title": "Queries success", "type": "bargauge" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "How long each database operation is taking on average", "fieldConfig": { "defaults": { @@ -1574,11 +1656,10 @@ "legend": { "calcs": [ "mean", - "lastNotNull", "max" ], "displayMode": "table", - "placement": "right", + "placement": "bottom", "showLegend": true }, "tooltip": { @@ -1589,76 +1670,14 @@ "pluginVersion": "8.0.5", "targets": [ { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_db_put_sum{job=\"avalanchego\"}[5m])/increase(avalanche_db_put_count{job=\"avalanchego\"}[5m])", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "increase(avalanche_meterdb_duration{chain=\"all\", job=\"avalanchego\"}[5m])/increase(avalanche_meterdb_calls{chain=\"all\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "put", + "legendFormat": "{{ method }} {{node_id}}", "refId": "A" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_db_get_sum{job=\"avalanchego\"}[5m])/increase(avalanche_db_get_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get", - "refId": "B" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_db_delete_sum{job=\"avalanchego\"}[5m])/increase(avalanche_db_delete_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "delete", - "refId": "C" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_db_has_sum{job=\"avalanchego\"}[5m])/increase(avalanche_db_has_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "has", - "refId": "D" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_db_compact_size_sum{job=\"avalanchego\"}[5m])/increase(avalanche_db_compact_size_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "compact", - "refId": "E" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_db_batch_put_sum{job=\"avalanchego\"}[5m])/increase(avalanche_db_batch_put_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch put", - "refId": "F" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_db_batch_delete_sum{job=\"avalanchego\"}[5m])/increase(avalanche_db_batch_delete_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch delete", - "refId": "G" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_db_batch_reset_sum{job=\"avalanchego\"}[5m])/increase(avalanche_db_batch_reset_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch reset", - "refId": "H" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_db_batch_replay_sum{job=\"avalanchego\"}[5m])/increase(avalanche_db_batch_replay_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "batch replay", - "refId": "I" } ], "title": "Database Operations Latency", @@ -1672,7 +1691,34 @@ "Avalanche" ], "templating": { - "list": [] + "list": [ + { + "hide": 0, + "includeAll": false, + "label": "Data Source", + "multi": false, + "name": "datasource", + "options": [], + "query": "prometheus", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "filters": [], + "hide": 0, + "label": "Filter", + "name": "filter", + "skipUrlSync": false, + "type": "adhoc" + } + ] }, "time": { "from": "now-6h", @@ -1682,6 +1728,6 @@ "timezone": "", "title": "Avalanche Main Dashboard", "uid": "kBQpRdWnk", - "version": 8, + "version": 9, "weekStart": "" } diff --git a/files/dashboards/network.json b/files/dashboards/network.json index 4c0e54a..fa0f8a4 100644 --- a/files/dashboards/network.json +++ b/files/dashboards/network.json @@ -28,17 +28,22 @@ "links": [ { "icon": "external link", + "includeVars": true, + "keepTime": true, "tags": [ "Avalanche" ], "type": "dashboards" } ], - "liveNow": false, + "liveNow": true, "panels": [ { "collapsed": false, - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "gridPos": { "h": 1, "w": 24, @@ -51,7 +56,10 @@ "type": "row" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Stake weighted average uptime of your node, as reported by network peers. If this falls below 80% node probably won't be rewarded for the current staking period.", "fieldConfig": { "defaults": { @@ -59,6 +67,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -137,7 +147,8 @@ "mean" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { "mode": "single", @@ -149,7 +160,7 @@ "exemplar": true, "expr": "avalanche_network_node_uptime_weighted_average{job=\"avalanchego\"}", "interval": "", - "legendFormat": "Uptime average", + "legendFormat": "Uptime average {{node_id}}", "refId": "A" } ], @@ -157,7 +168,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Percentage of the stake that view your node as sufficiently online and correct to vote that node be awarded at the end of the staking period.", "fieldConfig": { "defaults": { @@ -165,6 +179,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -239,7 +255,8 @@ "mean" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { "mode": "single", @@ -251,7 +268,7 @@ "exemplar": true, "expr": "avalanche_network_node_uptime_rewarding_stake{job=\"avalanchego\"}", "interval": "", - "legendFormat": "Rewarding stake", + "legendFormat": "Rewarding stake {{node_id}}", "refId": "A" } ], @@ -295,7 +312,10 @@ "noDataState": "no_data", "notifications": [] }, - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Number of network peers the node is connected to", "fieldConfig": { "defaults": { @@ -303,6 +323,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -360,7 +382,8 @@ "min" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { "mode": "single", @@ -374,7 +397,7 @@ "expr": "avalanche_network_peers{job=\"avalanchego\"}", "format": "time_series", "interval": "", - "legendFormat": "Peers connected", + "legendFormat": "Peers connected {{node_id}}", "refId": "B" } ], @@ -382,7 +405,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Shows the amount of time this node will wait for a response to a request before considering the request failed, and the average time it takes to get a response to a request.", "fieldConfig": { "defaults": { @@ -390,6 +416,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -449,7 +477,8 @@ "max" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { "mode": "single", @@ -460,17 +489,17 @@ "targets": [ { "exemplar": true, - "expr": "avalanche_requests_current_timeout", + "expr": "avalanche_requests_current_timeout{job=\"avalanchego\"}", "interval": "", - "legendFormat": "Timeout", + "legendFormat": "Timeout {{node_id}}", "refId": "A" }, { "exemplar": true, - "expr": "avalanche_requests_average_latency", + "expr": "avalanche_requests_average_latency{job=\"avalanchego\"}", "hide": false, "interval": "", - "legendFormat": "Response Time", + "legendFormat": "Response Time {{node_id}}", "refId": "B" } ], @@ -478,7 +507,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Number of outstanding requests related to consensus/bootstrapping. Doesn't include handshake messages.", "fieldConfig": { "defaults": { @@ -486,6 +518,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -544,7 +578,8 @@ "max" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { "mode": "single", @@ -554,9 +589,9 @@ "targets": [ { "exemplar": true, - "expr": "avalanche_requests_outstanding", + "expr": "avalanche_requests_outstanding{job=\"avalanchego\"}", "interval": "", - "legendFormat": "Outstanding Requests", + "legendFormat": "Outstanding Requests {{node_id}}", "refId": "A" } ], @@ -564,7 +599,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "From all chains", "fieldConfig": { "defaults": { @@ -572,6 +610,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -631,7 +671,8 @@ "max" ], "displayMode": "table", - "placement": "right", + "placement": "bottom", + "showLegend": true, "sortBy": "Mean", "sortDesc": true }, @@ -643,141 +684,20 @@ "pluginVersion": "8.0.3", "targets": [ { - "exemplar": true, - "expr": "rate(avalanche_network_accepted_received{job=\"avalanchego\"}[1m])", + "expr": "rate(avalanche_network_msgs{io=\"received\", job=\"avalanchego\"}[1m])", "interval": "", - "legendFormat": "accepted", + "legendFormat": "{{ op }} compressed={{ compressed }} {{node_id}}", "refId": "A" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_get_accepted_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get accepted", - "refId": "B" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_get_accepted_frontier_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get accepted frontier", - "refId": "C" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_get_ancestors_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get ancestors", - "refId": "D" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_put_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "put", - "refId": "E" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_multi_put_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "multiput", - "refId": "F" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_get_version_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get version", - "refId": "G" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_get_peerlist_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get peerlist", - "refId": "H" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_pull_query_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "pull query", - "refId": "I" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_push_query_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "push query", - "refId": "J" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_version_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "version", - "refId": "K" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_ping_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "ping", - "refId": "L" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_pong_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "pong", - "refId": "M" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_get_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get", - "refId": "N" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_chits_received{job=\"avalanchego\"}[1m])", - "hide": false, - "interval": "", - "legendFormat": "chits", - "refId": "O" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_app_gossip_received{job=\"avalanchego\"}[1m])", - "hide": false, - "interval": "", - "legendFormat": "app gossip", - "refId": "P" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_app_request_received{job=\"avalanchego\"}[1m])", - "hide": false, - "interval": "", - "legendFormat": "app request", - "refId": "Q" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_app_response_received{job=\"avalanchego\"}[1m])", - "hide": false, - "interval": "", - "legendFormat": "app response", - "refId": "R" } ], "title": "Messages Received per Second", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "From all chains", "fieldConfig": { "defaults": { @@ -785,6 +705,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -844,7 +766,8 @@ "max" ], "displayMode": "table", - "placement": "right", + "placement": "bottom", + "showLegend": true, "sortBy": "Mean", "sortDesc": true }, @@ -856,128 +779,20 @@ "pluginVersion": "8.0.3", "targets": [ { - "expr": "rate(avalanche_network_accepted_sent{job=\"avalanchego\"}[1m])", + "expr": "rate(avalanche_network_msgs{io=\"sent\", job=\"avalanchego\"}[1m])", "interval": "", - "legendFormat": "accepted", + "legendFormat": "{{ op }} compressed={{ compressed }} {{node_id}}", "refId": "A" - }, - { - "expr": "rate(avalanche_network_get_accepted_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get accepted", - "refId": "B" - }, - { - "expr": "rate(avalanche_network_get_accepted_frontier_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get accepted frontier", - "refId": "C" - }, - { - "expr": "rate(avalanche_network_get_ancestors_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get ancestors", - "refId": "D" - }, - { - "expr": "rate(avalanche_network_put_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "put", - "refId": "E" - }, - { - "expr": "rate(avalanche_network_multi_put_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "multiput", - "refId": "F" - }, - { - "expr": "rate(avalanche_network_get_version_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get version", - "refId": "G" - }, - { - "expr": "rate(avalanche_network_get_peerlist_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get peerlist", - "refId": "H" - }, - { - "expr": "rate(avalanche_network_pull_query_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "pull query", - "refId": "I" - }, - { - "expr": "rate(avalanche_network_push_query_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "push query", - "refId": "J" - }, - { - "expr": "rate(avalanche_network_version_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "version", - "refId": "K" - }, - { - "expr": "rate(avalanche_network_ping_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "ping", - "refId": "L" - }, - { - "expr": "rate(avalanche_network_pong_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "pong", - "refId": "M" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_get_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get", - "refId": "N" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_chits_sent{job=\"avalanchego\"}[1m])", - "hide": false, - "interval": "", - "legendFormat": "chits", - "refId": "O" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_app_gossip_sent{job=\"avalanchego\"}[1m])", - "hide": false, - "interval": "", - "legendFormat": "app gossip", - "refId": "P" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_app_request_sent{job=\"avalanchego\"}[1m])", - "hide": false, - "interval": "", - "legendFormat": "app request", - "refId": "Q" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_app_response_sent{job=\"avalanchego\"}[1m])", - "hide": false, - "interval": "", - "legendFormat": "app response", - "refId": "R" } ], "title": "Messages Sent per Second", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "From all chains", "fieldConfig": { "defaults": { @@ -985,6 +800,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisGridShow": true, "axisLabel": "", "axisPlacement": "auto", @@ -1042,7 +859,8 @@ "max" ], "displayMode": "table", - "placement": "right", + "placement": "bottom", + "showLegend": true, "sortBy": "Mean", "sortDesc": true }, @@ -1054,159 +872,24 @@ "pluginVersion": "8.0.3", "targets": [ { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_accepted_received_bytes{job=\"avalanchego\"}[1m])", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "rate(avalanche_network_msgs_bytes{io=\"received\", job=\"avalanchego\"}[1m])", "interval": "", - "legendFormat": "accepted", + "legendFormat": "{{ op }} {{node_id}}", "refId": "A" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_get_accepted_received_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get accepted", - "refId": "B" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_get_accepted_frontier_received_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get accepted frontier", - "refId": "C" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_get_ancestors_received_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get ancestors", - "refId": "D" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_put_received_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "put", - "refId": "E" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_multi_put_received_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "multiput", - "refId": "F" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_get_version_received_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get version", - "refId": "G" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_get_peerlist_received_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get peerlist", - "refId": "H" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_pull_query_received_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "pull query", - "refId": "I" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_push_query_received_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "push query", - "refId": "J" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_version_received_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "version", - "refId": "K" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_ping_received_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "ping", - "refId": "L" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_pong_received_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "pong", - "refId": "M" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_get_received_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get", - "refId": "N" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_chits_received_bytes{job=\"avalanchego\"}[1m])", - "hide": false, - "interval": "", - "legendFormat": "chits", - "refId": "O" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_app_gossip_received_bytes{job=\"avalanchego\"}[1m])", - "hide": false, - "interval": "", - "legendFormat": "app gossip", - "refId": "P" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_app_request_received_bytes{job=\"avalanchego\"}[1m])", - "hide": false, - "interval": "", - "legendFormat": "app request", - "refId": "Q" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_app_response_received_bytes{job=\"avalanchego\"}[1m])", - "hide": false, - "interval": "", - "legendFormat": "app response", - "refId": "R" } ], "title": "Messages Received Bandwidth", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "From all chains", "fieldConfig": { "defaults": { @@ -1214,6 +897,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisGridShow": true, "axisLabel": "", "axisPlacement": "auto", @@ -1265,406 +950,43 @@ }, "id": 63, "options": { - "legend": { - "calcs": [ - "mean", - "max" - ], - "displayMode": "table", - "placement": "right", - "sortBy": "Mean", - "sortDesc": true - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "pluginVersion": "8.0.3", - "targets": [ - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_accepted_sent_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "accepted", - "refId": "A" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_get_accepted_sent_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get accepted", - "refId": "B" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_get_accepted_frontier_sent_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get accepted frontier", - "refId": "C" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_get_ancestors_sent_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get ancestors", - "refId": "D" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_put_sent_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "put", - "refId": "E" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_multi_put_sent_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "multiput", - "refId": "F" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_get_version_sent_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get version", - "refId": "G" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_get_peerlist_sent_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get peerlist", - "refId": "H" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_pull_query_sent_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "pull query", - "refId": "I" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_push_query_sent_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "push query", - "refId": "J" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_version_sent_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "version", - "refId": "K" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_ping_sent_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "ping", - "refId": "L" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_pong_sent_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "pong", - "refId": "M" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_get_sent_bytes{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get", - "refId": "N" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_chits_sent_bytes{job=\"avalanchego\"}[1m])", - "hide": false, - "interval": "", - "legendFormat": "chits", - "refId": "O" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_app_gossip_sent_bytes{job=\"avalanchego\"}[1m])", - "hide": false, - "interval": "", - "legendFormat": "app gossip", - "refId": "P" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_app_request_sent_bytes{job=\"avalanchego\"}[1m])", - "hide": false, - "interval": "", - "legendFormat": "app request", - "refId": "Q" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_network_app_response_sent_bytes{job=\"avalanchego\"}[1m])", - "hide": false, - "interval": "", - "legendFormat": "app response", - "refId": "R" - } - ], - "title": "Messages Sent Bandwidth", - "type": "timeseries" - }, - { - "datasource": "Prometheus", - "description": "From all chains", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisGridShow": true, - "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": "never", - "spanNulls": true, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "line+area" - } - }, - "mappings": [], - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "transparent", - "value": null - } - ] - }, - "unit": "bytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 33 - }, - "id": 64, - "options": { - "legend": { - "calcs": [ - "mean", - "max" - ], - "displayMode": "table", - "placement": "right", - "sortBy": "Mean", - "sortDesc": true - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "pluginVersion": "8.0.3", - "targets": [ - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_accepted_received_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_accepted_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "accepted", - "refId": "A" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_get_accepted_received_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_get_accepted_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get accepted", - "refId": "B" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_get_accepted_frontier_received_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_get_accepted_frontier_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get accepted frontier", - "refId": "C" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_get_ancestors_received_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_get_ancestors_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get ancestors", - "refId": "D" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_put_received_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_put_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "put", - "refId": "E" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_multi_put_received_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_multi_put_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "multiput", - "refId": "F" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_get_version_received_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_get_version_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get version", - "refId": "G" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_get_peerlist_received_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_get_peerlist_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get peerlist", - "refId": "H" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_pull_query_received_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_pull_query_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "pull query", - "refId": "I" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_push_query_received_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_push_query_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "push query", - "refId": "J" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_version_received_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_version_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "version", - "refId": "K" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_ping_received_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_ping_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "ping", - "refId": "L" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_pong_received_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_pong_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "pong", - "refId": "M" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_get_received_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_get_received{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get", - "refId": "N" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_chits_received_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_chits_received{job=\"avalanchego\"}[1m])", - "hide": false, - "interval": "", - "legendFormat": "chits", - "refId": "O" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_app_gossip_received_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_app_gossip_received{job=\"avalanchego\"}[1m])", - "hide": false, - "interval": "", - "legendFormat": "app gossip", - "refId": "P" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_app_request_received_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_app_request_received{job=\"avalanchego\"}[1m])", - "hide": false, - "interval": "", - "legendFormat": "app request", - "refId": "Q" + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "8.0.3", + "targets": [ { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_app_response_received_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_app_response_received{job=\"avalanchego\"}[1m])", - "hide": false, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "rate(avalanche_network_msgs_bytes{io=\"sent\", job=\"avalanchego\"}[1m])", "interval": "", - "legendFormat": "app response", - "refId": "R" + "legendFormat": "{{ op }} {{node_id}}", + "refId": "A" } ], - "title": "Average Received Message Size", + "title": "Messages Sent Bandwidth", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "From all chains", "fieldConfig": { "defaults": { @@ -1672,6 +994,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisGridShow": true, "axisLabel": "", "axisPlacement": "auto", @@ -1718,10 +1042,10 @@ "gridPos": { "h": 8, "w": 12, - "x": 12, + "x": 0, "y": 33 }, - "id": 65, + "id": 64, "options": { "legend": { "calcs": [ @@ -1729,7 +1053,8 @@ "max" ], "displayMode": "table", - "placement": "right", + "placement": "bottom", + "showLegend": true, "sortBy": "Mean", "sortDesc": true }, @@ -1741,169 +1066,56 @@ "pluginVersion": "8.0.3", "targets": [ { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_accepted_sent_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_accepted_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "accepted", - "refId": "A" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_get_accepted_sent_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_get_accepted_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get accepted", - "refId": "B" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_get_accepted_frontier_sent_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_get_accepted_frontier_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get accepted frontier", - "refId": "C" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_get_ancestors_sent_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_get_ancestors_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get ancestors", - "refId": "D" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_put_sent_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_put_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "put", - "refId": "E" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_multi_put_sent_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_multi_put_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "multiput", - "refId": "F" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_get_version_sent_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_get_version_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get version", - "refId": "G" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_get_peerlist_sent_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_get_peerlist_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get peerlist", - "refId": "H" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_pull_query_sent_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_pull_query_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "pull query", - "refId": "I" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_push_query_sent_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_push_query_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "push query", - "refId": "J" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_version_sent_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_version_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "version", - "refId": "K" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_ping_sent_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_ping_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "ping", - "refId": "L" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_pong_sent_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_pong_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "pong", - "refId": "M" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_get_sent_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_get_sent{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get", - "refId": "N" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_chits_sent_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_chits_sent{job=\"avalanchego\"}[1m])", - "hide": false, - "interval": "", - "legendFormat": "chits", - "refId": "O" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_app_gossip_sent_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_app_gossip_sent{job=\"avalanchego\"}[1m])", - "hide": false, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "increase(avalanche_network_msgs_bytes{io=\"received\", job=\"avalanchego\"}[1m])", "interval": "", - "legendFormat": "app gossip", - "refId": "P" + "legendFormat": "{{ op }} {{node_id}}", + "refId": "A", + "hide": true }, { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_app_request_sent_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_app_request_sent{job=\"avalanchego\"}[1m])", - "hide": false, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "increase(avalanche_network_msgs{io=\"received\", job=\"avalanchego\"}[1m])", "interval": "", - "legendFormat": "app request", - "refId": "Q" + "legendFormat": "{{ op }} {{node_id}}", + "refId": "B", + "hide": true }, { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_app_response_sent_bytes{job=\"avalanchego\"}[1m])/increase(avalanche_network_app_response_sent{job=\"avalanchego\"}[1m])", - "hide": false, - "interval": "", - "legendFormat": "app response", - "refId": "R" + "refId": "Size", + "datasource": { + "type": "__expr__", + "uid": "__expr__", + "name": "Expression" + }, + "type": "math", + "expression": "$A / $B" } ], - "title": "Average Sent Message Size", + "title": "Average Received Message Size", "type": "timeseries" }, { "datasource": { - "type": "__expr__", - "uid": "__expr__" + "type": "prometheus", + "uid": "${datasource}" }, - "description": "Considers the X-Chain, P-Chain and C-Chain. A lower value indicates vote pipelining (good.) A higher value indicates failed polls (not good.)", + "description": "From all chains", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisGridShow": true, "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -1915,7 +1127,7 @@ "tooltip": false, "viz": false }, - "lineInterpolation": "smooth", + "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { @@ -1942,120 +1154,194 @@ } ] }, - "unit": "none" + "unit": "bytes" }, - "overrides": [ - { - "__systemRef": "hideSeriesFrom", - "matcher": { - "id": "byNames", - "options": { - "mode": "exclude", - "names": [ - "Queries per Accepted Container {instance=\"localhost:9650\", job=\"avalanchego\"}" - ], - "prefix": "All except:", - "readOnly": true - } - }, - "properties": [ - { - "id": "custom.hideFrom", - "value": { - "legend": false, - "tooltip": false, - "viz": true - } - } - ] - } - ] + "overrides": [] }, "gridPos": { "h": 8, - "w": 6, - "x": 0, - "y": 41 + "w": 12, + "x": 12, + "y": 33 }, - "id": 45, + "id": 65, "options": { "legend": { "calcs": [ "mean", - "max", - "last" + "max" ], - "displayMode": "list", - "placement": "bottom" + "displayMode": "table", + "placement": "bottom", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true }, "tooltip": { - "mode": "single", + "mode": "multi", "sort": "none" } }, "pluginVersion": "8.0.3", "targets": [ { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_pull_query_sent{job=\"avalanchego\"}[5m])", - "hide": true, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "increase(avalanche_network_msgs_bytes{io=\"sent\", job=\"avalanchego\"}[1m])", "interval": "", - "legendFormat": "pull query", - "refId": "A" + "legendFormat": "{{ op }} {{node_id}}", + "refId": "A", + "hide": true }, { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_network_push_query_sent{job=\"avalanchego\"}[5m])", - "hide": true, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "increase(avalanche_network_msgs{io=\"sent\", job=\"avalanchego\"}[1m])", "interval": "", - "legendFormat": "push query", - "refId": "B" + "legendFormat": "{{ op }} {{node_id}}", + "refId": "B", + "hide": true }, { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_X_blks_accepted_count{job=\"avalanchego\"}[5m]) ", - "hide": true, - "interval": "", - "legendFormat": "", - "refId": "C" + "datasource": { + "type": "__expr__", + "uid": "__expr__", + "name": "Expression" + }, + "refId": "Size", + "type": "math", + "expression": "$A / $B" + } + ], + "title": "Average Sent Message Size", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "Considers the X-Chain, P-Chain and C-Chain. A lower value indicates vote pipelining (good.) A higher value indicates failed polls (not good.)", + "fieldConfig": { + "defaults": { + "custom": { + "drawStyle": "bars", + "lineInterpolation": "smooth", + "barAlignment": 0, + "lineWidth": 1, + "fillOpacity": 100, + "gradientMode": "none", + "spanNulls": false, + "insertNulls": false, + "showPoints": "never", + "pointSize": 5, + "stacking": { + "mode": "none", + "group": "A" + }, + "axisPlacement": "auto", + "axisLabel": "", + "axisColorMode": "text", + "axisBorderShow": false, + "scaleDistribution": { + "type": "linear" + }, + "axisCenteredZero": false, + "hideFrom": { + "tooltip": false, + "viz": false, + "legend": false + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "color": { + "mode": "palette-classic" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 6, + "x": 0, + "y": 41 + }, + "id": 29, + "options": { + "tooltip": { + "mode": "single", + "sort": "none", + "maxHeight": 600 }, + "legend": { + "showLegend": true, + "displayMode": "list", + "placement": "bottom", + "calcs": [] + } + }, + "targets": [ { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_C_blks_accepted_count{job=\"avalanchego\"}[5m]) ", - "hide": true, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "sum(increase(avalanche_network_msgs{io=\"sent\", op=~\"pull_query|push_query\", job=\"avalanchego\"}[5m]))", "interval": "", - "legendFormat": "", - "refId": "D" + "legendFormat": "Messages {{node_id}}", + "refId": "A", + "hide": true }, { - "datasource": "Prometheus", - "exemplar": true, - "expr": "increase(avalanche_P_blks_accepted_count{job=\"avalanchego\"}[5m])", - "hide": true, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "sum(increase(avalanche_snowman_blks_accepted_count{chain=~\"C|P|X\", job=\"avalanchego\"}[5m]))", "interval": "", - "legendFormat": "", - "refId": "E" + "legendFormat": "Messages {{node_id}}", + "refId": "B", + "hide": true }, { + "refId": "Messages", "datasource": { "type": "__expr__", - "uid": "__expr__" + "uid": "__expr__", + "name": "Expression" }, - "expression": "($A + $B) / ($C + $D + $E)", - "hide": false, - "refId": "Queries per Accepted Container", - "type": "math" + "type": "math", + "expression": "$A / $B" } ], "title": "Queries Sent per Accepted Container", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Number of messages that are queued to be sent to peers", "fieldConfig": { "defaults": { @@ -2063,6 +1349,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -2122,7 +1410,8 @@ "last" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { "mode": "single", @@ -2132,9 +1421,9 @@ "targets": [ { "exemplar": true, - "expr": "avalanche_network_throttler_outbound_awaiting_release", + "expr": "avalanche_network_throttler_outbound_awaiting_release{job=\"avalanchego\"}", "interval": "", - "legendFormat": "Messages", + "legendFormat": "Messages {{node_id}}", "refId": "A" } ], @@ -2142,7 +1431,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Amount of the stake in AVAX that is benched (ignored) because the nodes are unhealthy", "fieldConfig": { "defaults": { @@ -2150,6 +1442,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -2211,7 +1505,8 @@ "last" ], "displayMode": "table", - "placement": "right" + "placement": "bottom", + "showLegend": true }, "tooltip": { "mode": "single", @@ -2221,24 +1516,10 @@ "pluginVersion": "8.0.3", "targets": [ { - "expr": "avalanche_X_benchlist_benched_weight/1000000000", + "expr": "avalanche_benchlist_benched_weight/1000000000", "interval": "", - "legendFormat": "X chain", + "legendFormat": "{{ chain }} {{node_id}}", "refId": "A" - }, - { - "expr": "avalanche_P_benchlist_benched_weight/1000000000", - "hide": false, - "interval": "", - "legendFormat": "P Chain", - "refId": "B" - }, - { - "expr": "avalanche_C_benchlist_benched_weight/1000000000", - "hide": false, - "interval": "", - "legendFormat": "C Chain", - "refId": "C" } ], "title": "Benched stake", @@ -2246,7 +1527,10 @@ }, { "collapsed": false, - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "gridPos": { "h": 1, "w": 24, @@ -2259,7 +1543,10 @@ "type": "row" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Number of messages waiting to acquire bytes from the inbound message throttler.", "fieldConfig": { "defaults": { @@ -2267,6 +1554,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -2326,7 +1615,8 @@ "last" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { "mode": "single", @@ -2336,9 +1626,9 @@ "targets": [ { "exemplar": true, - "expr": "avalanche_network_byte_throttler_inbound_awaiting_acquire", + "expr": "avalanche_network_byte_throttler_inbound_awaiting_acquire{job=\"avalanchego\"}", "interval": "", - "legendFormat": "Messages Awaiting Acquire", + "legendFormat": "Messages Awaiting Acquire {{node_id}}", "refId": "A" } ], @@ -2346,7 +1636,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Number of bytes left in the validator byte allocation of the inbound message throttler", "fieldConfig": { "defaults": { @@ -2354,6 +1647,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "axisSoftMin": 0, @@ -2415,7 +1710,8 @@ "last" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { "mode": "single", @@ -2425,9 +1721,9 @@ "targets": [ { "exemplar": true, - "expr": "avalanche_network_byte_throttler_inbound_remaining_validator_bytes", + "expr": "avalanche_network_byte_throttler_inbound_remaining_validator_bytes{job=\"avalanchego\"}", "interval": "", - "legendFormat": "Bytes Remaining", + "legendFormat": "Bytes Remaining {{node_id}}", "refId": "A" } ], @@ -2435,7 +1731,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "The amount of time, on average, that we wait to acquire bytes from the throttler before reading a message.", "fieldConfig": { "defaults": { @@ -2443,6 +1742,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -2499,7 +1800,8 @@ "max" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { "mode": "single", @@ -2509,9 +1811,9 @@ "targets": [ { "exemplar": true, - "expr": "increase(avalanche_network_byte_throttler_inbound_acquire_latency_sum[2m])/increase(avalanche_network_byte_throttler_inbound_acquire_latency_count[2m])", + "expr": "increase(avalanche_network_byte_throttler_inbound_acquire_latency_sum{job=\"avalanchego\"}[2m])/increase(avalanche_network_byte_throttler_inbound_acquire_latency_count{job=\"avalanchego\"}[2m])", "interval": "", - "legendFormat": "Acquire", + "legendFormat": "Acquire {{node_id}}", "refId": "A" } ], @@ -2519,7 +1821,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "The amount of time, on average, that we wait to acquire from the throttler before reading a message.", "fieldConfig": { "defaults": { @@ -2527,6 +1832,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -2583,7 +1890,8 @@ "max" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { "mode": "single", @@ -2593,9 +1901,9 @@ "targets": [ { "exemplar": true, - "expr": "increase(avalanche_network_buffer_throttler_inbound_acquire_latency_sum[2m])/increase(avalanche_network_buffer_throttler_inbound_acquire_latency_count[2m])", + "expr": "increase(avalanche_network_buffer_throttler_inbound_acquire_latency_sum{job=\"avalanchego\"}[2m])/increase(avalanche_network_buffer_throttler_inbound_acquire_latency_count{job=\"avalanchego\"}[2m])", "interval": "", - "legendFormat": "Acquire", + "legendFormat": "Acquire {{node_id}}", "refId": "A" } ], @@ -2603,7 +1911,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Number of messages that are currently being handled and haven't yet returned their bytes to the inbound message throttler.", "fieldConfig": { "defaults": { @@ -2611,6 +1922,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -2670,7 +1983,8 @@ "last" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { "mode": "single", @@ -2680,9 +1994,9 @@ "targets": [ { "exemplar": true, - "expr": "avalanche_network_byte_throttler_inbound_awaiting_release", + "expr": "avalanche_network_byte_throttler_inbound_awaiting_release{job=\"avalanchego\"}", "interval": "", - "legendFormat": "Messages Awaiting Release", + "legendFormat": "Messages Awaiting Release {{node_id}}", "refId": "A" } ], @@ -2690,7 +2004,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Number of messages waiting to acquire from the inbound message buffer throttler.", "fieldConfig": { "defaults": { @@ -2698,6 +2015,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -2756,7 +2075,8 @@ "max" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { "mode": "single", @@ -2766,9 +2086,9 @@ "targets": [ { "exemplar": true, - "expr": "avalanche_network_buffer_throttler_inbound_awaiting_acquire", + "expr": "avalanche_network_buffer_throttler_inbound_awaiting_acquire{job=\"avalanchego\"}", "interval": "", - "legendFormat": "Messages Awaiting", + "legendFormat": "Messages Awaiting {{node_id}}", "refId": "A" } ], @@ -2776,7 +2096,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Number of bytes left in the at-large byte allocation of the inbound message throttler", "fieldConfig": { "defaults": { @@ -2784,6 +2107,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "axisSoftMin": 0, @@ -2844,7 +2169,8 @@ "min" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { "mode": "single", @@ -2854,9 +2180,9 @@ "targets": [ { "exemplar": true, - "expr": "avalanche_network_byte_throttler_inbound_remaining_at_large_bytes", + "expr": "avalanche_network_byte_throttler_inbound_remaining_at_large_bytes{job=\"avalanchego\"}", "interval": "", - "legendFormat": "Remaining Bytes", + "legendFormat": "Remaining Bytes {{node_id}}", "refId": "A" } ], @@ -2864,7 +2190,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Number of messages waiting to acquire bytes from the inbound bandwidth throttler.", "fieldConfig": { "defaults": { @@ -2872,6 +2201,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -2931,7 +2262,8 @@ "last" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { "mode": "single", @@ -2941,9 +2273,9 @@ "targets": [ { "exemplar": true, - "expr": "avalanche_network_bandwidth_throttler_inbound_awaiting_acquire", + "expr": "avalanche_network_bandwidth_throttler_inbound_awaiting_acquire{job=\"avalanchego\"}", "interval": "", - "legendFormat": "Messages Awaiting Acquire", + "legendFormat": "Messages Awaiting Acquire {{node_id}}", "refId": "A" } ], @@ -2952,7 +2284,10 @@ }, { "collapsed": false, - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "gridPos": { "h": 1, "w": 24, @@ -2965,7 +2300,10 @@ "type": "row" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Number of bytes left in the at-large byte allocation of the outbound message throttler", "fieldConfig": { "defaults": { @@ -2973,6 +2311,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "axisSoftMin": 0, @@ -3033,7 +2373,8 @@ "min" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { "mode": "single", @@ -3043,9 +2384,9 @@ "targets": [ { "exemplar": true, - "expr": "avalanche_network_throttler_outbound_remaining_at_large_bytes", + "expr": "avalanche_network_throttler_outbound_remaining_at_large_bytes{job=\"avalanchego\"}", "interval": "", - "legendFormat": "Bytes Remaining", + "legendFormat": "Bytes Remaining {{node_id}}", "refId": "A" } ], @@ -3053,7 +2394,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Number of bytes left in the validator byte allocation of the outbound message throttler", "fieldConfig": { "defaults": { @@ -3061,6 +2405,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "axisSoftMin": 0, @@ -3117,7 +2463,8 @@ "min" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { "mode": "single", @@ -3127,9 +2474,9 @@ "targets": [ { "exemplar": true, - "expr": "avalanche_network_throttler_outbound_remaining_validator_bytes", + "expr": "avalanche_network_throttler_outbound_remaining_validator_bytes{job=\"avalanchego\"}", "interval": "", - "legendFormat": "Bytes Remaining", + "legendFormat": "Bytes Remaining {{node_id}}", "refId": "A" } ], @@ -3138,7 +2485,10 @@ }, { "collapsed": false, - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "gridPos": { "h": 1, "w": 24, @@ -3151,7 +2501,10 @@ "type": "row" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "From all chains", "fieldConfig": { "defaults": { @@ -3159,6 +2512,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -3218,7 +2573,8 @@ "max" ], "displayMode": "table", - "placement": "right" + "placement": "bottom", + "showLegend": true }, "tooltip": { "mode": "single", @@ -3228,134 +2584,20 @@ "pluginVersion": "8.0.3", "targets": [ { - "exemplar": true, - "expr": "rate(avalanche_network_accepted_failed{job=\"avalanchego\"}[1m])", + "expr": "rate(avalanche_network_msgs_failed_to_send{job=\"avalanchego\"}[1m])", "interval": "", - "legendFormat": "accepted", + "legendFormat": "{{ op }} {{node_id}}", "refId": "A" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_get_accepted_failed{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get accepted", - "refId": "B" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_get_accepted_frontier_failed{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get accepted frontier", - "refId": "C" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_get_ancestors_failed{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get ancestors", - "refId": "D" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_put_failed{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "put", - "refId": "E" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_multi_put_failed{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "multiput", - "refId": "F" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_get_version_failed{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get version", - "refId": "G" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_get_peerlist_failed{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "get peerlist", - "refId": "H" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_pull_query_failed{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "pull query", - "refId": "I" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_push_query_failed{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "push query", - "refId": "J" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_version_failed{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "version", - "refId": "K" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_ping_failed{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "ping", - "refId": "L" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_pong_failed{job=\"avalanchego\"}[1m])", - "interval": "", - "legendFormat": "pong", - "refId": "M" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_chits_failed{job=\"avalanchego\"}[1m])", - "hide": false, - "interval": "", - "legendFormat": "chits", - "refId": "N" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_app_gossip_failed{job=\"avalanchego\"}[1m])", - "hide": false, - "interval": "", - "legendFormat": "app gossip", - "refId": "O" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_app_request_failed{job=\"avalanchego\"}[1m])", - "hide": false, - "interval": "", - "legendFormat": "app request", - "refId": "P" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_app_response_failed{job=\"avalanchego\"}[1m])", - "hide": false, - "interval": "", - "legendFormat": "app response", - "refId": "Q" } ], "title": "Messages Failed To Send per Second", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Number of messages that could not be parsed because they were of unknown type or invalidly formatted.", "fieldConfig": { "defaults": { @@ -3363,6 +2605,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -3417,7 +2661,8 @@ "max" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { "mode": "single", @@ -3427,9 +2672,9 @@ "targets": [ { "exemplar": true, - "expr": "increase(avalanche_network_msgs_failed_to_parse[1m])>0", + "expr": "increase(avalanche_network_msgs_failed_to_parse[1m])", "interval": "", - "legendFormat": "Failed to Parse", + "legendFormat": "Failed to Parse {{node_id}}", "refId": "A" } ], @@ -3437,7 +2682,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Number of inbound messages dropped (not processed) due to expiration in last minute.", "fieldConfig": { "defaults": { @@ -3445,6 +2693,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -3503,7 +2753,8 @@ "max" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { "mode": "single", @@ -3513,9 +2764,9 @@ "targets": [ { "exemplar": true, - "expr": "increase(avalanche_P_handler_expired[1m])+increase(avalanche_C_handler_expired[1m])+increase(avalanche_X_handler_expired[1m])", + "expr": "sum(increase(avalanche_handler_expired[1m]) or 0 * up)", "interval": "", - "legendFormat": "Messages Dropped", + "legendFormat": "Messages Dropped {{node_id}}", "refId": "A" } ], @@ -3523,7 +2774,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Number of outbound messages dropped (not sent) due to rate-limiting in the last minute", "fieldConfig": { "defaults": { @@ -3531,6 +2785,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -3585,7 +2841,8 @@ "max" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { "mode": "single", @@ -3595,9 +2852,9 @@ "targets": [ { "exemplar": true, - "expr": "increase(avalanche_network_throttler_outbound_acquire_failures[1m])", + "expr": "increase(avalanche_network_throttler_outbound_acquire_failures{job=\"avalanchego\"}[1m])", "interval": "", - "legendFormat": "Messages Dropped", + "legendFormat": "Messages Dropped {{node_id}}", "refId": "A" } ], @@ -3605,7 +2862,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Number of inbound connections dropped due to inbound connection rate-limiting", "fieldConfig": { "defaults": { @@ -3613,6 +2873,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -3667,7 +2929,8 @@ "max" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { "mode": "single", @@ -3677,9 +2940,9 @@ "targets": [ { "exemplar": true, - "expr": "increase(avalanche_network_inbound_conn_throttler_rate_limited[1m])", + "expr": "increase(avalanche_network_inbound_conn_throttler_rate_limited{job=\"avalanchego\"}[1m])", "interval": "", - "legendFormat": "Rate-Limited", + "legendFormat": "Rate-Limited {{node_id}}", "refId": "A" } ], @@ -3688,7 +2951,10 @@ }, { "collapsed": false, - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "gridPos": { "h": 1, "w": 24, @@ -3701,7 +2967,10 @@ "type": "row" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "", "fieldConfig": { "defaults": { @@ -3709,6 +2978,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -3763,9 +3034,15 @@ "id": 39, "options": { "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom" + "calcs": [ + "max", + "mean" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true }, "tooltip": { "mode": "single", @@ -3774,67 +3051,27 @@ }, "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", "exemplar": true, - "expr": "(increase(avalanche_network_codec_multi_put_compress_time_sum[5m])+1)/(increase(avalanche_network_codec_multi_put_compress_time_count[5m])+1)", + "expr": "increase(avalanche_network_codec_compressed_duration{direction=\"compression\"}[5m])/increase(avalanche_network_codec_compressed_count{direction=\"compression\"}[5m])", "hide": false, "interval": "", - "legendFormat": "Multiput", + "legendFormat": "{{ op }} {{ type }} {{node_id}}", "refId": "A" - }, - { - "exemplar": true, - "expr": "(increase(avalanche_network_codec_push_query_compress_time_sum[5m])+1)/(increase(avalanche_network_codec_push_query_compress_time_count[5m])+1)", - "hide": false, - "interval": "", - "legendFormat": "Push Query", - "refId": "B" - }, - { - "exemplar": true, - "expr": "(increase(avalanche_network_codec_put_compress_time_sum[5m])+1)/(increase(avalanche_network_codec_put_compress_time_count[5m])+1)", - "hide": false, - "interval": "", - "legendFormat": "Put", - "refId": "C" - }, - { - "exemplar": true, - "expr": "(increase(avalanche_network_codec_peerlist_compress_time_sum[5m])+1)/(increase(avalanche_network_codec_peerlist_compress_time_count[5m])+1)", - "hide": false, - "interval": "", - "legendFormat": "Peer List", - "refId": "D" - }, - { - "exemplar": true, - "expr": "(increase(avalanche_network_codec_app_gossip_compress_time_sum[5m])+1)/(increase(avalanche_network_codec_app_gossip_compress_time_count[5m])+1)", - "hide": false, - "interval": "", - "legendFormat": "App Gossip", - "refId": "E" - }, - { - "exemplar": true, - "expr": "(increase(avalanche_network_codec_app_request_compress_time_sum[5m])+1)/(increase(avalanche_network_codec_app_request_compress_time_count[5m])+1)", - "hide": false, - "interval": "", - "legendFormat": "App Request", - "refId": "F" - }, - { - "exemplar": true, - "expr": "(increase(avalanche_network_codec_app_response_compress_time_sum[5m])+1)/(increase(avalanche_network_codec_app_response_compress_time_count[5m])+1)", - "hide": false, - "interval": "", - "legendFormat": "App Response", - "refId": "G" } ], "title": "Average Message Compression Time", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "", "fieldConfig": { "defaults": { @@ -3842,6 +3079,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -3893,12 +3132,18 @@ "x": 12, "y": 101 }, - "id": 46, + "id": 66, "options": { "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom" + "calcs": [ + "max", + "mean" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true }, "tooltip": { "mode": "single", @@ -3907,67 +3152,24 @@ }, "targets": [ { - "exemplar": true, - "expr": "rate(avalanche_network_codec_multi_put_compress_time_sum[5m])", - "hide": false, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "increase(avalanche_network_codec_compressed_duration{direction=\"decompression\"}[5m])/increase(avalanche_network_codec_compressed_count{direction=\"decompression\"}[5m])", "interval": "", - "legendFormat": "Multiput", + "legendFormat": "{{ op }} {{ type }} {{node_id}}", "refId": "A" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_codec_push_query_compress_time_sum[5m])", - "hide": false, - "interval": "", - "legendFormat": "Push Query", - "refId": "B" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_codec_put_compress_time_sum[5m])", - "hide": false, - "interval": "", - "legendFormat": "Put", - "refId": "C" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_codec_peerlist_compress_time_sum[5m])", - "hide": false, - "interval": "", - "legendFormat": "Peer List", - "refId": "D" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_codec_app_gossip_compress_time_sum[5m])", - "hide": false, - "interval": "", - "legendFormat": "App Gossip", - "refId": "E" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_codec_app_request_compress_time_sum[5m])", - "hide": false, - "interval": "", - "legendFormat": "App Request", - "refId": "F" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_codec_app_response_compress_time_sum[5m])", - "hide": false, - "interval": "", - "legendFormat": "App Response", - "refId": "G" } ], - "title": "Total Message Compression Time per Second", + "title": "Average Message Decompression Time", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Rate at which we save bytes (don't send/receive them over the network) by compressing messages/receiving compressed messages.", "fieldConfig": { "defaults": { @@ -3975,6 +3177,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -4024,7 +3228,7 @@ "h": 10, "w": 24, "x": 0, - "y": 109 + "y": 117 }, "id": 38, "options": { @@ -4034,7 +3238,8 @@ "max" ], "displayMode": "table", - "placement": "right" + "placement": "bottom", + "showLegend": true }, "tooltip": { "mode": "single", @@ -4043,115 +3248,10 @@ }, "targets": [ { - "exemplar": true, - "expr": "rate(avalanche_network_multi_put_compression_saved_received_bytes_sum[5m])", + "expr": "rate(avalanche_network_msgs_bytes_saved[5m])", "interval": "", - "legendFormat": "Inbound Multiput", + "legendFormat": "{{ io }} {{ op }} {{node_id}}", "refId": "A" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_multi_put_compression_saved_sent_bytes_sum[5m])", - "hide": false, - "interval": "", - "legendFormat": "Outbound Multiput", - "refId": "B" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_put_compression_saved_received_bytes_sum[5m])", - "hide": false, - "interval": "", - "legendFormat": "Inbound Put", - "refId": "C" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_put_compression_saved_sent_bytes_sum[5m])", - "hide": false, - "interval": "", - "legendFormat": "Outbound Put", - "refId": "D" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_push_query_compression_saved_received_bytes_sum[5m])", - "hide": false, - "interval": "", - "legendFormat": "Inbound Push Query", - "refId": "E" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_push_query_compression_saved_sent_bytes_sum[5m])", - "hide": false, - "interval": "", - "legendFormat": "Outbound Push Query", - "refId": "F" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_peerlist_compression_saved_received_bytes_sum[5m])", - "hide": false, - "interval": "", - "legendFormat": "Inbound Peer List", - "refId": "G" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_peerlist_compression_saved_sent_bytes_sum[5m])", - "hide": false, - "interval": "", - "legendFormat": "Outbound Peer List", - "refId": "H" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_app_gossip_compression_saved_received_bytes_sum[5m])", - "hide": false, - "interval": "", - "legendFormat": "Inbound App Gossip", - "refId": "I" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_app_gossip_compression_saved_sent_bytes_sum[5m])", - "hide": false, - "interval": "", - "legendFormat": "Outbound App Gossip", - "refId": "J" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_app_request_compression_saved_received_bytes_sum[5m])", - "hide": false, - "interval": "", - "legendFormat": "Inbound App Request", - "refId": "K" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_app_request_compression_saved_sent_bytes_sum[5m])", - "hide": false, - "interval": "", - "legendFormat": "Outbound App Request", - "refId": "L" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_app_response_compression_saved_received_bytes_sum[5m])", - "hide": false, - "interval": "", - "legendFormat": "Inbound App Response", - "refId": "M" - }, - { - "exemplar": true, - "expr": "rate(avalanche_network_app_response_compression_saved_sent_bytes_sum[5m])", - "hide": false, - "interval": "", - "legendFormat": "Outbound App Response", - "refId": "N" } ], "title": "Bytes Saved by Compression", @@ -4159,13 +3259,40 @@ } ], "refresh": "10s", - "schemaVersion": 36, + "schemaVersion": 37, "style": "dark", "tags": [ "Avalanche" ], "templating": { - "list": [] + "list": [ + { + "hide": 0, + "includeAll": false, + "label": "Data Source", + "multi": false, + "name": "datasource", + "options": [], + "query": "prometheus", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "filters": [], + "hide": 0, + "label": "Filter", + "name": "filter", + "skipUrlSync": false, + "type": "adhoc" + } + ] }, "time": { "from": "now-3h", @@ -4187,6 +3314,6 @@ "timezone": "", "title": "Network", "uid": "jB1TgdZ7z", - "version": 5, + "version": 11, "weekStart": "" } diff --git a/files/dashboards/p_chain.json b/files/dashboards/p_chain.json index 645d982..4fef1e2 100644 --- a/files/dashboards/p_chain.json +++ b/files/dashboards/p_chain.json @@ -3,7 +3,10 @@ "list": [ { "builtIn": 1, - "datasource": "-- Grafana --", + "datasource": { + "type": "datasource", + "uid": "grafana" + }, "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", @@ -19,27 +22,35 @@ ] }, "editable": true, - "gnetId": null, + "fiscalYearStartMonth": 0, "graphTooltip": 0, - "id": 50, + "id": 1, "links": [ { "icon": "external link", + "includeVars": true, + "keepTime": true, "tags": [ "Avalanche" ], "type": "dashboards" } ], + "liveNow": true, "panels": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -91,52 +102,53 @@ "x": 0, "y": 0 }, - "id": 21, + "id": 15, "options": { "legend": { "calcs": [ + "min", "mean", - "lastNotNull", "max" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { - "mode": "single" + "mode": "single", + "sort": "none" } }, "pluginVersion": "8.0.4", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "round(increase(avalanche_P_blks_accepted_count{job=\"avalanchego\"}[1m]))>0", + "expr": "round(increase(avalanche_snowman_blks_accepted_count{chain=\"P\", job=\"avalanchego\"}[1m]))>0", "interval": "", - "legendFormat": "Accepted", + "legendFormat": "Blocks {{node_id}}", "refId": "A" - }, - { - "exemplar": true, - "expr": "round(increase(avalanche_P_blks_acc_count{job=\"avalanchego\"}[1m]))>0", - "hide": false, - "interval": "", - "legendFormat": "", - "refId": "B" } ], - "timeFrom": null, - "timeShift": null, "title": "Accepted Blocks in Last Minute", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -171,6 +183,10 @@ { "color": "green", "value": null + }, + { + "color": "red", + "value": 80 } ] }, @@ -184,38 +200,47 @@ "x": 12, "y": 0 }, - "id": 15, + "id": 20, "options": { "legend": { "calcs": [ + "min", "mean", - "lastNotNull", "max" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { - "mode": "single" + "mode": "single", + "sort": "none" } }, "pluginVersion": "8.0.4", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "editorMode": "code", "exemplar": true, - "expr": "round(increase(avalanche_P_blks_rejected_count{job=\"avalanchego\"}[1m]))>0", + "expr": "round(increase(avalanche_snowman_blks_rejected_count{chain=\"P\", job=\"avalanchego\"}[1m]))>0", "interval": "", - "legendFormat": "Rejected", + "legendFormat": "Blocks {{node_id}}", + "range": true, "refId": "A" } ], - "timeFrom": null, - "timeShift": null, "title": "Rejected Blocks in Last Minute", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "The average time between a block's issuance and acceptance by this node over the last 5 minutes.", "fieldConfig": { "defaults": { @@ -223,6 +248,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -251,6 +278,7 @@ } }, "mappings": [], + "min": 0, "thresholds": { "mode": "absolute", "steps": [ @@ -270,37 +298,44 @@ "x": 0, "y": 8 }, - "id": 23, + "id": 22, "options": { "legend": { "calcs": [ + "min", "mean", - "lastNotNull", "max" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { - "mode": "single" + "mode": "single", + "sort": "none" } }, "pluginVersion": "8.0.4", "targets": [ { - "expr": "rate(avalanche_P_blks_accepted_sum{job=\"avalanchego\"}[5m]) / rate(avalanche_P_blks_accepted_count{job=\"avalanchego\"}[5m])", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "rate(avalanche_snowman_blks_accepted_sum{chain=\"P\", job=\"avalanchego\"}[5m]) / rate(avalanche_snowman_blks_accepted_count{chain=\"P\", job=\"avalanchego\"}[5m])", "interval": "", "legendFormat": "Avg Acceptance Latency", "refId": "A" } ], - "timeFrom": null, - "timeShift": null, "title": "Average Block Acceptance Latency", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "The average time between a block's issuance and rejection by this node over the last 5 minutes.", "fieldConfig": { "defaults": { @@ -308,6 +343,8 @@ "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -326,13 +363,13 @@ "type": "linear" }, "showPoints": "never", - "spanNulls": true, + "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { - "mode": "line+area" + "mode": "off" } }, "mappings": [], @@ -340,8 +377,12 @@ "mode": "absolute", "steps": [ { - "color": "transparent", + "color": "green", "value": null + }, + { + "color": "red", + "value": 80 } ] }, @@ -355,63 +396,71 @@ "x": 12, "y": 8 }, - "id": 25, + "id": 23, "options": { "legend": { "calcs": [ + "min", "mean", - "lastNotNull", "max" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { - "mode": "single" + "mode": "single", + "sort": "none" } }, "pluginVersion": "8.0.4", "targets": [ { - "exemplar": true, - "expr": "rate(avalanche_P_blks_rejected_sum{job=\"avalanchego\"}[5m]) / rate(avalanche_P_blks_rejected_count{job=\"avalanchego\"}[5m])", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "rate(avalanche_snowman_blks_rejected_sum{chain=\"P\", job=\"avalanchego\"}[5m]) / rate(avalanche_snowman_blks_rejected_count{chain=\"P\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "Rejection Latency", + "legendFormat": "Avg Rejection Latency", "refId": "A" } ], - "timeFrom": null, - "timeShift": null, "title": "Average Block Rejection Latency", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "Transactions", "axisPlacement": "auto", "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, + "drawStyle": "bars", + "fillOpacity": 100, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, - "lineInterpolation": "smooth", + "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", - "spanNulls": true, + "spanNulls": false, "stacking": { "group": "A", "mode": "none" @@ -421,17 +470,12 @@ } }, "mappings": [], - "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "transparent", "value": null - }, - { - "color": "red", - "value": 500 } ] }, @@ -450,58 +494,66 @@ "legend": { "calcs": [ "mean", - "lastNotNull", "max" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { - "mode": "single" + "mode": "single", + "sort": "none" } }, "pluginVersion": "8.0.4", "targets": [ { - "expr": "avalanche_P_blks_processing{job=\"avalanchego\"}", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "exemplar": true, + "expr": "avalanche_snowman_blks_processing{chain=\"P\", job=\"avalanchego\"}>0", "interval": "", - "legendFormat": "Transactions", + "legendFormat": "Blocks {{node_id}}", "refId": "A" } ], - "timeFrom": null, - "timeShift": null, "title": "Processing Blocks", "type": "timeseries" }, { - "datasource": "Prometheus", - "description": "Percentage of queries for which we receive chits on time.", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { - "axisLabel": "", + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "Incomplete Polls", "axisPlacement": "auto", "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, + "drawStyle": "bars", + "fillOpacity": 100, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, - "lineInterpolation": "smooth", + "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", - "spanNulls": true, + "spanNulls": false, "stacking": { "group": "A", "mode": "none" @@ -511,17 +563,12 @@ } }, "mappings": [], - "min": 0, "thresholds": { "mode": "absolute", "steps": [ - { - "color": "red", - "value": null - }, { "color": "transparent", - "value": 0.85 + "value": null } ] }, @@ -535,39 +582,44 @@ "x": 12, "y": 16 }, - "id": 11, + "id": 39, "options": { "legend": { "calcs": [ "mean", - "lastNotNull", - "min" + "max" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { - "mode": "single" + "mode": "single", + "sort": "none" } }, "pluginVersion": "8.0.4", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "(increase(avalanche_P_handler_chits_count{job=\"avalanchego\"}[5m]) + 1) / (increase(avalanche_P_handler_chits_count{job=\"avalanchego\"}[5m]) + increase(avalanche_P_handler_query_failed_count{job=\"avalanchego\"}[5m]) + 1)", - "instant": false, + "expr": "avalanche_snowman_polls{chain=\"P\"} > 0", "interval": "", - "legendFormat": "% Successful", + "legendFormat": "Polls {{node_id}}", "refId": "A" } ], - "timeFrom": null, - "timeShift": null, - "title": "Percentage of Successful Queries", + "title": "Incomplete Polls", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Measures how much of each second is being spent handling different kinds of messages on the P-Chain.\nThe value for chits, for example, is the number of seconds spent handling chits messages per second, over the last 30 seconds.", "fieldConfig": { "defaults": { @@ -575,7 +627,9 @@ "mode": "palette-classic" }, "custom": { - "axisLabel": "seconds/second", + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", @@ -634,147 +688,48 @@ "max" ], "displayMode": "table", - "placement": "right" + "placement": "right", + "showLegend": true }, "tooltip": { - "mode": "single" + "mode": "single", + "sort": "none" } }, "pluginVersion": "8.0.4", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "rate(avalanche_P_handler_pull_query_sum{job=\"avalanchego\"}[5m])", + "expr": "rate(avalanche_handler_message_handling_time{chain=\"P\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "pull query", + "legendFormat": "{{ op }} {{node_id}}", "refId": "A" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_push_query_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "push query", - "refId": "B" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_chits_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "chits", - "refId": "C" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_accepted_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "accepted", - "refId": "D" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_get_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get", - "refId": "E" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_put_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "put", - "refId": "F" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_multiput_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "multiput", - "refId": "G" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_get_ancestors_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get ancestors", - "refId": "H" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_get_failed_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get failed", - "refId": "I" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_query_failed_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "query failed", - "refId": "J" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_get_accepted_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get accepted", - "refId": "K" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_get_ancestors_failed_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get ancestors failed", - "refId": "L" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_app_request_sum{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app request ", - "refId": "N" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_app_request_failed_sum{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app request failed ", - "refId": "M" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_app_response_sum{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app response", - "refId": "O" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_app_gossip_sum{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app gossip", - "refId": "P" } ], - "timeFrom": null, - "timeShift": null, "title": "Message Handling Time (Total)", "type": "timeseries" }, { - "datasource": "Prometheus", - "description": "Measures how long each kind of request on the P-Chain takes to handle.\nThe value for chits, for example, is how long, in seconds, it takes to handle a chits message.", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "Percentage of queries for which we receive chits on time.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { - "axisLabel": "seconds", + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", "axisPlacement": "auto", + "axisSoftMin": 0, "barAlignment": 0, "drawStyle": "line", "fillOpacity": 0, @@ -797,180 +752,98 @@ "mode": "none" }, "thresholdsStyle": { - "mode": "off" + "mode": "line+area" } }, "mappings": [], + "min": 0, "thresholds": { "mode": "absolute", "steps": [ { - "color": "green", + "color": "red", "value": null }, { - "color": "red", - "value": 80 + "color": "transparent", + "value": 0.8 } ] }, - "unit": "ns" + "unit": "percentunit" }, "overrides": [] }, "gridPos": { - "h": 9, + "h": 8, "w": 12, "x": 12, "y": 24 }, - "id": 7, + "id": 11, "options": { "legend": { "calcs": [ + "min", "mean", "max" ], - "displayMode": "table", - "placement": "right" + "displayMode": "list", + "placement": "bottom", + "showLegend": true }, "tooltip": { - "mode": "single" + "mode": "single", + "sort": "none" } }, "pluginVersion": "8.0.4", "targets": [ { - "exemplar": true, - "expr": "rate(avalanche_P_handler_pull_query_sum{job=\"avalanchego\"}[5m])/rate(avalanche_P_handler_pull_query_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "pull query", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "max(increase(avalanche_handler_messages{chain=\"P\", op=\"chits\", job=\"avalanchego\"}[5m]))", + "hide": true, "refId": "A" }, { - "exemplar": true, - "expr": "rate(avalanche_P_handler_push_query_sum{job=\"avalanchego\"}[5m])/rate(avalanche_P_handler_push_query_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "push query", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "max(increase(avalanche_handler_messages{chain=\"P\", op=\"query_failed\", job=\"avalanchego\"}[5m]))", + "hide": true, "refId": "B" }, { - "exemplar": true, - "expr": "rate(avalanche_P_handler_chits_sum{job=\"avalanchego\"}[5m])/rate(avalanche_P_handler_chits_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "chits", - "refId": "C" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_accepted_sum{job=\"avalanchego\"}[5m])/rate(avalanche_P_handler_accepted_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "accepted", - "refId": "D" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_get_sum{job=\"avalanchego\"}[5m])/rate(avalanche_P_handler_get_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get", - "refId": "E" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_put_sum{job=\"avalanchego\"}[5m])/rate(avalanche_P_handler_put_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "put", - "refId": "F" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_multiput_sum{job=\"avalanchego\"}[5m])/rate(avalanche_P_handler_multi_put_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "multiput", - "refId": "G" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_get_ancestors_sum{job=\"avalanchego\"}[5m])/rate(avalanche_P_handler_get_ancestors_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get ancestors", - "refId": "H" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_get_failed_sum{job=\"avalanchego\"}[5m])/rate(avalanche_P_handler_get_failed_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get failed", - "refId": "I" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_query_failed_sum{job=\"avalanchego\"}[5m])/rate(avalanche_P_handler_query_failed_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "query failed", - "refId": "J" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_get_accepted_sum{job=\"avalanchego\"}[5m])/rate(avalanche_P_handler_get_accepted_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get accepted", - "refId": "K" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_get_ancestors_failed_sum{job=\"avalanchego\"}[5m])/rate(avalanche_P_handler_get_ancestors_failed_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get ancestors failed", - "refId": "L" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_app_request_sum{job=\"avalanchego\"}[5m])/rate(avalanche_P_handler_app_request_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app request", - "refId": "M" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_app_request_failed_sum{job=\"avalanchego\"}[5m])/rate(avalanche_P_handler_app_request_failed_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app request failed", - "refId": "N" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_app_gossip_sum{job=\"avalanchego\"}[5m])/rate(avalanche_P_handler_app_gossip_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app gossip", - "refId": "O" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_app_response_sum{job=\"avalanchego\"}[5m])/rate(avalanche_P_handler_app_response_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app response", - "refId": "P" + "datasource": { + "name": "Expression", + "type": "__expr__" + }, + "expression": "($A + 1) / ($A + $B + 1)", + "refId": "% Successful", + "type": "math" } ], - "timeFrom": null, - "timeShift": null, - "title": "Message Handling Time (per Message)", + "title": "Percentage of Successful Queries", "type": "timeseries" }, { - "datasource": "Prometheus", - "description": "The total stake of validators currently \"benched\" due to poor query responsiveness. Queries to these validators will immediately timeout until they are removed from the \"bench.\"", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "Measures how long each kind of request on the P-Chain takes to handle.\nThe value for chits, for example, is how long, in seconds, it takes to handle a chits message.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -999,7 +872,6 @@ } }, "mappings": [], - "min": 0, "thresholds": { "mode": "absolute", "steps": [ @@ -1013,59 +885,66 @@ } ] }, - "unit": "short" + "unit": "ns" }, "overrides": [] }, "gridPos": { "h": 9, "w": 12, - "x": 0, - "y": 33 + "x": 12, + "y": 32 }, - "id": 29, + "id": 7, "options": { "legend": { "calcs": [ "mean", - "lastNotNull", "max" ], - "displayMode": "list", - "placement": "bottom" + "displayMode": "table", + "placement": "bottom", + "showLegend": true }, "tooltip": { - "mode": "single" + "mode": "single", + "sort": "none" } }, "pluginVersion": "8.0.4", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "avg_over_time(avalanche_P_benchlist_benched_weight{job=\"avalanchego\"}[15m]) / 10^9", + "expr": "rate(avalanche_handler_message_handling_time{chain=\"P\", job=\"avalanchego\"}[5m])/rate(avalanche_handler_messages{chain=\"P\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "AVAX Benched", + "legendFormat": "{{ op }} {{node_id}}", "refId": "A" } ], - "timeFrom": null, - "timeShift": null, - "title": "AVAX Benched", + "title": "Message Handling Time (per Message)", "type": "timeseries" }, { - "datasource": "Prometheus", - "description": "Measures how many of each kind of message are received per second on the P-Chain.", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { - "axisLabel": "Messages received/s", + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, - "drawStyle": "line", + "drawStyle": "bars", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { @@ -1073,7 +952,7 @@ "tooltip": false, "viz": false }, - "lineInterpolation": "smooth", + "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { @@ -1090,6 +969,7 @@ } }, "mappings": [], + "min": 0, "thresholds": { "mode": "absolute", "steps": [ @@ -1108,164 +988,68 @@ "overrides": [] }, "gridPos": { - "h": 9, - "w": 12, - "x": 12, + "h": 8, + "w": 6, + "x": 0, "y": 33 }, - "id": 6, + "id": 19, "options": { "legend": { - "calcs": [ - "mean", - "max" - ], - "displayMode": "table", - "placement": "right" + "displayMode": "list", + "placement": "bottom", + "showLegend": true }, "tooltip": { - "mode": "single" + "mode": "single", + "sort": "none" } }, - "pluginVersion": "8.0.4", + "pluginVersion": "8.0.6", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "rate(avalanche_P_handler_pull_query_count{job=\"avalanchego\"}[5m])", + "expr": "avalanche_handler_sync_unprocessed_msgs_count{chain=\"P\"}", "interval": "", - "legendFormat": "pull query", + "legendFormat": "{{ op }}", "refId": "A" }, { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "rate(avalanche_P_handler_push_query_count{job=\"avalanchego\"}[5m])", + "expr": "avalanche_handler_async_unprocessed_msgs_count{chain=\"P\"}", "interval": "", - "legendFormat": "push query", + "legendFormat": "{{ op }}", "refId": "B" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_chits_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "chits", - "refId": "C" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_accepted_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "accepted", - "refId": "D" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_get_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get", - "refId": "E" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_put_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "put", - "refId": "F" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_multi_put_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "multiput", - "refId": "G" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_get_ancestors_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get ancestors", - "refId": "H" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_get_failed_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get failed", - "refId": "I" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_query_failed_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "query failed", - "refId": "J" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_get_accepted_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get accepted", - "refId": "K" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_get_ancestors_failed_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get ancestors failed", - "refId": "L" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_app_request_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app request", - "refId": "P" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_app_request_failed_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app request failed", - "refId": "M" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_app_response_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app response", - "refId": "N" - }, - { - "exemplar": true, - "expr": "rate(avalanche_P_handler_app_gossip_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app gossip", - "refId": "O" } ], - "timeFrom": null, - "timeShift": null, - "title": "Messages Received per Second", + "title": "Unprocessed Incoming Messages", "type": "timeseries" }, { - "datasource": "Prometheus", - "description": "", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", - "axisSoftMax": 1, - "axisSoftMin": 0, "barAlignment": 0, - "drawStyle": "line", + "drawStyle": "bars", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { @@ -1273,14 +1057,14 @@ "tooltip": false, "viz": false }, - "lineInterpolation": "smooth", + "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", - "spanNulls": false, + "spanNulls": true, "stacking": { "group": "A", "mode": "none" @@ -1290,60 +1074,77 @@ } }, "mappings": [], + "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null + }, + { + "color": "red", + "value": 80 } ] - } + }, + "unit": "short" }, "overrides": [] }, "gridPos": { "h": 8, - "w": 12, - "x": 0, - "y": 42 + "w": 6, + "x": 6, + "y": 33 }, - "id": 35, + "id": 29, "options": { "legend": { - "calcs": [], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { - "mode": "single" + "mode": "single", + "sort": "none" } }, + "pluginVersion": "8.0.6", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "increase(avalanche_P_vm_block_cache_hit[5m])/(increase(avalanche_P_vm_block_cache_hit[5m])+increase(avalanche_P_vm_block_cache_miss[5m]))", + "expr": "increase(avalanche_handler_expired{chain=\"P\", job=\"avalanchego\"}[1m]) or 0 * up", "interval": "", - "legendFormat": "Hit Rate", + "legendFormat": "{{ op }}", "refId": "A" } ], - "title": "Block Cache Hit Rate", + "title": "Incoming Messages Expired in Last Minute", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "The total stake of validators currently \"benched\" due to poor query responsiveness. Queries to these validators will immediately timeout until they are removed from the \"bench.\"", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", - "axisSoftMin": 0, "barAlignment": 0, - "drawStyle": "bars", + "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { @@ -1351,7 +1152,7 @@ "tooltip": false, "viz": false }, - "lineInterpolation": "linear", + "lineInterpolation": "smooth", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { @@ -1368,6 +1169,7 @@ } }, "mappings": [], + "min": 0, "thresholds": { "mode": "absolute", "steps": [ @@ -1381,66 +1183,75 @@ } ] }, - "unit": "short" + "unit": "percent" }, "overrides": [] }, "gridPos": { - "h": 7, - "w": 8, + "h": 9, + "w": 12, "x": 0, - "y": 50 + "y": 41 }, - "id": 19, + "id": 25, "options": { "legend": { "calcs": [ "mean", - "lastNotNull", "max" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { - "mode": "single" + "mode": "single", + "sort": "none" } }, - "pluginVersion": "8.0.5", + "pluginVersion": "8.0.4", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "avalanche_P_handler_unprocessed_msgs_len", + "expr": "avg_over_time(avalanche_benchlist_benched_weight{chain=\"P\", job=\"avalanchego\"}[15m]) / 10^9", "interval": "", - "legendFormat": "Pending Messages", + "legendFormat": "AVAX Benched {{node_id}}", "refId": "A" } ], - "timeFrom": null, - "timeShift": null, - "title": "Unprocessed Incoming Messages", + "title": "AVAX Benched", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "Measures how many of each kind of message are received per second on the P-Chain.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { - "axisLabel": "", + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "Messages / Second", "axisPlacement": "auto", "barAlignment": 0, - "drawStyle": "bars", - "fillOpacity": 100, + "drawStyle": "line", + "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, - "lineInterpolation": "linear", + "lineInterpolation": "smooth", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { @@ -1457,7 +1268,6 @@ } }, "mappings": [], - "min": 0, "thresholds": { "mode": "absolute", "steps": [ @@ -1476,51 +1286,83 @@ "overrides": [] }, "gridPos": { - "h": 7, - "w": 8, - "x": 8, - "y": 50 + "h": 9, + "w": 12, + "x": 12, + "y": 41 }, - "id": 33, + "id": 6, "options": { "legend": { "calcs": [ "mean", "max" ], - "displayMode": "list", - "placement": "bottom" + "displayMode": "table", + "placement": "bottom", + "showLegend": true }, "tooltip": { - "mode": "single" + "mode": "single", + "sort": "none" } }, - "pluginVersion": "8.1.4", + "pluginVersion": "8.0.4", "targets": [ { - "expr": "increase(avalanche_P_handler_expired[1m])", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "exemplar": true, + "expr": "rate(avalanche_handler_messages{chain=\"P\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "Expired", + "legendFormat": "{{ op }} {{node_id}}", "refId": "A" } ], - "timeFrom": null, - "timeShift": null, - "title": "Incoming Messages Expired in Last Minute", + "title": "Messages Received per Second", "type": "timeseries" } ], "refresh": "10s", - "schemaVersion": 30, + "schemaVersion": 37, "style": "dark", "tags": [ "Avalanche" ], "templating": { - "list": [] + "list": [ + { + "hide": 0, + "includeAll": false, + "label": "Data Source", + "multi": false, + "name": "datasource", + "options": [], + "query": "prometheus", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "filters": [], + "hide": 0, + "label": "Filter", + "name": "filter", + "skipUrlSync": false, + "type": "adhoc" + } + ] }, "time": { - "from": "now-24h", + "from": "now-6h", "to": "now" }, "timepicker": { @@ -1540,5 +1382,6 @@ "timezone": "", "title": "P-Chain", "uid": "uWlS20i7z", - "version": 36 + "version": 52, + "weekStart": "" } diff --git a/files/dashboards/subnets.json.j2 b/files/dashboards/subnets.json.j2 index 3602288..f8f9a86 100644 --- a/files/dashboards/subnets.json.j2 +++ b/files/dashboards/subnets.json.j2 @@ -3,7 +3,10 @@ "list": [ { "builtIn": 1, - "datasource": "-- Grafana --", + "datasource": { + "type": "datasource", + "uid": "grafana" + }, "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", @@ -26,16 +29,21 @@ "links": [ { "icon": "external link", + "includeVars": true, + "keepTime": true, "tags": [ "Avalanche" ], "type": "dashboards" } ], - "liveNow": false, + "liveNow": true, "panels": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "fieldConfig": { "defaults": { "color": { @@ -98,7 +106,6 @@ "legend": { "calcs": [ "mean", - "lastNotNull", "max", "min" ], @@ -113,10 +120,14 @@ "pluginVersion": "8.0.4", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "round(increase(avalanche_${subnet}_blks_accepted_count{job=\"avalanchego\"}[1m]))>0", + "expr": "round(increase(avalanche_snowman_blks_accepted_count{chain=\"${chain_id}\", job=\"avalanchego\"}[1m]))>0", "interval": "", - "legendFormat": "Accepted", + "legendFormat": "Blocks {{node_id}}", "refId": "A" } ], @@ -124,7 +135,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "fieldConfig": { "defaults": { "color": { @@ -189,7 +203,6 @@ "legend": { "calcs": [ "mean", - "lastNotNull", "max", "min" ], @@ -204,10 +217,14 @@ "pluginVersion": "8.0.4", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "round(increase(avalanche_${subnet}_blks_rejected_count{job=\"avalanchego\"}[1m]))>0", + "expr": "round(increase(avalanche_blks_rejected_count{chain=\"${chain_id}\", job=\"avalanchego\"}[1m]))>0", "interval": "", - "legendFormat": "Rejected", + "legendFormat": "Blocks {{node_id}}", "refId": "A" } ], @@ -215,7 +232,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "The average time between a block's issuance and acceptance by this node over the last 5 minutes.", "fieldConfig": { "defaults": { @@ -276,7 +296,6 @@ "legend": { "calcs": [ "mean", - "lastNotNull", "max", "min" ], @@ -291,9 +310,13 @@ "pluginVersion": "8.0.4", "targets": [ { - "expr": "rate(avalanche_${subnet}_blks_accepted_sum{job=\"avalanchego\"}[5m]) / rate(avalanche_${subnet}_blks_accepted_count{job=\"avalanchego\"}[5m])", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "rate(avalanche_snowman_blks_accepted_sum{chain=\"${chain_id}\", job=\"avalanchego\"}[5m]) / rate(avalanche_snowman_blks_accepted_count{chain=\"${chain_id}\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "Avg Acceptance Latency", + "legendFormat": "Avg Acceptance Latency {{node_id}}", "refId": "A" } ], @@ -301,7 +324,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "The average time between a block's issuance and rejection by this node over the last 5 minutes.", "fieldConfig": { "defaults": { @@ -365,7 +391,6 @@ "legend": { "calcs": [ "mean", - "lastNotNull", "max", "min" ], @@ -380,9 +405,13 @@ "pluginVersion": "8.0.4", "targets": [ { - "expr": "rate(avalanche_${subnet}_blks_rejected_sum{job=\"avalanchego\"}[5m]) / rate(avalanche_${subnet}_blks_rejected_count{job=\"avalanchego\"}[5m])", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "rate(avalanche_snowman_blks_rejected_sum{chain=\"${chain_id}\", job=\"avalanchego\"}[5m]) / rate(avalanche_snowman_blks_rejected_count{chain=\"${chain_id}\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "Avg Rejection Latency", + "legendFormat": "Avg Rejection Latency {{node_id}}", "refId": "A" } ], @@ -390,7 +419,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "fieldConfig": { "defaults": { "color": { @@ -450,7 +482,6 @@ "legend": { "calcs": [ "mean", - "lastNotNull", "max" ], "displayMode": "list", @@ -464,10 +495,14 @@ "pluginVersion": "8.0.4", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "avalanche_${subnet}_blks_processing{job=\"avalanchego\"}>0", + "expr": "avalanche_snowman_blks_processing{chain=\"${chain_id}\", job=\"avalanchego\"}>0", "interval": "", - "legendFormat": "Transactions", + "legendFormat": "Blocks {{node_id}}", "refId": "A" } ], @@ -475,7 +510,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "fieldConfig": { "defaults": { "color": { @@ -534,7 +572,6 @@ "legend": { "calcs": [ "mean", - "lastNotNull", "max" ], "displayMode": "list", @@ -548,10 +585,14 @@ "pluginVersion": "8.0.4", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "avalanche_${subnet}_polls > 0", + "expr": "avalanche_snowman_polls{chain=\"${chain_id}\"} > 0", "interval": "", - "legendFormat": "", + "legendFormat": "Polls {{node_id}}", "refId": "A" } ], @@ -559,7 +600,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Measures how much of each second is being spent handling different kinds of messages on the C-Chain.\nThe value for chits, for example, is the number of seconds spent handling chits messages per second, over the last 30 seconds.", "fieldConfig": { "defaults": { @@ -626,7 +670,7 @@ "max" ], "displayMode": "table", - "placement": "right" + "placement": "bottom" }, "tooltip": { "mode": "single", @@ -636,127 +680,25 @@ "pluginVersion": "8.0.4", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_pull_query_sum{job=\"avalanchego\"}[5m])", + "expr": "rate(avalanche_handler_message_handling_time{chain=\"${chain_id}\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "pull query", + "legendFormat": "{{ op }} {{node_id}}", "refId": "A" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_push_query_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "push query", - "refId": "B" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_chits_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "chits", - "refId": "C" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_accepted_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "accepted", - "refId": "D" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_get_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get", - "refId": "E" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_put_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "put", - "refId": "F" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_multiput_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "multiput", - "refId": "G" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_get_ancestors_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get ancestors", - "refId": "H" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_get_failed_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get failed", - "refId": "I" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_query_failed_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "query failed", - "refId": "J" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_get_accepted_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get accepted", - "refId": "K" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_get_ancestors_failed_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get ancestors failed", - "refId": "L" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_app_request_sum{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app request", - "refId": "M" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_app_request_failed_sum{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app request failed", - "refId": "N" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_app_response_sum{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app response", - "refId": "O" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_app_gossip_sum{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app gossip", - "refId": "P" } ], "title": "Message Handling Time (Total)", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Percentage of queries for which we receive chits on time.", "fieldConfig": { "defaults": { @@ -822,7 +764,6 @@ "legend": { "calcs": [ "mean", - "lastNotNull", "max", "min" ], @@ -837,11 +778,12 @@ "pluginVersion": "8.0.4", "targets": [ { - "exemplar": true, - "expr": "(increase(avalanche_${subnet}_handler_chits_count{job=\"avalanchego\"}[5m]) + 1) / (increase(avalanche_${subnet}_handler_chits_count{job=\"avalanchego\"}[5m]) + increase(avalanche_${subnet}_handler_query_failed_count{job=\"avalanchego\"}[5m]) + 1)", - "instant": false, - "interval": "", - "legendFormat": "% Successful", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "max(increase(avalanche_handler_messages{chain=\"${chain_id}\", op=\"chits\", job=\"avalanchego\"}[5m]))", + "hide": true, "refId": "A" } ], @@ -849,7 +791,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Measures how long each kind of request on the C-Chain takes to handle.\nThe value for chits, for example, is how long, in seconds, it takes to handle a chits message.", "fieldConfig": { "defaults": { @@ -916,7 +861,7 @@ "max" ], "displayMode": "table", - "placement": "right" + "placement": "bottom" }, "tooltip": { "mode": "single", @@ -926,127 +871,25 @@ "pluginVersion": "8.0.4", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_pull_query_sum{job=\"avalanchego\"}[5m])/rate(avalanche_${subnet}_handler_pull_query_count{job=\"avalanchego\"}[5m])", + "expr": "rate(avalanche_handler_message_handling_time{chain=\"${chain_id}\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "pull query", + "legendFormat": "{{ op }} {{node_id}}", "refId": "A" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_push_query_sum{job=\"avalanchego\"}[5m])/rate(avalanche_${subnet}_handler_push_query_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "push query", - "refId": "B" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_chits_sum{job=\"avalanchego\"}[5m])/rate(avalanche_${subnet}_handler_chits_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "chits", - "refId": "C" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_accepted_sum{job=\"avalanchego\"}[5m])/rate(avalanche_${subnet}_handler_accepted_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "accepted", - "refId": "D" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_get_sum{job=\"avalanchego\"}[5m])/rate(avalanche_${subnet}_handler_get_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get", - "refId": "E" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_put_sum{job=\"avalanchego\"}[5m])/rate(avalanche_${subnet}_handler_put_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "put", - "refId": "F" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_multiput_sum{job=\"avalanchego\"}[5m])/rate(avalanche_${subnet}_handler_multi_put_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "multiput", - "refId": "G" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_get_ancestors_sum{job=\"avalanchego\"}[5m])/rate(avalanche_${subnet}_handler_get_ancestors_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get ancestors", - "refId": "H" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_get_failed_sum{job=\"avalanchego\"}[5m])/rate(avalanche_${subnet}_handler_get_failed_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get failed", - "refId": "I" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_query_failed_sum{job=\"avalanchego\"}[5m])/rate(avalanche_${subnet}_handler_query_failed_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "query failed", - "refId": "J" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_get_accepted_sum{job=\"avalanchego\"}[5m])/rate(avalanche_${subnet}_handler_get_accepted_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get accepted", - "refId": "K" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_get_ancestors_failed_sum{job=\"avalanchego\"}[5m])/rate(avalanche_${subnet}_handler_get_ancestors_failed_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get ancestors failed", - "refId": "L" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_app_request_sum{job=\"avalanchego\"}[5m])/rate(avalanche_${subnet}_handler_app_request_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app request", - "refId": "M" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_app_request_failed_sum{job=\"avalanchego\"}[5m])/rate(avalanche_${subnet}_handler_app_request_failed_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app request failed", - "refId": "N" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_app_response_sum{job=\"avalanchego\"}[5m])/rate(avalanche_${subnet}_handler_app_response_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app response", - "refId": "O" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_app_gossip_sum{job=\"avalanchego\"}[5m])/rate(avalanche_${subnet}_handler_app_gossip_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app gossip", - "refId": "P" } ], "title": "Message Handling Time (per Message)", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "The total stake of validators currently \"benched\" due to poor query responsiveness. Queries to these validators will immediately timeout until they are removed from the \"bench.\"", "fieldConfig": { "defaults": { @@ -1111,7 +954,6 @@ "legend": { "calcs": [ "mean", - "lastNotNull", "max" ], "displayMode": "list", @@ -1125,10 +967,14 @@ "pluginVersion": "8.0.4", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "avg_over_time(avalanche_${subnet}_benchlist_benched_weight{job=\"avalanchego\"}[15m]) / 10^9", + "expr": "avg_over_time(avalanche_benchlist_benched_weight{chain=\"${chain_id}\", job=\"avalanchego\"}[15m]) / 10^9", "interval": "", - "legendFormat": "AVAX Benched", + "legendFormat": "AVAX Benched {{node_id}}", "refId": "A" } ], @@ -1136,7 +982,10 @@ "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Measures how many of each kind of message are received per second on the C-Chain.", "fieldConfig": { "defaults": { @@ -1203,7 +1052,7 @@ "max" ], "displayMode": "table", - "placement": "right" + "placement": "bottom" }, "tooltip": { "mode": "single", @@ -1213,127 +1062,25 @@ "pluginVersion": "8.0.4", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_pull_query_count{job=\"avalanchego\"}[5m])", + "expr": "rate(avalanche_handler_messages{chain=\"${chain_id}\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "pull query", + "legendFormat": "{{ op }} {{node_id}}", "refId": "A" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_push_query_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "push query", - "refId": "B" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_chits_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "chits", - "refId": "C" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_accepted_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "accepted", - "refId": "D" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_get_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get", - "refId": "E" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_put_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "put", - "refId": "F" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_multi_put_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "multiput", - "refId": "G" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_get_ancestors_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get ancestors", - "refId": "H" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_get_failed_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get failed", - "refId": "I" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_query_failed_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "query failed", - "refId": "J" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_get_accepted_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get accepted", - "refId": "K" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_get_ancestors_failed_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get ancestors failed", - "refId": "L" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_app_request_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app request", - "refId": "M" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_app_request_failed_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app request failed", - "refId": "N" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_app_response_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app response", - "refId": "O" - }, - { - "exemplar": true, - "expr": "rate(avalanche_${subnet}_handler_app_gossip_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app gossip", - "refId": "P" } ], "title": "Messages Received per Second", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Hit rate for the cache where the key is the byte representation of the block, and the value is the block's ID", "fieldConfig": { "defaults": { @@ -1406,18 +1153,47 @@ }, "targets": [ { - "exemplar": true, - "expr": "increase(avalanche_${subnet}_vm_rpcchainvm_bytes_to_id_cache_hit[5m])/(increase(avalanche_${subnet}_vm_rpcchainvm_bytes_to_id_cache_hit[5m])+increase(avalanche_${subnet}_vm_rpcchainvm_bytes_to_id_cache_miss[5m]))", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "sum(increase(avalanche_rpcchainvm_bytes_to_id_cache_get_count{chain=\"${chain_id}\", result=\"hit\"}[5m]) or 0 * up)", "interval": "", - "legendFormat": "Hit Rate", - "refId": "A" + "legendFormat": "Hits {{node_id}}", + "refId": "A", + "hide": true + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "sum(increase(avalanche_rpcchainvm_bytes_to_id_cache_get_count{chain=\"${chain_id}\"}[5m]) or 0 * up)", + "interval": "", + "legendFormat": "Calls {{node_id}}", + "refId": "B", + "hide": true + }, + { + "datasource": { + "type": "__expr__", + "uid": "__expr__", + "name": "Expression" + }, + "refId": "Hit Rate", + "type": "math", + "hide": false, + "expression": "$A/$B" } ], "title": "Block ID Cache Hit Rate", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Hit rate for the missing block cache", "fieldConfig": { "defaults": { @@ -1491,18 +1267,46 @@ }, "targets": [ { - "exemplar": true, - "expr": "increase(avalanche_${subnet}_vm_rpcchainvm_missing_cache_hit[5m])/(increase(avalanche_${subnet}_vm_rpcchainvm_missing_cache_hit[5m])+increase(avalanche_${subnet}_vm_rpcchainvm_missing_cache_miss[5m]))", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "sum(increase(avalanche_rpcchainvm_missing_cache_get_count{chain=\"${chain_id}\", result=\"hit\"}[5m]) or 0 * up)", "interval": "", - "legendFormat": "Hit Rate", - "refId": "A" + "legendFormat": "Hits {{node_id}}", + "refId": "A", + "hide": true + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "sum(increase(avalanche_rpcchainvm_missing_cache_get_count{chain=\"${chain_id}\"}[5m]) or 0 * up)", + "interval": "", + "legendFormat": "Calls {{node_id}}", + "refId": "B", + "hide": true + }, + { + "refId": "Hit Rate", + "datasource": { + "type": "__expr__", + "uid": "__expr__", + "name": "Expression" + }, + "type": "math", + "expression": "$A/$B" } ], "title": "Missing Block Cache Hit Rate", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Hit rate for the decided block cache", "fieldConfig": { "defaults": { @@ -1575,19 +1379,47 @@ }, "targets": [ { - "exemplar": true, - "expr": "increase(avalanche_${subnet}_vm_rpcchainvm_decided_cache_hit[5m])/(increase(avalanche_${subnet}_vm_rpcchainvm_decided_cache_hit[5m])+increase(avalanche_${subnet}_vm_rpcchainvm_decided_cache_miss[5m]))", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "sum(increase(avalanche_rpcchainvm_decided_cache_get_count{chain=\"${chain_id}\", result=\"hit\"}[5m]) or 0 * up)", "interval": "", - "legendFormat": "Hit Rate", - "refId": "A" + "legendFormat": "Hits {{node_id}}", + "refId": "A", + "hide": true + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "sum(increase(avalanche_rpcchainvm_decided_cache_get_count{chain=\"${chain_id}\"}[5m]) or 0 * up)", + "interval": "", + "legendFormat": "Calls {{node_id}}", + "refId": "B", + "hide": true + }, + { + "refId": "Hit Rate", + "datasource": { + "type": "__expr__", + "uid": "__expr__", + "name": "Expression" + }, + "type": "math", + "expression": "$A/$B" } ], "title": "Decided Cache Hit Rate", "type": "timeseries" }, { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "description": "Hit rate for the unverified block cache", - "datasource": "Prometheus", "fieldConfig": { "defaults": { "color": { @@ -1659,18 +1491,46 @@ }, "targets": [ { - "exemplar": true, - "expr": "increase(avalanche_${subnet}_vm_rpcchainvm_unverified_cache_hit[5m])/(increase(avalanche_${subnet}_vm_rpcchainvm_unverified_cache_hit[5m])+increase(avalanche_${subnet}_vm_rpcchainvm_unverified_cache_miss[5m]))", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "sum(increase(avalanche_rpcchainvm_unverified_cache_get_count{chain=\"${chain_id}\", result=\"hit\"}[5m]) or 0 * up)", "interval": "", - "legendFormat": "Hit Rate", - "refId": "A" + "legendFormat": "Hits {{node_id}}", + "refId": "A", + "hide": true + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "sum(increase(avalanche_rpcchainvm_unverified_cache_get_count{chain=\"${chain_id}\"}[5m]) or 0 * up)", + "interval": "", + "legendFormat": "Calls {{node_id}}", + "refId": "B", + "hide": true + }, + { + "refId": "Hit Rate", + "datasource": { + "type": "__expr__", + "uid": "__expr__", + "name": "Expression" + }, + "type": "math", + "expression": "$A/$B" } ], "title": "Unverified Block Cache Hit Rate", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "fieldConfig": { "defaults": { "color": { @@ -1747,18 +1607,36 @@ "pluginVersion": "8.0.6", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "avalanche_${subnet}_handler_unprocessed_msgs_len", + "expr": "avalanche_handler_sync_unprocessed_msgs_count{chain=\"${chain_id}\", job=\"avalanchego\"}", "interval": "", - "legendFormat": "Pending Messages", + "legendFormat": "{{ op }} {{node_id}}", "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "exemplar": true, + "expr": "avalanche_handler_async_unprocessed_msgs_count{chain=\"${chain_id}\", job=\"avalanchego\"}", + "interval": "", + "legendFormat": "{{ op }} {{node_id}}", + "refId": "B" } ], "title": "Unprocessed Incoming Messages", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "fieldConfig": { "defaults": { "color": { @@ -1820,10 +1698,6 @@ "id": 29, "options": { "legend": { - "calcs": [ - "mean", - "max" - ], "displayMode": "list", "placement": "bottom" }, @@ -1835,10 +1709,14 @@ "pluginVersion": "8.0.6", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "increase(avalanche_${subnet}_handler_expired[1m])", + "expr": "increase(avalanche_handler_expired{chain=\"${chain_id}\", job=\"avalanchego\"}[1m])", "interval": "", - "legendFormat": "Expired", + "legendFormat": "{{ op }} {{node_id}}", "refId": "A" } ], @@ -1854,23 +1732,51 @@ ], "templating": { "list": [ + { + "hide": 0, + "includeAll": false, + "label": "Data Source", + "multi": false, + "name": "datasource", + "options": [], + "query": "prometheus", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, { "current": { "selected": true, "text": "{{ grafana_subnets_dashboard_variables[0].text }}", "value": "{{ grafana_subnets_dashboard_variables[0].value }}" }, - "description": "This is a list of popular/known subnets. Your node may not be syncing these subnets in which case you will se no data.", + "definition": "label_values(chain)", "hide": 0, "includeAll": false, - "label": "Subnet", + "label": "Chain", "multi": false, - "name": "subnet", + "name": "chain_id", "options": {{ grafana_subnets_dashboard_variables | to_nice_json() }}, "query": "{{ grafana_subnets_dashboard_variables[0].text }} : {{ grafana_subnets_dashboard_variables[0].value }}", - "queryValue": "", + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "filters": [], + "hide": 0, + "label": "Filter", + "name": "filter", "skipUrlSync": false, - "type": "custom" + "type": "adhoc" } ] }, diff --git a/files/dashboards/x_chain.json b/files/dashboards/x_chain.json index 1ca5d8c..e96583c 100644 --- a/files/dashboards/x_chain.json +++ b/files/dashboards/x_chain.json @@ -24,21 +24,25 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 0, - "id": 7, + "id": 1, "links": [ { "icon": "external link", + "includeVars": true, + "keepTime": true, "tags": [ "Avalanche" ], "type": "dashboards" } ], - "liveNow": false, + "liveNow": true, "panels": [ { - "datasource": "Prometheus", - "description": "", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "fieldConfig": { "defaults": { "color": { @@ -75,7 +79,6 @@ } }, "mappings": [], - "min": 0, "thresholds": { "mode": "absolute", "steps": [ @@ -103,8 +106,8 @@ "options": { "legend": { "calcs": [ + "min", "mean", - "lastNotNull", "max" ], "displayMode": "list", @@ -119,33 +122,25 @@ "pluginVersion": "8.0.4", "targets": [ { - "datasource": "Prometheus", - "editorMode": "code", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "round(increase(avalanche_X_blks_accepted_count{job=\"avalanchego\"}[1m]))>0", + "expr": "round(increase(avalanche_snowman_blks_accepted_count{chain=\"X\", job=\"avalanchego\"}[1m]))>0", "interval": "", - "legendFormat": "Accepted", - "range": true, + "legendFormat": "Blocks {{node_id}}", "refId": "A" - }, - { - "datasource": "Prometheus", - "editorMode": "code", - "exemplar": true, - "expr": "round(increase(avalanche_X_blks_rejected_count{job=\"avalanchego\"}[1m]))>0", - "hide": true, - "interval": "", - "legendFormat": "Rejected", - "range": true, - "refId": "B" } ], - "title": "Blocks Accepted/Rejected in Last Minute", + "title": "Accepted Blocks in Last Minute", "type": "timeseries" }, { - "datasource": "Prometheus", - "description": "The average time between a block's issuance and acceptance by this node over the last 5 minutes.", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "fieldConfig": { "defaults": { "color": { @@ -157,42 +152,45 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, + "drawStyle": "bars", + "fillOpacity": 100, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, - "lineInterpolation": "smooth", + "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", - "spanNulls": false, + "spanNulls": true, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { - "mode": "line+area" + "mode": "off" } }, "mappings": [], - "min": 0, "thresholds": { "mode": "absolute", "steps": [ { - "color": "transparent", + "color": "green", "value": null + }, + { + "color": "red", + "value": 80 } ] }, - "unit": "ns" + "unit": "short" }, "overrides": [] }, @@ -202,12 +200,12 @@ "x": 12, "y": 0 }, - "id": 23, + "id": 20, "options": { "legend": { "calcs": [ + "min", "mean", - "lastNotNull", "max" ], "displayMode": "list", @@ -222,31 +220,28 @@ "pluginVersion": "8.0.4", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "editorMode": "code", - "expr": "rate(avalanche_X_blks_accepted_sum{job=\"avalanchego\"}[5m]) / rate(avalanche_X_blks_accepted_count{job=\"avalanchego\"}[5m])", + "exemplar": true, + "expr": "round(increase(avalanche_snowman_blks_rejected_count{chain=\"X\", job=\"avalanchego\"}[1m]))>0", "interval": "", - "legendFormat": "Accepted", + "legendFormat": "Blocks {{node_id}}", "range": true, "refId": "A" - }, - { - "datasource": "Prometheus", - "editorMode": "code", - "expr": "rate(avalanche_X_blks_rejected_sum{job=\"avalanchego\"}[5m]) / rate(avalanche_X_blks_rejected_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "Rejected", - "range": true, - "refId": "B" } ], - "title": "Block Acceptance Latency", + "title": "Rejected Blocks in Last Minute", "type": "timeseries" }, { - "datasource": "Prometheus", - "description": "", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "The average time between a block's issuance and acceptance by this node over the last 5 minutes.", "fieldConfig": { "defaults": { "color": { @@ -258,15 +253,15 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, - "drawStyle": "bars", - "fillOpacity": 100, + "drawStyle": "line", + "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, - "lineInterpolation": "linear", + "lineInterpolation": "smooth", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { @@ -293,7 +288,7 @@ } ] }, - "unit": "short" + "unit": "ns" }, "overrides": [] }, @@ -303,12 +298,12 @@ "x": 0, "y": 8 }, - "id": 9, + "id": 22, "options": { "legend": { "calcs": [ + "min", "mean", - "lastNotNull", "max" ], "displayMode": "list", @@ -323,23 +318,25 @@ "pluginVersion": "8.0.4", "targets": [ { - "datasource": "Prometheus", - "editorMode": "code", - "exemplar": true, - "expr": "avalanche_X_blks_processing{job=\"avalanchego\"}>0", - "hide": false, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "rate(avalanche_snowman_blks_accepted_sum{chain=\"X\", job=\"avalanchego\"}[5m]) / rate(avalanche_snowman_blks_accepted_count{chain=\"X\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "Blocks", - "range": true, - "refId": "B" + "legendFormat": "Avg Acceptance Latency {{node_id}}", + "refId": "A" } ], - "title": "Blocks Processing", + "title": "Average Block Acceptance Latency", "type": "timeseries" }, { - "datasource": "Prometheus", - "description": "Percentage of queries sent that we receive a response to. (Average over the last 5 minutes.)", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "The average time between a block's issuance and rejection by this node over the last 5 minutes.", "fieldConfig": { "defaults": { "color": { @@ -352,7 +349,7 @@ "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", - "fillOpacity": 1, + "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, @@ -366,31 +363,30 @@ "type": "linear" }, "showPoints": "never", - "spanNulls": true, + "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { - "mode": "line+area" + "mode": "off" } }, "mappings": [], - "min": 0, "thresholds": { "mode": "absolute", "steps": [ { - "color": "red", + "color": "green", "value": null }, { - "color": "transparent", - "value": 0.9 + "color": "red", + "value": 80 } ] }, - "unit": "short" + "unit": "ns" }, "overrides": [] }, @@ -400,13 +396,13 @@ "x": 12, "y": 8 }, - "id": 11, + "id": 23, "options": { "legend": { "calcs": [ + "min", "mean", - "lastNotNull", - "min" + "max" ], "displayMode": "list", "placement": "bottom", @@ -420,21 +416,24 @@ "pluginVersion": "8.0.4", "targets": [ { - "datasource": "Prometheus", - "exemplar": true, - "expr": "(increase(avalanche_X_handler_chits_count{job=\"avalanchego\"}[5m]) + 1) / (increase(avalanche_X_handler_chits_count{job=\"avalanchego\"}[5m]) + increase(avalanche_X_handler_query_failed_count{job=\"avalanchego\"}[5m]) + 1)", - "instant": false, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "rate(avalanche_snowman_blks_rejected_sum{chain=\"X\", job=\"avalanchego\"}[5m]) / rate(avalanche_snowman_blks_rejected_count{chain=\"X\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "% Successful", + "legendFormat": "Avg Rejection Latency {{node_id}}", "refId": "A" } ], - "title": "Percentage of Successful Queries", + "title": "Average Block Rejection Latency", "type": "timeseries" }, { - "datasource": "Prometheus", - "description": "Measures how much of each second is being spent handling different kinds of messages on the X-Chain.\nThe value for chits, for example, is the number of seconds spent handling chits messages per second.", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "fieldConfig": { "defaults": { "color": { @@ -443,18 +442,18 @@ "custom": { "axisCenteredZero": false, "axisColorMode": "text", - "axisLabel": "seconds/second", + "axisLabel": "Transactions", "axisPlacement": "auto", "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, + "drawStyle": "bars", + "fillOpacity": 100, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, - "lineInterpolation": "smooth", + "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { @@ -467,7 +466,7 @@ "mode": "none" }, "thresholdsStyle": { - "mode": "off" + "mode": "line+area" } }, "mappings": [], @@ -475,34 +474,30 @@ "mode": "absolute", "steps": [ { - "color": "green", + "color": "transparent", "value": null - }, - { - "color": "red", - "value": 80 } ] }, - "unit": "ns" + "unit": "short" }, "overrides": [] }, "gridPos": { - "h": 9, + "h": 8, "w": 12, "x": 0, "y": 16 }, - "id": 5, + "id": 9, "options": { "legend": { "calcs": [ "mean", "max" ], - "displayMode": "table", - "placement": "right", + "displayMode": "list", + "placement": "bottom", "showLegend": true }, "tooltip": { @@ -513,144 +508,25 @@ "pluginVersion": "8.0.4", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "rate(avalanche_X_handler_pull_query_sum{job=\"avalanchego\"}[5m])", + "expr": "avalanche_snowman_blks_processing{chain=\"X\", job=\"avalanchego\"}>0", "interval": "", - "legendFormat": "pull query", + "legendFormat": "Blocks {{node_id}}", "refId": "A" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_push_query_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "push query", - "refId": "B" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_chits_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "chits", - "refId": "C" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_accepted_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "accepted", - "refId": "D" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_get_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get", - "refId": "E" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_put_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "put", - "refId": "F" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_multiput_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "multiput", - "refId": "G" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_get_ancestors_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get ancestors", - "refId": "H" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_get_failed_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get failed", - "refId": "I" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_query_failed_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "query failed", - "refId": "J" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_get_accepted_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get accepted", - "refId": "K" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_get_ancestors_failed_sum{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get ancestors failed", - "refId": "L" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_app_request_sum{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app request", - "refId": "M" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_app_request_failed_sum{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app request failed", - "refId": "N" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_app_response_sum{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app response", - "refId": "O" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_app_gossip_sum{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app gossip", - "refId": "P" } ], - "title": "Message Handling Time (Total)", + "title": "Processing Blocks", "type": "timeseries" }, { - "datasource": "Prometheus", - "description": "Measures how long each kind of request on the X-Chain takes to handle.\nThe value for chits, for example, is how long, in seconds, it takes to handle a chits message.", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "fieldConfig": { "defaults": { "color": { @@ -659,11 +535,11 @@ "custom": { "axisCenteredZero": false, "axisColorMode": "text", - "axisLabel": "seconds", + "axisLabel": "Incomplete Polls", "axisPlacement": "auto", "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, + "drawStyle": "bars", + "fillOpacity": 100, "gradientMode": "none", "hideFrom": { "legend": false, @@ -677,13 +553,13 @@ "type": "linear" }, "showPoints": "never", - "spanNulls": true, + "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { - "mode": "off" + "mode": "line+area" } }, "mappings": [], @@ -691,34 +567,30 @@ "mode": "absolute", "steps": [ { - "color": "green", + "color": "transparent", "value": null - }, - { - "color": "red", - "value": 80 } ] }, - "unit": "ns" + "unit": "short" }, "overrides": [] }, "gridPos": { - "h": 9, + "h": 8, "w": 12, "x": 12, "y": 16 }, - "id": 7, + "id": 39, "options": { "legend": { "calcs": [ "mean", "max" ], - "displayMode": "table", - "placement": "right", + "displayMode": "list", + "placement": "bottom", "showLegend": true }, "tooltip": { @@ -729,144 +601,26 @@ "pluginVersion": "8.0.4", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "rate(avalanche_X_handler_pull_query_sum{job=\"avalanchego\"}[5m])/rate(avalanche_X_handler_pull_query_count{job=\"avalanchego\"}[5m])", + "expr": "avalanche_snowman_polls{chain=\"X\"} > 0", "interval": "", - "legendFormat": "pull query", + "legendFormat": "Polls {{node_id}}", "refId": "A" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_push_query_sum{job=\"avalanchego\"}[5m])/rate(avalanche_X_handler_push_query_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "push query", - "refId": "B" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_chits_sum{job=\"avalanchego\"}[5m])/rate(avalanche_X_handler_chits_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "chits", - "refId": "C" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_accepted_sum{job=\"avalanchego\"}[5m])/rate(avalanche_X_handler_accepted_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "accepted", - "refId": "D" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_get_sum{job=\"avalanchego\"}[5m])/rate(avalanche_X_handler_get_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get", - "refId": "E" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_put_sum{job=\"avalanchego\"}[5m])/rate(avalanche_X_handler_put_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "put", - "refId": "F" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_multiput_sum{job=\"avalanchego\"}[5m])/rate(avalanche_X_handler_multi_put_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "multiput", - "refId": "G" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_get_ancestors_sum{job=\"avalanchego\"}[5m])/rate(avalanche_X_handler_get_ancestors_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get ancestors", - "refId": "H" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_get_failed_sum{job=\"avalanchego\"}[5m])/rate(avalanche_X_handler_get_failed_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get failed", - "refId": "I" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_query_failed_sum{job=\"avalanchego\"}[5m])/rate(avalanche_X_handler_query_failed_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "query failed", - "refId": "J" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_get_accepted_sum{job=\"avalanchego\"}[5m])/rate(avalanche_X_handler_get_accepted_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get accepted", - "refId": "K" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_get_ancestors_failed_sum{job=\"avalanchego\"}[5m])/rate(avalanche_X_handler_get_ancestors_failed_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get ancestors failed", - "refId": "L" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_app_request_sum{job=\"avalanchego\"}[5m])/rate(avalanche_X_handler_app_request_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app request", - "refId": "M" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_app_request_failed_sum{job=\"avalanchego\"}[5m])/rate(avalanche_X_handler_app_request_failed_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app request failed", - "refId": "N" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_app_gossip_sum{job=\"avalanchego\"}[5m])/rate(avalanche_X_handler_app_gossip_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app gossip", - "refId": "O" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_app_response_sum{job=\"avalanchego\"}[5m])/rate(avalanche_X_handler_app_response_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app response", - "refId": "P" } ], - "title": "Message Handling Time", + "title": "Incomplete Polls", "type": "timeseries" }, { - "datasource": "Prometheus", - "description": "The total stake of validators currently \"benched\" due to poor query responsiveness. Queries to these validators will immediately timeout until they are removed from the \"bench.\"", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "Measures how much of each second is being spent handling different kinds of messages on the X-Chain.\nThe value for chits, for example, is the number of seconds spent handling chits messages per second, over the last 30 seconds.", "fieldConfig": { "defaults": { "color": { @@ -903,7 +657,6 @@ } }, "mappings": [], - "min": 0, "thresholds": { "mode": "absolute", "steps": [ @@ -917,7 +670,7 @@ } ] }, - "unit": "short" + "unit": "ns" }, "overrides": [] }, @@ -925,17 +678,16 @@ "h": 9, "w": 12, "x": 0, - "y": 25 + "y": 24 }, - "id": 25, + "id": 5, "options": { "legend": { "calcs": [ "mean", - "lastNotNull", "max" ], - "displayMode": "list", + "displayMode": "table", "placement": "bottom", "showLegend": true }, @@ -947,20 +699,26 @@ "pluginVersion": "8.0.4", "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "avg_over_time(avalanche_X_benchlist_benched_weight{job=\"avalanchego\"}[15m]) / 10^9", + "expr": "rate(avalanche_handler_message_handling_time{chain=\"X\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "AVAX Benched", + "legendFormat": "{{ op }} {{node_id}}", "refId": "A" } ], - "title": "AVAX Benched", + "title": "Message Handling Time (Total)", "type": "timeseries" }, { - "datasource": "Prometheus", - "description": "Measures how many of each kind of message are received per second on the X-Chain.", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "Percentage of queries for which we receive chits on time.", "fieldConfig": { "defaults": { "color": { @@ -969,8 +727,9 @@ "custom": { "axisCenteredZero": false, "axisColorMode": "text", - "axisLabel": "Messages / Second", + "axisLabel": "", "axisPlacement": "auto", + "axisSoftMin": 0, "barAlignment": 0, "drawStyle": "line", "fillOpacity": 0, @@ -993,42 +752,44 @@ "mode": "none" }, "thresholdsStyle": { - "mode": "off" + "mode": "line+area" } }, "mappings": [], + "min": 0, "thresholds": { "mode": "absolute", "steps": [ { - "color": "green", + "color": "red", "value": null }, { - "color": "red", - "value": 80 + "color": "transparent", + "value": 0.8 } ] }, - "unit": "short" + "unit": "percentunit" }, "overrides": [] }, "gridPos": { - "h": 9, + "h": 8, "w": 12, "x": 12, - "y": 25 + "y": 24 }, - "id": 6, + "id": 11, "options": { "legend": { "calcs": [ + "min", "mean", "max" ], - "displayMode": "table", - "placement": "right", + "displayMode": "list", + "placement": "bottom", "showLegend": true }, "tooltip": { @@ -1039,152 +800,244 @@ "pluginVersion": "8.0.4", "targets": [ { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_pull_query_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "pull query", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "max(increase(avalanche_handler_messages{chain=\"X\", op=\"chits\", job=\"avalanchego\"}[5m]))", + "hide": true, "refId": "A" }, { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_push_query_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "push query", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "expr": "max(increase(avalanche_handler_messages{chain=\"X\", op=\"query_failed\", job=\"avalanchego\"}[5m]))", + "hide": true, "refId": "B" }, { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_chits_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "chits", - "refId": "C" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_accepted_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "accepted", - "refId": "D" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_get_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get", - "refId": "E" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_put_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "put", - "refId": "F" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_multi_put_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "multiput", - "refId": "G" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_get_ancestors_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get ancestors", - "refId": "H" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_get_failed_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get failed", - "refId": "I" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_query_failed_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "query failed", - "refId": "J" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_get_accepted_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get accepted", - "refId": "K" - }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_get_ancestors_failed_count{job=\"avalanchego\"}[5m])", - "interval": "", - "legendFormat": "get ancestors failed", - "refId": "L" + "datasource": { + "name": "Expression", + "type": "__expr__" + }, + "expression": "($A + 1) / ($A + $B + 1)", + "refId": "% Successful", + "type": "math" + } + ], + "title": "Percentage of Successful Queries", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "Measures how long each kind of request on the X-Chain takes to handle.\nThe value for chits, for example, is how long, in seconds, it takes to handle a chits message.", + "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": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "ns" }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_chits_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "chits", - "refId": "M" + "overrides": [] + }, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 32 + }, + "id": 7, + "options": { + "legend": { + "calcs": [ + "mean", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "8.0.4", + "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "rate(avalanche_X_handler_app_request_count{job=\"avalanchego\"}[5m])", - "hide": false, + "expr": "rate(avalanche_handler_message_handling_time{chain=\"X\", job=\"avalanchego\"}[5m])/rate(avalanche_handler_messages{chain=\"X\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "app request", - "refId": "N" + "legendFormat": "{{ op }} {{node_id}}", + "refId": "A" + } + ], + "title": "Message Handling Time (per Message)", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "bars", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" }, - { - "datasource": "Prometheus", - "exemplar": true, - "expr": "rate(avalanche_X_handler_app_request_failed_count{job=\"avalanchego\"}[5m])", - "hide": false, - "interval": "", - "legendFormat": "app request failed", - "refId": "O" + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 6, + "x": 0, + "y": 33 + }, + "id": 19, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "showLegend": true }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "8.0.6", + "targets": [ { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "rate(avalanche_X_handler_app_response_count{job=\"avalanchego\"}[5m])", - "hide": false, + "expr": "avalanche_handler_sync_unprocessed_msgs_count{chain=\"X\"}", "interval": "", - "legendFormat": "app response", - "refId": "P" + "legendFormat": "{{ op }} {{node_id}}", + "refId": "A" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "rate(avalanche_X_handler_app_gossip_count{job=\"avalanchego\"}[5m])", - "hide": false, + "expr": "avalanche_handler_async_unprocessed_msgs_count{chain=\"X\"}", "interval": "", - "legendFormat": "app gossip", - "refId": "Q" + "legendFormat": "{{ op }} {{node_id}}", + "refId": "B" } ], - "title": "Messages Received per Second", + "title": "Unprocessed Incoming Messages", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "fieldConfig": { "defaults": { "color": { @@ -1196,7 +1049,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, - "drawStyle": "line", + "drawStyle": "bars", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { @@ -1210,8 +1063,8 @@ "scaleDistribution": { "type": "linear" }, - "showPoints": "auto", - "spanNulls": false, + "showPoints": "never", + "spanNulls": true, "stacking": { "group": "A", "mode": "none" @@ -1221,6 +1074,7 @@ } }, "mappings": [], + "min": 0, "thresholds": { "mode": "absolute", "steps": [ @@ -1233,20 +1087,20 @@ "value": 80 } ] - } + }, + "unit": "short" }, "overrides": [] }, "gridPos": { - "h": 7, - "w": 8, - "x": 0, - "y": 34 + "h": 8, + "w": 6, + "x": 6, + "y": 33 }, - "id": 45, + "id": 29, "options": { "legend": { - "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true @@ -1256,23 +1110,29 @@ "sort": "none" } }, + "pluginVersion": "8.0.6", "targets": [ { - "datasource": "Prometheus", - "editorMode": "code", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "increase(avalanche_X_vm_avalanche_utxo_cache_hit[5m])/(increase(avalanche_X_vm_avalanche_utxo_cache_hit[5m])+increase(avalanche_X_vm_avalanche_utxo_cache_miss[5m]))", + "expr": "increase(avalanche_handler_expired{chain=\"X\", job=\"avalanchego\"}[1m]) or 0 * up", "interval": "", - "legendFormat": "Hit Rate", - "range": true, + "legendFormat": "{{ op }} {{node_id}}", "refId": "A" } ], - "title": "UTXO Cache Hit Rate", + "title": "Incoming Messages Expired in Last Minute", "type": "timeseries" }, { - "datasource": "Prometheus", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "The total stake of validators currently \"benched\" due to poor query responsiveness. Queries to these validators will immediately timeout until they are removed from the \"bench.\"", "fieldConfig": { "defaults": { "color": { @@ -1284,15 +1144,15 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, - "drawStyle": "bars", - "fillOpacity": 10, + "drawStyle": "line", + "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, - "lineInterpolation": "linear", + "lineInterpolation": "smooth", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { @@ -1323,17 +1183,17 @@ } ] }, - "unit": "short" + "unit": "percent" }, "overrides": [] }, "gridPos": { - "h": 7, - "w": 8, - "x": 8, - "y": 34 + "h": 9, + "w": 12, + "x": 0, + "y": 41 }, - "id": 43, + "id": 25, "options": { "legend": { "calcs": [ @@ -1352,22 +1212,26 @@ "pluginVersion": "8.0.4", "targets": [ { - "datasource": "Prometheus", - "editorMode": "code", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, "exemplar": true, - "expr": "avalanche_X_handler_unprocessed_msgs_len", + "expr": "avg_over_time(avalanche_benchlist_benched_weight{chain=\"X\", job=\"avalanchego\"}[15m]) / 10^9", "interval": "", - "legendFormat": "Pending Messages", - "range": true, + "legendFormat": "AVAX Benched {{node_id}}", "refId": "A" } ], - "title": "Unprocessed Incoming Messages", + "title": "AVAX Benched", "type": "timeseries" }, { - "datasource": "Prometheus", - "description": "", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "Measures how many of each kind of message are received per second on the X-Chain.", "fieldConfig": { "defaults": { "color": { @@ -1376,18 +1240,18 @@ "custom": { "axisCenteredZero": false, "axisColorMode": "text", - "axisLabel": "", + "axisLabel": "Messages / Second", "axisPlacement": "auto", "barAlignment": 0, - "drawStyle": "bars", - "fillOpacity": 10, + "drawStyle": "line", + "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, - "lineInterpolation": "linear", + "lineInterpolation": "smooth", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { @@ -1404,7 +1268,6 @@ } }, "mappings": [], - "min": 0, "thresholds": { "mode": "absolute", "steps": [ @@ -1423,19 +1286,19 @@ "overrides": [] }, "gridPos": { - "h": 7, - "w": 8, - "x": 16, - "y": 34 + "h": 9, + "w": 12, + "x": 12, + "y": 41 }, - "id": 33, + "id": 6, "options": { "legend": { "calcs": [ "mean", "max" ], - "displayMode": "list", + "displayMode": "table", "placement": "bottom", "showLegend": true }, @@ -1447,14 +1310,18 @@ "pluginVersion": "8.0.4", "targets": [ { - "datasource": "Prometheus", - "expr": "increase(avalanche_X_handler_expired[1m])", + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "exemplar": true, + "expr": "rate(avalanche_handler_messages{chain=\"X\", job=\"avalanchego\"}[5m])", "interval": "", - "legendFormat": "Expired", + "legendFormat": "{{ op }} {{node_id}}", "refId": "A" } ], - "title": "Incoming Messages Expired in Last Minute", + "title": "Messages Received per Second", "type": "timeseries" } ], @@ -1465,10 +1332,37 @@ "Avalanche" ], "templating": { - "list": [] + "list": [ + { + "hide": 0, + "includeAll": false, + "label": "Data Source", + "multi": false, + "name": "datasource", + "options": [], + "query": "prometheus", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "filters": [], + "hide": 0, + "label": "Filter", + "name": "filter", + "skipUrlSync": false, + "type": "adhoc" + } + ] }, "time": { - "from": "now-24h", + "from": "now-6h", "to": "now" }, "timepicker": { @@ -1488,6 +1382,6 @@ "timezone": "", "title": "X-Chain", "uid": "ceRH2Am7z", - "version": 33, + "version": 52, "weekStart": "" } diff --git a/requirements.yml b/requirements.yml index ad8c8eb..886e6cd 100644 --- a/requirements.yml +++ b/requirements.yml @@ -3,9 +3,9 @@ --- collections: - name: prometheus.prometheus - version: 0.4.0 + version: 0.23.0 - name: grafana.grafana - version: 2.2.5 + version: 5.7.0 roles: - name: geerlingguy.docker diff --git a/roles/evm/blockscout/templates/default.conf.template.j2 b/roles/evm/blockscout/templates/default.conf.template.j2 index ef69394..a8ce9bd 100644 --- a/roles/evm/blockscout/templates/default.conf.template.j2 +++ b/roles/evm/blockscout/templates/default.conf.template.j2 @@ -76,7 +76,7 @@ server { } } {% endif %} - location ~ ^/(api|socket|sitemap.xml|auth/auth0|auth/auth0/callback|auth/logout) { + location ~ ^/(api|socket|sitemap.xml|auth/auth0|auth/auth0/callback|auth/logout|metrics) { proxy_pass ${BACK_PROXY_PASS}; proxy_http_version 1.1; proxy_set_header Host "$host";