{ "__inputs": [], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "8.0.0" }, { "type": "panel", "id": "heatmap", "name": "Heatmap", "version": "" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" }, { "type": "panel", "id": "timeseries", "name": "Time series", "version": "" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "editable": true, "gnetId": 14741, "graphTooltip": 0, "id": null, "iteration": 1626702715584, "links": [], "panels": [ { "collapsed": true, "datasource": null, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 0 }, "id": 27, "panels": [ { "datasource": "${source}", "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": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "binBps" }, "overrides": [] }, "gridPos": { "h": 7, "w": 8, "x": 0, "y": 1 }, "id": 29, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom" }, "tooltip": { "mode": "single" } }, "targets": [ { "exemplar": true, "expr": "sum(rate(fly_instance_net_sent_bytes{device=\"eth0\",app=~\"^$app$\",region=~\"^$region$\",host=~\"^$host$\"}[$__rate_interval]))", "interval": "30s", "legendFormat": "sent", "refId": "A" }, { "exemplar": true, "expr": "sum(rate(fly_instance_net_recv_bytes{device=\"eth0\",app=~\"^$app$\",region=~\"^$region$\",host=~\"^$host$\"}[$__rate_interval]))", "hide": false, "interval": "30s", "legendFormat": "recv", "refId": "B" } ], "title": "Data Transfer", "type": "timeseries" }, { "datasource": "${source}", "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": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [] }, "gridPos": { "h": 7, "w": 8, "x": 8, "y": 1 }, "id": 31, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom" }, "tooltip": { "mode": "single" } }, "targets": [ { "exemplar": true, "expr": "max(max_over_time(fly_instance_load_average{minutes=\"1\",app=~\"^$app$\",region=~\"^$region$\",host=~\"^$host$\"}[$__rate_interval]))", "interval": "30s", "legendFormat": "1m", "refId": "A" }, { "exemplar": true, "expr": "max(max_over_time(fly_instance_load_average{minutes=\"5\",app=~\"^$app$\",region=~\"^$region$\",host=~\"^$host$\"}[$__rate_interval]))", "hide": false, "interval": "30s", "legendFormat": "5m", "refId": "B" }, { "exemplar": true, "expr": "max(max_over_time(fly_instance_load_average{minutes=\"15\",app=~\"^$app$\",region=~\"^$region$\",host=~\"^$host$\"}[$__rate_interval]))", "hide": false, "interval": "30s", "legendFormat": "15m", "refId": "C" } ], "title": "Load Average", "type": "timeseries" }, { "datasource": "${source}", "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 }, { "color": "red", "value": 80 } ] }, "unit": "bytes" }, "overrides": [] }, "gridPos": { "h": 7, "w": 8, "x": 16, "y": 1 }, "id": 32, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom" }, "tooltip": { "mode": "single" } }, "targets": [ { "exemplar": true, "expr": "avg(fly_instance_memory_mem_total{app=~\"^$app$\",region=~\"^$region$\",host=~\"^$host$\"})", "interval": "", "legendFormat": "total", "refId": "A" }, { "exemplar": true, "expr": "avg(fly_instance_memory_mem_total{app=~\"^$app$\",region=~\"^$region$\",host=~\"^$host$\"}) - avg(fly_instance_memory_mem_free{app=~\"^$app$\",region=~\"^$region$\",host=~\"^$host$\"})", "hide": false, "interval": "", "legendFormat": "used", "refId": "B" } ], "title": "Memory Usage", "type": "timeseries" }, { "datasource": "${source}", "description": "", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "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": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "percent" }, "overrides": [] }, "gridPos": { "h": 7, "w": 12, "x": 0, "y": 8 }, "id": 34, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom" }, "tooltip": { "mode": "multi" } }, "targets": [ { "exemplar": true, "expr": "sum(irate(fly_instance_cpu{mode=\"system\",app=~\"^$app$\",region=~\"^$region$\",host=~\"^$host$\"}[$__rate_interval])) * 100", "interval": "", "intervalFactor": 1, "legendFormat": "busy", "refId": "A" }, { "exemplar": true, "expr": "sum(irate(fly_instance_cpu{mode=\"user\",app=~\"^$app$\",region=~\"^$region$\",host=~\"^$host$\"}[$__rate_interval])) * 100", "hide": false, "interval": "", "legendFormat": "user", "refId": "B" }, { "exemplar": true, "expr": "sum(irate(fly_instance_cpu{mode=\"iowait\",app=~\"^$app$\",region=~\"^$region$\",host=~\"^$host$\"}[$__rate_interval])) * 100", "hide": false, "interval": "", "legendFormat": "iowait", "refId": "C" }, { "exemplar": true, "expr": "sum(irate(fly_instance_cpu{mode=~\".*irq\",app=~\"^$app$\",region=~\"^$region$\",host=~\"^$host$\"}[$__rate_interval])) * 100", "hide": false, "interval": "", "legendFormat": "irqs", "refId": "D" }, { "exemplar": true, "expr": "sum(irate(fly_instance_cpu{mode!='idle',mode!='user',mode!='system',mode!='iowait',mode!='irq',mode!='softirq',app=~\"^$app$\",region=~\"^$region$\",host=~\"^$host$\"}[$__rate_interval])) * 100", "hide": false, "interval": "", "legendFormat": "other", "refId": "E" }, { "exemplar": true, "expr": "sum(irate(fly_instance_cpu{mode=\"idle\",app=~\"^$app$\",region=~\"^$region$\",host=~\"^$host$\"}[$__rate_interval])) * 100", "hide": false, "interval": "", "legendFormat": "idle", "refId": "F" } ], "title": "CPU Time", "type": "timeseries" } ], "title": "Machines", "type": "row" }, { "collapsed": true, "datasource": null, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 1 }, "id": 20, "panels": [ { "datasource": "${source}", "fieldConfig": { "defaults": { "color": { "fixedColor": "blue", "mode": "fixed" }, "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": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [] }, "gridPos": { "h": 6, "w": 12, "x": 0, "y": 2 }, "id": 22, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom" }, "tooltip": { "mode": "single" } }, "targets": [ { "exemplar": true, "expr": "sum(rate(fly_edge_tcp_connects_count{app=~\"^$app$\",region=~\"^$region$\",host=~\"^$host$\"}[$__rate_interval]))", "interval": "", "legendFormat": "connections", "refId": "A" } ], "title": "Edge connections per second", "type": "timeseries" }, { "datasource": "${source}", "fieldConfig": { "defaults": { "color": { "fixedColor": "blue", "mode": "fixed" }, "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": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [] }, "gridPos": { "h": 6, "w": 12, "x": 12, "y": 2 }, "id": 24, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom" }, "tooltip": { "mode": "single" } }, "targets": [ { "exemplar": true, "expr": "sum(rate(fly_app_tcp_connects_count{app=~\"^$app$\",region=~\"^$region$\",host=~\"^$host$\"}[$__rate_interval]))", "interval": "", "legendFormat": "connections", "refId": "A" } ], "title": "App connections per second", "type": "timeseries" }, { "datasource": "${source}", "fieldConfig": { "defaults": { "color": { "fixedColor": "red", "mode": "fixed" }, "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": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [] }, "gridPos": { "h": 6, "w": 12, "x": 0, "y": 8 }, "id": 23, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom" }, "tooltip": { "mode": "single" } }, "targets": [ { "exemplar": true, "expr": "sum(rate(fly_edge_tcp_disconnects_count{app=~\"^$app$\",region=~\"^$region$\",host=~\"^$host$\"}[$__rate_interval]))", "interval": "", "legendFormat": "disconnections", "refId": "A" } ], "title": "Edge disconnections per second", "type": "timeseries" }, { "datasource": "${source}", "fieldConfig": { "defaults": { "color": { "fixedColor": "red", "mode": "fixed" }, "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": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [] }, "gridPos": { "h": 6, "w": 12, "x": 12, "y": 8 }, "id": 25, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom" }, "tooltip": { "mode": "single" } }, "targets": [ { "exemplar": true, "expr": "sum(rate(fly_app_tcp_disconnects_count{app=~\"^$app$\",region=~\"^$region$\",host=~\"^$host$\"}[$__rate_interval]))", "interval": "", "legendFormat": "disconnections", "refId": "A" } ], "title": "App disconnections per second", "type": "timeseries" } ], "title": "TCP", "type": "row" }, { "collapsed": true, "datasource": null, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 2 }, "id": 9, "panels": [ { "cards": { "cardPadding": null, "cardRound": null }, "color": { "cardColor": "#b4ff00", "colorScale": "sqrt", "colorScheme": "interpolateSpectral", "exponent": 0.5, "mode": "spectrum" }, "dataFormat": "tsbuckets", "datasource": "${source}", "gridPos": { "h": 7, "w": 8, "x": 0, "y": 3 }, "heatmap": {}, "hideZeroBuckets": true, "highlightCards": true, "id": 11, "legend": { "show": true }, "pluginVersion": "7.3.4", "reverseYBuckets": false, "targets": [ { "exemplar": true, "expr": "sum(increase(fly_edge_tls_handshake_time_seconds_bucket{app=~\"^$app$\",region=~\"^$region$\",host=~\"^$host$\"}[$__interval])) by (le)", "format": "heatmap", "interval": "1m", "legendFormat": "{{le}}", "refId": "A" } ], "timeFrom": null, "timeShift": null, "title": "Handshake times (bucketed)", "tooltip": { "show": true, "showHistogram": false }, "type": "heatmap", "xAxis": { "show": true }, "xBucketNumber": null, "xBucketSize": null, "yAxis": { "decimals": null, "format": "s", "logBase": 1, "max": null, "min": null, "show": true, "splitFactor": null }, "yBucketBound": "auto", "yBucketNumber": null, "yBucketSize": null }, { "datasource": "${source}", "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": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [] }, "gridPos": { "h": 7, "w": 8, "x": 8, "y": 3 }, "id": 13, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom" }, "tooltip": { "mode": "single" } }, "targets": [ { "exemplar": true, "expr": "sum(rate(fly_edge_tls_handshake_time_seconds_count{app=~\"^$app$\",region=~\"^$region$\", host=~\"^$host$\"}[$__rate_interval]))", "interval": "", "legendFormat": "handshakes per second", "refId": "A" } ], "title": "Handshakes per second", "type": "timeseries" }, { "cards": { "cardPadding": null, "cardRound": null }, "color": { "cardColor": "#b4ff00", "colorScale": "sqrt", "colorScheme": "interpolateSpectral", "exponent": 0.5, "mode": "spectrum" }, "dataFormat": "tsbuckets", "datasource": "${source}", "gridPos": { "h": 7, "w": 8, "x": 16, "y": 3 }, "heatmap": {}, "hideZeroBuckets": false, "highlightCards": true, "id": 14, "legend": { "show": false }, "pluginVersion": "7.3.4", "reverseYBuckets": false, "targets": [ { "exemplar": true, "expr": "sum(increase(fly_edge_tls_queue_time_seconds_bucket{app=~\"^$app$\",region=~\"^$region$\",host=~\"^$host$\"}[$__interval])) by (le) > 0", "format": "heatmap", "interval": "1m", "legendFormat": "{{le}}", "refId": "A" } ], "timeFrom": null, "timeShift": null, "title": "Handshake queue times (bucketed)", "tooltip": { "show": true, "showHistogram": false }, "type": "heatmap", "xAxis": { "show": true }, "xBucketNumber": null, "xBucketSize": null, "yAxis": { "decimals": null, "format": "s", "logBase": 1, "max": null, "min": null, "show": true, "splitFactor": null }, "yBucketBound": "auto", "yBucketNumber": null, "yBucketSize": null }, { "datasource": "${source}", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "bars", "fillOpacity": 100, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 0, "pointSize": 1, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Value" }, "properties": [ { "id": "displayName", "value": "none" } ] } ] }, "gridPos": { "h": 6, "w": 10, "x": 0, "y": 10 }, "id": 16, "options": { "legend": { "calcs": [ "max" ], "displayMode": "table", "placement": "bottom" }, "tooltip": { "mode": "single" } }, "targets": [ { "exemplar": true, "expr": "sum(increase(fly_edge_tls_handshake_errors{app=~\"^$app$\",region=~\"^$region$\",host=~\"^$host$\"})) by (servername) > 0", "interval": "", "legendFormat": "{{servername}}", "refId": "A" } ], "title": "Handshake errors (increase)", "type": "timeseries" }, { "datasource": "${source}", "description": "Servers have a limit on how many TLS handshakes they will process concurrently per servername indicator. When this limit is reached, we queue handshakes up to a point. This chart shows how often the limit was reached during an interval.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "bars", "fillOpacity": 100, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 0, "pointSize": 1, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Value" }, "properties": [ { "id": "displayName", "value": "none" } ] } ] }, "gridPos": { "h": 6, "w": 7, "x": 10, "y": 10 }, "id": 17, "options": { "legend": { "calcs": [ "max" ], "displayMode": "table", "placement": "bottom" }, "tooltip": { "mode": "single" } }, "targets": [ { "exemplar": true, "expr": "sum(increase(fly_edge_tls_sni_limit_reached_count{app=~\"^$app$\",region=~\"^$region$\",host=~\"^$host$\"})) by (servername) > 0", "interval": "", "legendFormat": "{{servername}}", "refId": "A" } ], "title": "SNI limit reached", "type": "timeseries" }, { "datasource": "${source}", "description": "Servers have a limit on how many TLS handshakes they will process concurrently per IP block. When this limit is reached, we queue handshakes up to a point. This chart shows how often the limit was reached during an interval.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "bars", "fillOpacity": 100, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 0, "pointSize": 1, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Value" }, "properties": [ { "id": "displayName", "value": "none" } ] } ] }, "gridPos": { "h": 6, "w": 7, "x": 17, "y": 10 }, "id": 18, "options": { "legend": { "calcs": [ "max" ], "displayMode": "table", "placement": "bottom" }, "tooltip": { "mode": "single" } }, "targets": [ { "exemplar": true, "expr": "sum(increase(fly_edge_tls_ip_limit_reached_count{app=~\"^$app$\",region=~\"^$region$\",host=~\"^$host$\"})) by (ip) > 0", "interval": "", "legendFormat": "{{ip}}", "refId": "A" } ], "title": "IP limit reached", "type": "timeseries" } ], "title": "TLS", "type": "row" }, { "collapsed": true, "datasource": null, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 3 }, "id": 2, "panels": [ { "datasource": "${source}", "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": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [ { "matcher": { "id": "byRegexp", "options": "/^2/" }, "properties": [ { "id": "color", "value": { "fixedColor": "green", "mode": "fixed" } } ] }, { "matcher": { "id": "byRegexp", "options": "/^3/" }, "properties": [ { "id": "color", "value": { "fixedColor": "blue", "mode": "fixed" } } ] }, { "matcher": { "id": "byRegexp", "options": "/^4/" }, "properties": [ { "id": "color", "value": { "fixedColor": "yellow", "mode": "fixed" } } ] }, { "matcher": { "id": "byRegexp", "options": "/^5/" }, "properties": [ { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } } ] }, { "matcher": { "id": "byRegexp", "options": "/^1/" }, "properties": [ { "id": "color", "value": { "fixedColor": "purple", "mode": "fixed" } } ] } ] }, "gridPos": { "h": 8, "w": 24, "x": 0, "y": 4 }, "id": 4, "options": { "legend": { "calcs": [ "last", "max" ], "displayMode": "table", "placement": "right" }, "tooltip": { "mode": "single" } }, "targets": [ { "exemplar": true, "expr": "sum(rate(fly_edge_http_responses_count{app=~\"^$app$\",region=~\"^$region$\",host=~\"^$host$\"})[$__rate_interval]) by (status)", "interval": "", "legendFormat": "{{status}}", "refId": "A" } ], "title": "Edge Responses Per Second", "type": "timeseries" }, { "cards": { "cardPadding": null, "cardRound": null }, "color": { "cardColor": "#b4ff00", "colorScale": "sqrt", "colorScheme": "interpolateSpectral", "exponent": 0.5, "mode": "spectrum" }, "dataFormat": "tsbuckets", "datasource": "${source}", "gridPos": { "h": 7, "w": 8, "x": 0, "y": 12 }, "heatmap": {}, "hideZeroBuckets": true, "highlightCards": true, "id": 6, "legend": { "show": true }, "pluginVersion": "7.3.4", "reverseYBuckets": false, "targets": [ { "exemplar": true, "expr": "sum(increase(fly_edge_http_response_time_seconds_bucket{app=~\"^$app$\",region=~\"^$region$\",host=~\"^$host$\"}[$__interval])) by (le)", "format": "heatmap", "interval": "1m", "legendFormat": "{{le}}", "refId": "A" } ], "timeFrom": null, "timeShift": null, "title": "Edge Response Times", "tooltip": { "show": true, "showHistogram": false }, "type": "heatmap", "xAxis": { "show": true }, "xBucketNumber": null, "xBucketSize": null, "yAxis": { "decimals": null, "format": "s", "logBase": 1, "max": null, "min": null, "show": true, "splitFactor": null }, "yBucketBound": "auto", "yBucketNumber": null, "yBucketSize": null }, { "cards": { "cardPadding": null, "cardRound": null }, "color": { "cardColor": "#b4ff00", "colorScale": "sqrt", "colorScheme": "interpolateSpectral", "exponent": 0.5, "mode": "spectrum" }, "dataFormat": "tsbuckets", "datasource": "${source}", "gridPos": { "h": 7, "w": 8, "x": 8, "y": 12 }, "heatmap": {}, "hideZeroBuckets": true, "highlightCards": true, "id": 7, "legend": { "show": true }, "pluginVersion": "7.3.4", "reverseYBuckets": false, "targets": [ { "exemplar": true, "expr": "sum(increase(fly_app_http_response_time_seconds_bucket{app=~\"^$app$\",region=~\"^$region$\",host=~\"^$host$\"}[$__interval])) by (le) > 0", "format": "heatmap", "interval": "1m", "legendFormat": "{{le}}", "refId": "A" } ], "timeFrom": null, "timeShift": null, "title": "App Response Times", "tooltip": { "show": true, "showHistogram": false }, "type": "heatmap", "xAxis": { "show": true }, "xBucketNumber": null, "xBucketSize": null, "yAxis": { "decimals": null, "format": "s", "logBase": 1, "max": null, "min": null, "show": true, "splitFactor": null }, "yBucketBound": "auto", "yBucketNumber": null, "yBucketSize": null } ], "title": "HTTP", "type": "row" } ], "refresh": "1m", "schemaVersion": 30, "style": "dark", "tags": [], "templating": { "list": [ { "current": { "selected": false, "text": "Fly Web Org", "value": "Fly Web Org" }, "description": null, "error": null, "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "source", "options": [], "query": "prometheus", "queryValue": "", "refresh": 1, "regex": "", "skipUrlSync": false, "type": "datasource" }, { "allValue": ".*", "current": {}, "datasource": "${source}", "definition": "label_values(region)", "description": null, "error": null, "hide": 0, "includeAll": true, "label": null, "multi": false, "name": "region", "options": [], "query": { "query": "label_values(region)", "refId": "StandardVariableQuery" }, "refresh": 2, "regex": "", "skipUrlSync": false, "sort": 1, "type": "query" }, { "allValue": ".*", "current": {}, "datasource": "${source}", "definition": "label_values({region=~\"^$region$\"}, host)", "description": null, "error": null, "hide": 0, "includeAll": true, "label": null, "multi": false, "name": "host", "options": [], "query": { "query": "label_values({region=~\"^$region$\"}, host)", "refId": "StandardVariableQuery" }, "refresh": 2, "regex": "", "skipUrlSync": false, "sort": 0, "type": "query" }, { "allValue": ".*", "current": {}, "datasource": "${source}", "definition": "label_values(app)", "description": null, "error": null, "hide": 0, "includeAll": true, "label": "", "multi": false, "name": "app", "options": [], "query": { "query": "label_values(app)", "refId": "StandardVariableQuery" }, "refresh": 2, "regex": "", "skipUrlSync": false, "sort": 1, "type": "query" } ] }, "time": { "from": "now-6h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "Fly App", "uid": "eiRE4umnz", "version": 21, "description": "Basic metrics for your app on Fly.io" }