1979 lines
		
	
	
	
		
			50 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
		
		
			
		
	
	
			1979 lines
		
	
	
	
		
			50 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
|  | { | ||
|  |   "annotations": { | ||
|  |     "list": [ | ||
|  |       { | ||
|  |         "builtIn": 1, | ||
|  |         "datasource": "-- Grafana --", | ||
|  |         "enable": true, | ||
|  |         "hide": true, | ||
|  |         "iconColor": "rgba(0, 211, 255, 1)", | ||
|  |         "name": "Annotations & Alerts", | ||
|  |         "type": "dashboard" | ||
|  |       }, | ||
|  |       { | ||
|  |         "datasource": "-- Grafana --", | ||
|  |         "enable": true, | ||
|  |         "hide": true, | ||
|  |         "iconColor": "#73BF69", | ||
|  |         "limit": 100, | ||
|  |         "name": "PromEx service start", | ||
|  |         "showIn": 0, | ||
|  |         "tags": ["prom_ex", "pinchflat", "start"], | ||
|  |         "type": "tags" | ||
|  |       }, | ||
|  |       { | ||
|  |         "datasource": "-- Grafana --", | ||
|  |         "enable": true, | ||
|  |         "hide": true, | ||
|  |         "iconColor": "#FF9830", | ||
|  |         "limit": 100, | ||
|  |         "name": "PromEx service stop", | ||
|  |         "showIn": 0, | ||
|  |         "tags": ["prom_ex", "pinchflat", "stop"], | ||
|  |         "type": "tags" | ||
|  |       } | ||
|  |     ] | ||
|  |   }, | ||
|  |   "description": "All the data that is presented here is captured by the PromEx Phoenix plugin (https://github.com/akoutmos/prom_ex/blob/master/lib/prom_ex/plugins/phoenix.ex)", | ||
|  |   "editable": false, | ||
|  |   "gnetId": null, | ||
|  |   "graphTooltip": 1, | ||
|  |   "id": null, | ||
|  |   "links": [ | ||
|  |     { | ||
|  |       "asDropdown": false, | ||
|  |       "icon": "bolt", | ||
|  |       "includeVars": false, | ||
|  |       "keepTime": false, | ||
|  |       "tags": [], | ||
|  |       "targetBlank": true, | ||
|  |       "title": "Sponsor PromEx", | ||
|  |       "tooltip": "", | ||
|  |       "type": "link", | ||
|  |       "url": "https://github.com/sponsors/akoutmos" | ||
|  |     }, | ||
|  |     { | ||
|  |       "asDropdown": false, | ||
|  |       "icon": "doc", | ||
|  |       "includeVars": false, | ||
|  |       "keepTime": false, | ||
|  |       "tags": [], | ||
|  |       "targetBlank": true, | ||
|  |       "title": "Phoenix Plugin Docs", | ||
|  |       "tooltip": "", | ||
|  |       "type": "link", | ||
|  |       "url": "https://hexdocs.pm/prom_ex/PromEx.Plugins.Phoenix.html" | ||
|  |     } | ||
|  |   ], | ||
|  |   "panels": [ | ||
|  |     { | ||
|  |       "collapsed": false, | ||
|  |       "datasource": null, | ||
|  |       "gridPos": { | ||
|  |         "h": 1, | ||
|  |         "w": 24, | ||
|  |         "x": 0, | ||
|  |         "y": 0 | ||
|  |       }, | ||
|  |       "id": 19, | ||
|  |       "panels": [], | ||
|  |       "title": "Overview", | ||
|  |       "type": "row" | ||
|  |     }, | ||
|  |     { | ||
|  |       "datasource": "prometheus", | ||
|  |       "description": "The Phoenix Endpoint module currently active for config metrics.", | ||
|  |       "fieldConfig": { | ||
|  |         "defaults": { | ||
|  |           "custom": {}, | ||
|  |           "mappings": [], | ||
|  |           "thresholds": { | ||
|  |             "mode": "absolute", | ||
|  |             "steps": [ | ||
|  |               { | ||
|  |                 "color": "green", | ||
|  |                 "value": null | ||
|  |               } | ||
|  |             ] | ||
|  |           }, | ||
|  |           "unit": "none" | ||
|  |         }, | ||
|  |         "overrides": [] | ||
|  |       }, | ||
|  |       "gridPos": { | ||
|  |         "h": 4, | ||
|  |         "w": 8, | ||
|  |         "x": 0, | ||
|  |         "y": 1 | ||
|  |       }, | ||
|  |       "id": 32, | ||
|  |       "options": { | ||
|  |         "colorMode": "value", | ||
|  |         "graphMode": "none", | ||
|  |         "justifyMode": "auto", | ||
|  |         "orientation": "auto", | ||
|  |         "reduceOptions": { | ||
|  |           "calcs": ["last"], | ||
|  |           "fields": "/^endpoint$/", | ||
|  |           "values": false | ||
|  |         }, | ||
|  |         "textMode": "auto" | ||
|  |       }, | ||
|  |       "pluginVersion": "7.1.3", | ||
|  |       "targets": [ | ||
|  |         { | ||
|  |           "expr": "pinchflat_prom_ex_phoenix_endpoint_port_info{job=\"$job\", instance=\"$instance\", endpoint=\"$endpoint\"}", | ||
|  |           "instant": true, | ||
|  |           "interval": "", | ||
|  |           "legendFormat": "", | ||
|  |           "refId": "A" | ||
|  |         } | ||
|  |       ], | ||
|  |       "timeFrom": null, | ||
|  |       "timeShift": null, | ||
|  |       "title": "Server Endpoint", | ||
|  |       "transformations": [ | ||
|  |         { | ||
|  |           "id": "labelsToFields", | ||
|  |           "options": {} | ||
|  |         } | ||
|  |       ], | ||
|  |       "type": "stat" | ||
|  |     }, | ||
|  |     { | ||
|  |       "datasource": "prometheus", | ||
|  |       "description": "The port that the server is listening on.", | ||
|  |       "fieldConfig": { | ||
|  |         "defaults": { | ||
|  |           "custom": {}, | ||
|  |           "mappings": [], | ||
|  |           "thresholds": { | ||
|  |             "mode": "absolute", | ||
|  |             "steps": [ | ||
|  |               { | ||
|  |                 "color": "green", | ||
|  |                 "value": null | ||
|  |               } | ||
|  |             ] | ||
|  |           }, | ||
|  |           "unit": "none" | ||
|  |         }, | ||
|  |         "overrides": [] | ||
|  |       }, | ||
|  |       "gridPos": { | ||
|  |         "h": 4, | ||
|  |         "w": 8, | ||
|  |         "x": 8, | ||
|  |         "y": 1 | ||
|  |       }, | ||
|  |       "id": 30, | ||
|  |       "options": { | ||
|  |         "colorMode": "value", | ||
|  |         "graphMode": "none", | ||
|  |         "justifyMode": "center", | ||
|  |         "orientation": "auto", | ||
|  |         "reduceOptions": { | ||
|  |           "calcs": ["last"], | ||
|  |           "fields": "/^port$/", | ||
|  |           "values": false | ||
|  |         }, | ||
|  |         "textMode": "auto" | ||
|  |       }, | ||
|  |       "pluginVersion": "7.1.3", | ||
|  |       "targets": [ | ||
|  |         { | ||
|  |           "expr": "pinchflat_prom_ex_phoenix_endpoint_port_info{job=\"$job\", instance=\"$instance\", endpoint=\"$endpoint\"}", | ||
|  |           "instant": true, | ||
|  |           "interval": "", | ||
|  |           "legendFormat": "", | ||
|  |           "refId": "A" | ||
|  |         } | ||
|  |       ], | ||
|  |       "timeFrom": null, | ||
|  |       "timeShift": null, | ||
|  |       "title": "Server Port", | ||
|  |       "transformations": [ | ||
|  |         { | ||
|  |           "id": "labelsToFields", | ||
|  |           "options": {} | ||
|  |         } | ||
|  |       ], | ||
|  |       "type": "stat" | ||
|  |     }, | ||
|  |     { | ||
|  |       "datasource": "prometheus", | ||
|  |       "description": "The URL that the server is configured to be accessed from.", | ||
|  |       "fieldConfig": { | ||
|  |         "defaults": { | ||
|  |           "color": { | ||
|  |             "mode": "thresholds" | ||
|  |           }, | ||
|  |           "mappings": [], | ||
|  |           "thresholds": { | ||
|  |             "mode": "absolute", | ||
|  |             "steps": [ | ||
|  |               { | ||
|  |                 "color": "green", | ||
|  |                 "value": null | ||
|  |               } | ||
|  |             ] | ||
|  |           } | ||
|  |         }, | ||
|  |         "overrides": [] | ||
|  |       }, | ||
|  |       "gridPos": { | ||
|  |         "h": 4, | ||
|  |         "w": 8, | ||
|  |         "x": 16, | ||
|  |         "y": 1 | ||
|  |       }, | ||
|  |       "id": 31, | ||
|  |       "options": { | ||
|  |         "colorMode": "value", | ||
|  |         "graphMode": "none", | ||
|  |         "justifyMode": "auto", | ||
|  |         "orientation": "auto", | ||
|  |         "reduceOptions": { | ||
|  |           "calcs": ["lastNotNull"], | ||
|  |           "fields": "/^url$/", | ||
|  |           "values": false | ||
|  |         }, | ||
|  |         "text": {}, | ||
|  |         "textMode": "auto" | ||
|  |       }, | ||
|  |       "pluginVersion": "7.1.3", | ||
|  |       "targets": [ | ||
|  |         { | ||
|  |           "exemplar": true, | ||
|  |           "expr": "pinchflat_prom_ex_phoenix_endpoint_url_info{job=\"$job\", instance=\"$instance\", endpoint=\"$endpoint\"}", | ||
|  |           "format": "table", | ||
|  |           "interval": "", | ||
|  |           "legendFormat": "", | ||
|  |           "queryType": "randomWalk", | ||
|  |           "refId": "A" | ||
|  |         } | ||
|  |       ], | ||
|  |       "title": "Server URL", | ||
|  |       "type": "stat" | ||
|  |     }, | ||
|  |     { | ||
|  |       "datasource": "prometheus", | ||
|  |       "description": "The Apdex score of the app based on a satisfactory response time of 500ms and a tolerable response time of 1000ms. This only takes into account how long Phoenix has been handling the request and only requests that resulted in a 2xx status code. The score is based on the last 24 hours of requests.", | ||
|  |       "fieldConfig": { | ||
|  |         "defaults": { | ||
|  |           "custom": {}, | ||
|  |           "mappings": [], | ||
|  |           "noValue": "No data", | ||
|  |           "thresholds": { | ||
|  |             "mode": "absolute", | ||
|  |             "steps": [ | ||
|  |               { | ||
|  |                 "color": "green", | ||
|  |                 "value": null | ||
|  |               }, | ||
|  |               { | ||
|  |                 "color": "red", | ||
|  |                 "value": 0 | ||
|  |               }, | ||
|  |               { | ||
|  |                 "color": "yellow", | ||
|  |                 "value": 70 | ||
|  |               }, | ||
|  |               { | ||
|  |                 "color": "green", | ||
|  |                 "value": 90 | ||
|  |               } | ||
|  |             ] | ||
|  |           }, | ||
|  |           "unit": "percent" | ||
|  |         }, | ||
|  |         "overrides": [] | ||
|  |       }, | ||
|  |       "gridPos": { | ||
|  |         "h": 6, | ||
|  |         "w": 6, | ||
|  |         "x": 0, | ||
|  |         "y": 5 | ||
|  |       }, | ||
|  |       "id": 21, | ||
|  |       "options": { | ||
|  |         "colorMode": "value", | ||
|  |         "graphMode": "area", | ||
|  |         "justifyMode": "center", | ||
|  |         "orientation": "auto", | ||
|  |         "reduceOptions": { | ||
|  |           "calcs": ["lastNotNull"], | ||
|  |           "fields": "", | ||
|  |           "values": false | ||
|  |         }, | ||
|  |         "textMode": "auto" | ||
|  |       }, | ||
|  |       "pluginVersion": "7.1.3", | ||
|  |       "targets": [ | ||
|  |         { | ||
|  |           "expr": "(\n  (\n    sum(increase(pinchflat_prom_ex_phoenix_http_request_duration_milliseconds_bucket{job=\"$job\", instance=\"$instance\", le=\"500\", status=~\"2..\"}[24h])) + \n    (sum(increase(pinchflat_prom_ex_phoenix_http_request_duration_milliseconds_bucket{job=\"$job\", instance=\"$instance\", le=\"1000\", status=~\"2..\"}[24h])) - sum(increase(pinchflat_prom_ex_phoenix_http_request_duration_milliseconds_bucket{job=\"$job\", instance=\"$instance\", le=\"500\", status=~\"2..\"}[24h]))) / 2\n  ) \n  / \n  sum(increase(pinchflat_prom_ex_phoenix_http_request_duration_milliseconds_count{job=\"$job\", instance=\"$instance\", status=~\"2..\"}[24h]))\n) * 100", | ||
|  |           "instant": false, | ||
|  |           "interval": "", | ||
|  |           "legendFormat": "", | ||
|  |           "refId": "A" | ||
|  |         } | ||
|  |       ], | ||
|  |       "timeFrom": null, | ||
|  |       "timeShift": null, | ||
|  |       "title": "Apdex Score (Last 24h)", | ||
|  |       "type": "stat" | ||
|  |     }, | ||
|  |     { | ||
|  |       "datasource": "prometheus", | ||
|  |       "description": "A percentage of responses that resulted in 400s or 500s over the past 24 hours.", | ||
|  |       "fieldConfig": { | ||
|  |         "defaults": { | ||
|  |           "custom": {}, | ||
|  |           "mappings": [], | ||
|  |           "thresholds": { | ||
|  |             "mode": "percentage", | ||
|  |             "steps": [ | ||
|  |               { | ||
|  |                 "color": "green", | ||
|  |                 "value": null | ||
|  |               }, | ||
|  |               { | ||
|  |                 "color": "#EAB839", | ||
|  |                 "value": 1 | ||
|  |               }, | ||
|  |               { | ||
|  |                 "color": "red", | ||
|  |                 "value": 5 | ||
|  |               } | ||
|  |             ] | ||
|  |           }, | ||
|  |           "unit": "percentunit" | ||
|  |         }, | ||
|  |         "overrides": [] | ||
|  |       }, | ||
|  |       "gridPos": { | ||
|  |         "h": 6, | ||
|  |         "w": 6, | ||
|  |         "x": 6, | ||
|  |         "y": 5 | ||
|  |       }, | ||
|  |       "id": 22, | ||
|  |       "options": { | ||
|  |         "colorMode": "value", | ||
|  |         "graphMode": "area", | ||
|  |         "justifyMode": "auto", | ||
|  |         "orientation": "auto", | ||
|  |         "reduceOptions": { | ||
|  |           "calcs": ["lastNotNull"], | ||
|  |           "fields": "", | ||
|  |           "values": false | ||
|  |         }, | ||
|  |         "textMode": "auto" | ||
|  |       }, | ||
|  |       "pluginVersion": "7.1.3", | ||
|  |       "targets": [ | ||
|  |         { | ||
|  |           "expr": "sum(increase(pinchflat_prom_ex_phoenix_http_requests_total{job=\"$job\", instance=\"$instance\", status=~\"4..|5..\"}[24h])) / sum(increase(pinchflat_prom_ex_phoenix_http_requests_total{job=\"$job\", instance=\"$instance\"}[24h])) OR on() vector(0)", | ||
|  |           "instant": false, | ||
|  |           "interval": "", | ||
|  |           "legendFormat": "", | ||
|  |           "refId": "A" | ||
|  |         } | ||
|  |       ], | ||
|  |       "timeFrom": null, | ||
|  |       "timeShift": null, | ||
|  |       "title": "Error Percentage (Last 24h)", | ||
|  |       "type": "stat" | ||
|  |     }, | ||
|  |     { | ||
|  |       "datasource": "prometheus", | ||
|  |       "description": "The amount of data transferred by Phoenix in a 24 hour rolling window.", | ||
|  |       "fieldConfig": { | ||
|  |         "defaults": { | ||
|  |           "custom": {}, | ||
|  |           "mappings": [], | ||
|  |           "thresholds": { | ||
|  |             "mode": "absolute", | ||
|  |             "steps": [ | ||
|  |               { | ||
|  |                 "color": "green", | ||
|  |                 "value": null | ||
|  |               } | ||
|  |             ] | ||
|  |           }, | ||
|  |           "unit": "decbytes" | ||
|  |         }, | ||
|  |         "overrides": [] | ||
|  |       }, | ||
|  |       "gridPos": { | ||
|  |         "h": 6, | ||
|  |         "w": 6, | ||
|  |         "x": 12, | ||
|  |         "y": 5 | ||
|  |       }, | ||
|  |       "id": 24, | ||
|  |       "options": { | ||
|  |         "colorMode": "value", | ||
|  |         "graphMode": "area", | ||
|  |         "justifyMode": "auto", | ||
|  |         "orientation": "auto", | ||
|  |         "reduceOptions": { | ||
|  |           "calcs": ["lastNotNull"], | ||
|  |           "fields": "", | ||
|  |           "values": false | ||
|  |         }, | ||
|  |         "textMode": "auto" | ||
|  |       }, | ||
|  |       "pluginVersion": "7.1.3", | ||
|  |       "targets": [ | ||
|  |         { | ||
|  |           "expr": "sum(increase(pinchflat_prom_ex_phoenix_http_response_size_bytes_sum{job=\"$job\", instance=\"$instance\"}[24h]))", | ||
|  |           "instant": false, | ||
|  |           "interval": "", | ||
|  |           "legendFormat": "", | ||
|  |           "refId": "A" | ||
|  |         } | ||
|  |       ], | ||
|  |       "timeFrom": null, | ||
|  |       "timeShift": null, | ||
|  |       "title": "Data Transferred (Last 24h)", | ||
|  |       "type": "stat" | ||
|  |     }, | ||
|  |     { | ||
|  |       "datasource": "prometheus", | ||
|  |       "description": "The amount of requests received by Phoenix in a 24 hour rolling window.", | ||
|  |       "fieldConfig": { | ||
|  |         "defaults": { | ||
|  |           "custom": {}, | ||
|  |           "mappings": [], | ||
|  |           "thresholds": { | ||
|  |             "mode": "absolute", | ||
|  |             "steps": [ | ||
|  |               { | ||
|  |                 "color": "green", | ||
|  |                 "value": null | ||
|  |               } | ||
|  |             ] | ||
|  |           }, | ||
|  |           "unit": "locale" | ||
|  |         }, | ||
|  |         "overrides": [] | ||
|  |       }, | ||
|  |       "gridPos": { | ||
|  |         "h": 6, | ||
|  |         "w": 6, | ||
|  |         "x": 18, | ||
|  |         "y": 5 | ||
|  |       }, | ||
|  |       "id": 23, | ||
|  |       "options": { | ||
|  |         "colorMode": "value", | ||
|  |         "graphMode": "area", | ||
|  |         "justifyMode": "auto", | ||
|  |         "orientation": "auto", | ||
|  |         "reduceOptions": { | ||
|  |           "calcs": ["lastNotNull"], | ||
|  |           "fields": "", | ||
|  |           "values": false | ||
|  |         }, | ||
|  |         "textMode": "auto" | ||
|  |       }, | ||
|  |       "pluginVersion": "7.1.3", | ||
|  |       "targets": [ | ||
|  |         { | ||
|  |           "expr": "round(sum(increase(pinchflat_prom_ex_phoenix_http_requests_total{job=\"$job\", instance=\"$instance\"}[24h])))", | ||
|  |           "instant": false, | ||
|  |           "interval": "", | ||
|  |           "legendFormat": "", | ||
|  |           "refId": "A" | ||
|  |         } | ||
|  |       ], | ||
|  |       "timeFrom": null, | ||
|  |       "timeShift": null, | ||
|  |       "title": "Total Requests Received (Last 24h)", | ||
|  |       "type": "stat" | ||
|  |     }, | ||
|  |     { | ||
|  |       "datasource": "prometheus", | ||
|  |       "description": "The Apdex score of the app based on a satisfactory response time of 500ms and a tolerable response time of 1000ms. This only takes into account how long Phoenix has been handling the request and only requests that resulted in a 2xx status code. The score is based on the previous hour of requests.", | ||
|  |       "fieldConfig": { | ||
|  |         "defaults": { | ||
|  |           "custom": {}, | ||
|  |           "mappings": [], | ||
|  |           "noValue": "No data", | ||
|  |           "thresholds": { | ||
|  |             "mode": "absolute", | ||
|  |             "steps": [ | ||
|  |               { | ||
|  |                 "color": "green", | ||
|  |                 "value": null | ||
|  |               }, | ||
|  |               { | ||
|  |                 "color": "red", | ||
|  |                 "value": 0 | ||
|  |               }, | ||
|  |               { | ||
|  |                 "color": "yellow", | ||
|  |                 "value": 70 | ||
|  |               }, | ||
|  |               { | ||
|  |                 "color": "green", | ||
|  |                 "value": 90 | ||
|  |               } | ||
|  |             ] | ||
|  |           }, | ||
|  |           "unit": "percent" | ||
|  |         }, | ||
|  |         "overrides": [] | ||
|  |       }, | ||
|  |       "gridPos": { | ||
|  |         "h": 6, | ||
|  |         "w": 6, | ||
|  |         "x": 0, | ||
|  |         "y": 11 | ||
|  |       }, | ||
|  |       "id": 25, | ||
|  |       "options": { | ||
|  |         "colorMode": "value", | ||
|  |         "graphMode": "area", | ||
|  |         "justifyMode": "auto", | ||
|  |         "orientation": "auto", | ||
|  |         "reduceOptions": { | ||
|  |           "calcs": ["lastNotNull"], | ||
|  |           "fields": "", | ||
|  |           "values": false | ||
|  |         }, | ||
|  |         "textMode": "auto" | ||
|  |       }, | ||
|  |       "pluginVersion": "7.1.3", | ||
|  |       "targets": [ | ||
|  |         { | ||
|  |           "expr": "(\n  (\n    sum(increase(pinchflat_prom_ex_phoenix_http_request_duration_milliseconds_bucket{job=\"$job\", instance=\"$instance\", le=\"500\", status=~\"2..\"}[1h])) + \n    (sum(increase(pinchflat_prom_ex_phoenix_http_request_duration_milliseconds_bucket{job=\"$job\", instance=\"$instance\", le=\"1000\", status=~\"2..\"}[1h])) - sum(increase(pinchflat_prom_ex_phoenix_http_request_duration_milliseconds_bucket{job=\"$job\", instance=\"$instance\", le=\"500\", status=~\"2..\"}[1h]))) / 2\n  ) \n  / \n  sum(increase(pinchflat_prom_ex_phoenix_http_request_duration_milliseconds_count{job=\"$job\", instance=\"$instance\", status=~\"2..\"}[1h]))\n) * 100", | ||
|  |           "instant": false, | ||
|  |           "interval": "", | ||
|  |           "legendFormat": "", | ||
|  |           "refId": "A" | ||
|  |         } | ||
|  |       ], | ||
|  |       "timeFrom": null, | ||
|  |       "timeShift": null, | ||
|  |       "title": "Apdex Score (Last 1h)", | ||
|  |       "type": "stat" | ||
|  |     }, | ||
|  |     { | ||
|  |       "datasource": "prometheus", | ||
|  |       "description": "A percentage of responses that resulted in 400s or 500s over the past hour.", | ||
|  |       "fieldConfig": { | ||
|  |         "defaults": { | ||
|  |           "custom": {}, | ||
|  |           "mappings": [], | ||
|  |           "noValue": "No data", | ||
|  |           "thresholds": { | ||
|  |             "mode": "percentage", | ||
|  |             "steps": [ | ||
|  |               { | ||
|  |                 "color": "green", | ||
|  |                 "value": null | ||
|  |               }, | ||
|  |               { | ||
|  |                 "color": "#EAB839", | ||
|  |                 "value": 1 | ||
|  |               }, | ||
|  |               { | ||
|  |                 "color": "red", | ||
|  |                 "value": 5 | ||
|  |               } | ||
|  |             ] | ||
|  |           }, | ||
|  |           "unit": "percentunit" | ||
|  |         }, | ||
|  |         "overrides": [] | ||
|  |       }, | ||
|  |       "gridPos": { | ||
|  |         "h": 6, | ||
|  |         "w": 6, | ||
|  |         "x": 6, | ||
|  |         "y": 11 | ||
|  |       }, | ||
|  |       "id": 26, | ||
|  |       "options": { | ||
|  |         "colorMode": "value", | ||
|  |         "graphMode": "area", | ||
|  |         "justifyMode": "auto", | ||
|  |         "orientation": "auto", | ||
|  |         "reduceOptions": { | ||
|  |           "calcs": ["lastNotNull"], | ||
|  |           "fields": "", | ||
|  |           "values": false | ||
|  |         }, | ||
|  |         "textMode": "auto" | ||
|  |       }, | ||
|  |       "pluginVersion": "7.1.3", | ||
|  |       "targets": [ | ||
|  |         { | ||
|  |           "expr": "sum(increase(pinchflat_prom_ex_phoenix_http_requests_total{job=\"$job\", instance=\"$instance\", status=~\"4..|5..\"}[1h])) / sum(increase(pinchflat_prom_ex_phoenix_http_requests_total{job=\"$job\", instance=\"$instance\"}[1h])) OR on() vector(0)", | ||
|  |           "instant": false, | ||
|  |           "interval": "", | ||
|  |           "legendFormat": "", | ||
|  |           "refId": "A" | ||
|  |         } | ||
|  |       ], | ||
|  |       "timeFrom": null, | ||
|  |       "timeShift": null, | ||
|  |       "title": "Error Percentage (Last 1h)", | ||
|  |       "type": "stat" | ||
|  |     }, | ||
|  |     { | ||
|  |       "datasource": "prometheus", | ||
|  |       "description": "The amount of data transferred by Phoenix in the past hour.", | ||
|  |       "fieldConfig": { | ||
|  |         "defaults": { | ||
|  |           "custom": {}, | ||
|  |           "mappings": [], | ||
|  |           "thresholds": { | ||
|  |             "mode": "absolute", | ||
|  |             "steps": [ | ||
|  |               { | ||
|  |                 "color": "green", | ||
|  |                 "value": null | ||
|  |               } | ||
|  |             ] | ||
|  |           }, | ||
|  |           "unit": "decbytes" | ||
|  |         }, | ||
|  |         "overrides": [] | ||
|  |       }, | ||
|  |       "gridPos": { | ||
|  |         "h": 6, | ||
|  |         "w": 6, | ||
|  |         "x": 12, | ||
|  |         "y": 11 | ||
|  |       }, | ||
|  |       "id": 27, | ||
|  |       "options": { | ||
|  |         "colorMode": "value", | ||
|  |         "graphMode": "area", | ||
|  |         "justifyMode": "auto", | ||
|  |         "orientation": "auto", | ||
|  |         "reduceOptions": { | ||
|  |           "calcs": ["lastNotNull"], | ||
|  |           "fields": "", | ||
|  |           "values": false | ||
|  |         }, | ||
|  |         "textMode": "auto" | ||
|  |       }, | ||
|  |       "pluginVersion": "7.1.3", | ||
|  |       "targets": [ | ||
|  |         { | ||
|  |           "expr": "sum(increase(pinchflat_prom_ex_phoenix_http_response_size_bytes_sum{job=\"$job\", instance=\"$instance\"}[1h]))", | ||
|  |           "instant": false, | ||
|  |           "interval": "", | ||
|  |           "legendFormat": "", | ||
|  |           "refId": "A" | ||
|  |         } | ||
|  |       ], | ||
|  |       "timeFrom": null, | ||
|  |       "timeShift": null, | ||
|  |       "title": "Data Transferred (Last 1h)", | ||
|  |       "type": "stat" | ||
|  |     }, | ||
|  |     { | ||
|  |       "datasource": "prometheus", | ||
|  |       "description": "The amount of requests received by Phoenix in the past hour.", | ||
|  |       "fieldConfig": { | ||
|  |         "defaults": { | ||
|  |           "custom": {}, | ||
|  |           "mappings": [], | ||
|  |           "thresholds": { | ||
|  |             "mode": "absolute", | ||
|  |             "steps": [ | ||
|  |               { | ||
|  |                 "color": "green", | ||
|  |                 "value": null | ||
|  |               } | ||
|  |             ] | ||
|  |           }, | ||
|  |           "unit": "locale" | ||
|  |         }, | ||
|  |         "overrides": [] | ||
|  |       }, | ||
|  |       "gridPos": { | ||
|  |         "h": 6, | ||
|  |         "w": 6, | ||
|  |         "x": 18, | ||
|  |         "y": 11 | ||
|  |       }, | ||
|  |       "id": 28, | ||
|  |       "options": { | ||
|  |         "colorMode": "value", | ||
|  |         "graphMode": "area", | ||
|  |         "justifyMode": "auto", | ||
|  |         "orientation": "auto", | ||
|  |         "reduceOptions": { | ||
|  |           "calcs": ["lastNotNull"], | ||
|  |           "fields": "", | ||
|  |           "values": false | ||
|  |         }, | ||
|  |         "textMode": "auto" | ||
|  |       }, | ||
|  |       "pluginVersion": "7.1.3", | ||
|  |       "targets": [ | ||
|  |         { | ||
|  |           "expr": "round(sum(increase(pinchflat_prom_ex_phoenix_http_requests_total{job=\"$job\", instance=\"$instance\"}[1h])))", | ||
|  |           "instant": false, | ||
|  |           "interval": "", | ||
|  |           "legendFormat": "", | ||
|  |           "refId": "A" | ||
|  |         } | ||
|  |       ], | ||
|  |       "timeFrom": null, | ||
|  |       "timeShift": null, | ||
|  |       "title": "Total Requests Received (Last 1h)", | ||
|  |       "type": "stat" | ||
|  |     }, | ||
|  |     { | ||
|  |       "collapsed": false, | ||
|  |       "datasource": null, | ||
|  |       "gridPos": { | ||
|  |         "h": 1, | ||
|  |         "w": 24, | ||
|  |         "x": 0, | ||
|  |         "y": 17 | ||
|  |       }, | ||
|  |       "id": 2, | ||
|  |       "panels": [], | ||
|  |       "title": "HTTP Details", | ||
|  |       "type": "row" | ||
|  |     }, | ||
|  |     { | ||
|  |       "cards": { | ||
|  |         "cardPadding": null, | ||
|  |         "cardRound": null | ||
|  |       }, | ||
|  |       "color": { | ||
|  |         "cardColor": "#b4ff00", | ||
|  |         "colorScale": "sqrt", | ||
|  |         "colorScheme": "interpolateOranges", | ||
|  |         "exponent": 0.5, | ||
|  |         "mode": "spectrum" | ||
|  |       }, | ||
|  |       "dataFormat": "tsbuckets", | ||
|  |       "datasource": "prometheus", | ||
|  |       "description": "A heatmap showing the request time spread across all requests (regardless of path).", | ||
|  |       "fieldConfig": { | ||
|  |         "defaults": { | ||
|  |           "custom": {} | ||
|  |         }, | ||
|  |         "overrides": [] | ||
|  |       }, | ||
|  |       "gridPos": { | ||
|  |         "h": 13, | ||
|  |         "w": 12, | ||
|  |         "x": 0, | ||
|  |         "y": 18 | ||
|  |       }, | ||
|  |       "heatmap": {}, | ||
|  |       "hideZeroBuckets": true, | ||
|  |       "highlightCards": true, | ||
|  |       "id": 6, | ||
|  |       "legend": { | ||
|  |         "show": true | ||
|  |       }, | ||
|  |       "pluginVersion": "7.1.3", | ||
|  |       "reverseYBuckets": false, | ||
|  |       "targets": [ | ||
|  |         { | ||
|  |           "expr": "sum(irate(pinchflat_prom_ex_phoenix_http_request_duration_milliseconds_bucket{job=\"$job\", instance=\"$instance\"}[$interval])) by (le)", | ||
|  |           "format": "heatmap", | ||
|  |           "hide": false, | ||
|  |           "interval": "", | ||
|  |           "legendFormat": "{{ le }}", | ||
|  |           "refId": "A" | ||
|  |         } | ||
|  |       ], | ||
|  |       "timeFrom": null, | ||
|  |       "timeShift": null, | ||
|  |       "title": "Request Time", | ||
|  |       "tooltip": { | ||
|  |         "show": true, | ||
|  |         "showHistogram": true | ||
|  |       }, | ||
|  |       "type": "heatmap", | ||
|  |       "xAxis": { | ||
|  |         "show": true | ||
|  |       }, | ||
|  |       "xBucketNumber": null, | ||
|  |       "xBucketSize": null, | ||
|  |       "yAxis": { | ||
|  |         "decimals": null, | ||
|  |         "format": "ms", | ||
|  |         "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": "interpolateOranges", | ||
|  |         "exponent": 0.5, | ||
|  |         "mode": "spectrum" | ||
|  |       }, | ||
|  |       "dataFormat": "tsbuckets", | ||
|  |       "datasource": "prometheus", | ||
|  |       "description": "A heatmap showing the response payload size spread across all requests (regardless of path).", | ||
|  |       "fieldConfig": { | ||
|  |         "defaults": { | ||
|  |           "custom": {} | ||
|  |         }, | ||
|  |         "overrides": [] | ||
|  |       }, | ||
|  |       "gridPos": { | ||
|  |         "h": 13, | ||
|  |         "w": 12, | ||
|  |         "x": 12, | ||
|  |         "y": 18 | ||
|  |       }, | ||
|  |       "heatmap": {}, | ||
|  |       "hideZeroBuckets": true, | ||
|  |       "highlightCards": true, | ||
|  |       "id": 12, | ||
|  |       "legend": { | ||
|  |         "show": true | ||
|  |       }, | ||
|  |       "pluginVersion": "7.1.3", | ||
|  |       "reverseYBuckets": false, | ||
|  |       "targets": [ | ||
|  |         { | ||
|  |           "expr": "sum(irate(pinchflat_prom_ex_phoenix_http_response_size_bytes_bucket{job=\"$job\", instance=\"$instance\"}[$interval])) by (le)", | ||
|  |           "format": "heatmap", | ||
|  |           "hide": false, | ||
|  |           "interval": "", | ||
|  |           "legendFormat": "{{ le }}", | ||
|  |           "refId": "A" | ||
|  |         } | ||
|  |       ], | ||
|  |       "timeFrom": null, | ||
|  |       "timeShift": null, | ||
|  |       "title": "Response Payload Size", | ||
|  |       "tooltip": { | ||
|  |         "show": true, | ||
|  |         "showHistogram": true | ||
|  |       }, | ||
|  |       "type": "heatmap", | ||
|  |       "xAxis": { | ||
|  |         "show": true | ||
|  |       }, | ||
|  |       "xBucketNumber": null, | ||
|  |       "xBucketSize": null, | ||
|  |       "yAxis": { | ||
|  |         "decimals": null, | ||
|  |         "format": "decbytes", | ||
|  |         "logBase": 1, | ||
|  |         "max": null, | ||
|  |         "min": null, | ||
|  |         "show": true, | ||
|  |         "splitFactor": null | ||
|  |       }, | ||
|  |       "yBucketBound": "auto", | ||
|  |       "yBucketNumber": null, | ||
|  |       "yBucketSize": null | ||
|  |     }, | ||
|  |     { | ||
|  |       "aliasColors": {}, | ||
|  |       "bars": false, | ||
|  |       "dashLength": 10, | ||
|  |       "dashes": false, | ||
|  |       "datasource": "prometheus", | ||
|  |       "description": "The average request time per path per status code per HTTP method.", | ||
|  |       "fieldConfig": { | ||
|  |         "defaults": { | ||
|  |           "custom": {} | ||
|  |         }, | ||
|  |         "overrides": [] | ||
|  |       }, | ||
|  |       "fill": 1, | ||
|  |       "fillGradient": 0, | ||
|  |       "gridPos": { | ||
|  |         "h": 13, | ||
|  |         "w": 12, | ||
|  |         "x": 0, | ||
|  |         "y": 31 | ||
|  |       }, | ||
|  |       "hiddenSeries": false, | ||
|  |       "id": 11, | ||
|  |       "legend": { | ||
|  |         "alignAsTable": true, | ||
|  |         "avg": false, | ||
|  |         "current": true, | ||
|  |         "hideEmpty": false, | ||
|  |         "hideZero": false, | ||
|  |         "max": true, | ||
|  |         "min": false, | ||
|  |         "rightSide": true, | ||
|  |         "show": true, | ||
|  |         "total": false, | ||
|  |         "values": true | ||
|  |       }, | ||
|  |       "lines": true, | ||
|  |       "linewidth": 1, | ||
|  |       "nullPointMode": "null as zero", | ||
|  |       "percentage": false, | ||
|  |       "pluginVersion": "7.1.3", | ||
|  |       "pointradius": 2, | ||
|  |       "points": false, | ||
|  |       "renderer": "flot", | ||
|  |       "seriesOverrides": [], | ||
|  |       "spaceLength": 10, | ||
|  |       "stack": false, | ||
|  |       "steppedLine": false, | ||
|  |       "targets": [ | ||
|  |         { | ||
|  |           "expr": "sum(irate(pinchflat_prom_ex_phoenix_http_request_duration_milliseconds_sum{job=\"$job\", instance=\"$instance\"}[$interval])) by(path, status) / sum(irate(pinchflat_prom_ex_phoenix_http_request_duration_milliseconds_count{job=\"$job\", instance=\"$instance\"}[$interval])) by(path, status)", | ||
|  |           "interval": "", | ||
|  |           "legendFormat": "{{ method }} {{ path }} :: {{ status }}", | ||
|  |           "refId": "A" | ||
|  |         } | ||
|  |       ], | ||
|  |       "thresholds": [], | ||
|  |       "timeFrom": null, | ||
|  |       "timeRegions": [], | ||
|  |       "timeShift": null, | ||
|  |       "title": "Average HTTP Request Time", | ||
|  |       "tooltip": { | ||
|  |         "shared": true, | ||
|  |         "sort": 2, | ||
|  |         "value_type": "individual" | ||
|  |       }, | ||
|  |       "type": "graph", | ||
|  |       "xaxis": { | ||
|  |         "buckets": null, | ||
|  |         "mode": "time", | ||
|  |         "name": null, | ||
|  |         "show": true, | ||
|  |         "values": [] | ||
|  |       }, | ||
|  |       "yaxes": [ | ||
|  |         { | ||
|  |           "format": "ms", | ||
|  |           "label": "Response Time", | ||
|  |           "logBase": 1, | ||
|  |           "max": null, | ||
|  |           "min": "0", | ||
|  |           "show": true | ||
|  |         }, | ||
|  |         { | ||
|  |           "format": "short", | ||
|  |           "label": null, | ||
|  |           "logBase": 1, | ||
|  |           "max": null, | ||
|  |           "min": null, | ||
|  |           "show": false | ||
|  |         } | ||
|  |       ], | ||
|  |       "yaxis": { | ||
|  |         "align": false, | ||
|  |         "alignLevel": null | ||
|  |       } | ||
|  |     }, | ||
|  |     { | ||
|  |       "aliasColors": {}, | ||
|  |       "bars": false, | ||
|  |       "dashLength": 10, | ||
|  |       "dashes": false, | ||
|  |       "datasource": "prometheus", | ||
|  |       "description": "The average response size per path per status code per HTTP method.", | ||
|  |       "fieldConfig": { | ||
|  |         "defaults": { | ||
|  |           "custom": {} | ||
|  |         }, | ||
|  |         "overrides": [] | ||
|  |       }, | ||
|  |       "fill": 1, | ||
|  |       "fillGradient": 0, | ||
|  |       "gridPos": { | ||
|  |         "h": 13, | ||
|  |         "w": 12, | ||
|  |         "x": 12, | ||
|  |         "y": 31 | ||
|  |       }, | ||
|  |       "hiddenSeries": false, | ||
|  |       "id": 13, | ||
|  |       "legend": { | ||
|  |         "alignAsTable": true, | ||
|  |         "avg": false, | ||
|  |         "current": true, | ||
|  |         "hideEmpty": false, | ||
|  |         "hideZero": false, | ||
|  |         "max": true, | ||
|  |         "min": false, | ||
|  |         "rightSide": true, | ||
|  |         "show": true, | ||
|  |         "total": false, | ||
|  |         "values": true | ||
|  |       }, | ||
|  |       "lines": true, | ||
|  |       "linewidth": 1, | ||
|  |       "nullPointMode": "null as zero", | ||
|  |       "percentage": false, | ||
|  |       "pluginVersion": "7.1.3", | ||
|  |       "pointradius": 2, | ||
|  |       "points": false, | ||
|  |       "renderer": "flot", | ||
|  |       "seriesOverrides": [], | ||
|  |       "spaceLength": 10, | ||
|  |       "stack": false, | ||
|  |       "steppedLine": false, | ||
|  |       "targets": [ | ||
|  |         { | ||
|  |           "expr": "sum(irate(pinchflat_prom_ex_phoenix_http_response_size_bytes_sum{job=\"$job\", instance=\"$instance\"}[$interval])) by(path, status) / sum(irate(pinchflat_prom_ex_phoenix_http_response_size_bytes_count{job=\"$job\", instance=\"$instance\"}[$interval])) by(path, status)", | ||
|  |           "interval": "", | ||
|  |           "legendFormat": "{{ method }} {{ path }} :: {{ status }}", | ||
|  |           "refId": "A" | ||
|  |         } | ||
|  |       ], | ||
|  |       "thresholds": [], | ||
|  |       "timeFrom": null, | ||
|  |       "timeRegions": [], | ||
|  |       "timeShift": null, | ||
|  |       "title": "Average HTTP Response Size", | ||
|  |       "tooltip": { | ||
|  |         "shared": true, | ||
|  |         "sort": 2, | ||
|  |         "value_type": "individual" | ||
|  |       }, | ||
|  |       "type": "graph", | ||
|  |       "xaxis": { | ||
|  |         "buckets": null, | ||
|  |         "mode": "time", | ||
|  |         "name": null, | ||
|  |         "show": true, | ||
|  |         "values": [] | ||
|  |       }, | ||
|  |       "yaxes": [ | ||
|  |         { | ||
|  |           "format": "decbytes", | ||
|  |           "label": "Response Size", | ||
|  |           "logBase": 1, | ||
|  |           "max": null, | ||
|  |           "min": "0", | ||
|  |           "show": true | ||
|  |         }, | ||
|  |         { | ||
|  |           "format": "short", | ||
|  |           "label": null, | ||
|  |           "logBase": 1, | ||
|  |           "max": null, | ||
|  |           "min": null, | ||
|  |           "show": false | ||
|  |         } | ||
|  |       ], | ||
|  |       "yaxis": { | ||
|  |         "align": false, | ||
|  |         "alignLevel": null | ||
|  |       } | ||
|  |     }, | ||
|  |     { | ||
|  |       "aliasColors": {}, | ||
|  |       "bars": false, | ||
|  |       "dashLength": 10, | ||
|  |       "dashes": false, | ||
|  |       "datasource": "prometheus", | ||
|  |       "description": "Shows the number of requests coming into certain paths and the resulting response codes.", | ||
|  |       "fieldConfig": { | ||
|  |         "defaults": { | ||
|  |           "custom": {} | ||
|  |         }, | ||
|  |         "overrides": [] | ||
|  |       }, | ||
|  |       "fill": 1, | ||
|  |       "fillGradient": 0, | ||
|  |       "gridPos": { | ||
|  |         "h": 13, | ||
|  |         "w": 12, | ||
|  |         "x": 0, | ||
|  |         "y": 44 | ||
|  |       }, | ||
|  |       "hiddenSeries": false, | ||
|  |       "id": 8, | ||
|  |       "legend": { | ||
|  |         "alignAsTable": true, | ||
|  |         "avg": false, | ||
|  |         "current": true, | ||
|  |         "hideEmpty": false, | ||
|  |         "hideZero": false, | ||
|  |         "max": true, | ||
|  |         "min": false, | ||
|  |         "rightSide": true, | ||
|  |         "show": true, | ||
|  |         "total": false, | ||
|  |         "values": true | ||
|  |       }, | ||
|  |       "lines": true, | ||
|  |       "linewidth": 1, | ||
|  |       "nullPointMode": "null as zero", | ||
|  |       "percentage": false, | ||
|  |       "pluginVersion": "7.1.3", | ||
|  |       "pointradius": 2, | ||
|  |       "points": false, | ||
|  |       "renderer": "flot", | ||
|  |       "seriesOverrides": [], | ||
|  |       "spaceLength": 10, | ||
|  |       "stack": false, | ||
|  |       "steppedLine": false, | ||
|  |       "targets": [ | ||
|  |         { | ||
|  |           "expr": "irate(pinchflat_prom_ex_phoenix_http_requests_total{job=\"$job\", instance=\"$instance\"}[$interval])", | ||
|  |           "interval": "", | ||
|  |           "legendFormat": "{{ method }} {{ path }} :: {{ status }}", | ||
|  |           "refId": "A" | ||
|  |         } | ||
|  |       ], | ||
|  |       "thresholds": [], | ||
|  |       "timeFrom": null, | ||
|  |       "timeRegions": [], | ||
|  |       "timeShift": null, | ||
|  |       "title": "Path Requests", | ||
|  |       "tooltip": { | ||
|  |         "shared": true, | ||
|  |         "sort": 2, | ||
|  |         "value_type": "individual" | ||
|  |       }, | ||
|  |       "type": "graph", | ||
|  |       "xaxis": { | ||
|  |         "buckets": null, | ||
|  |         "mode": "time", | ||
|  |         "name": null, | ||
|  |         "show": true, | ||
|  |         "values": [] | ||
|  |       }, | ||
|  |       "yaxes": [ | ||
|  |         { | ||
|  |           "format": "locale", | ||
|  |           "label": "Requests", | ||
|  |           "logBase": 1, | ||
|  |           "max": null, | ||
|  |           "min": "0", | ||
|  |           "show": true | ||
|  |         }, | ||
|  |         { | ||
|  |           "format": "short", | ||
|  |           "label": null, | ||
|  |           "logBase": 1, | ||
|  |           "max": null, | ||
|  |           "min": null, | ||
|  |           "show": false | ||
|  |         } | ||
|  |       ], | ||
|  |       "yaxis": { | ||
|  |         "align": false, | ||
|  |         "alignLevel": null | ||
|  |       } | ||
|  |     }, | ||
|  |     { | ||
|  |       "aliasColors": {}, | ||
|  |       "bars": false, | ||
|  |       "dashLength": 10, | ||
|  |       "dashes": false, | ||
|  |       "datasource": "prometheus", | ||
|  |       "description": "The aggregate response status of all the requests.", | ||
|  |       "fieldConfig": { | ||
|  |         "defaults": { | ||
|  |           "custom": {} | ||
|  |         }, | ||
|  |         "overrides": [] | ||
|  |       }, | ||
|  |       "fill": 1, | ||
|  |       "fillGradient": 0, | ||
|  |       "gridPos": { | ||
|  |         "h": 13, | ||
|  |         "w": 12, | ||
|  |         "x": 12, | ||
|  |         "y": 44 | ||
|  |       }, | ||
|  |       "hiddenSeries": false, | ||
|  |       "id": 10, | ||
|  |       "legend": { | ||
|  |         "alignAsTable": true, | ||
|  |         "avg": false, | ||
|  |         "current": true, | ||
|  |         "max": true, | ||
|  |         "min": false, | ||
|  |         "rightSide": true, | ||
|  |         "show": true, | ||
|  |         "total": false, | ||
|  |         "values": true | ||
|  |       }, | ||
|  |       "lines": true, | ||
|  |       "linewidth": 1, | ||
|  |       "nullPointMode": "null as zero", | ||
|  |       "percentage": false, | ||
|  |       "pluginVersion": "7.1.3", | ||
|  |       "pointradius": 2, | ||
|  |       "points": false, | ||
|  |       "renderer": "flot", | ||
|  |       "seriesOverrides": [], | ||
|  |       "spaceLength": 10, | ||
|  |       "stack": false, | ||
|  |       "steppedLine": false, | ||
|  |       "targets": [ | ||
|  |         { | ||
|  |           "expr": "sum(irate(pinchflat_prom_ex_phoenix_http_requests_total{status=~\"2..\", job=\"$job\", instance=\"$instance\"}[$interval]))", | ||
|  |           "interval": "", | ||
|  |           "legendFormat": "2xx", | ||
|  |           "refId": "A" | ||
|  |         }, | ||
|  |         { | ||
|  |           "expr": "sum(irate(pinchflat_prom_ex_phoenix_http_requests_total{status=~\"4..\", job=\"$job\", instance=\"$instance\"}[$interval]))", | ||
|  |           "interval": "", | ||
|  |           "legendFormat": "4xx", | ||
|  |           "refId": "B" | ||
|  |         }, | ||
|  |         { | ||
|  |           "expr": "sum(irate(pinchflat_prom_ex_phoenix_http_requests_total{status=~\"5..\", job=\"$job\", instance=\"$instance\"}[$interval]))", | ||
|  |           "interval": "", | ||
|  |           "legendFormat": "5xx", | ||
|  |           "refId": "C" | ||
|  |         } | ||
|  |       ], | ||
|  |       "thresholds": [], | ||
|  |       "timeFrom": null, | ||
|  |       "timeRegions": [], | ||
|  |       "timeShift": null, | ||
|  |       "title": "Response Status Codes", | ||
|  |       "tooltip": { | ||
|  |         "shared": true, | ||
|  |         "sort": 2, | ||
|  |         "value_type": "individual" | ||
|  |       }, | ||
|  |       "type": "graph", | ||
|  |       "xaxis": { | ||
|  |         "buckets": null, | ||
|  |         "mode": "time", | ||
|  |         "name": null, | ||
|  |         "show": true, | ||
|  |         "values": [] | ||
|  |       }, | ||
|  |       "yaxes": [ | ||
|  |         { | ||
|  |           "format": "short", | ||
|  |           "label": "Requests", | ||
|  |           "logBase": 1, | ||
|  |           "max": null, | ||
|  |           "min": "0", | ||
|  |           "show": true | ||
|  |         }, | ||
|  |         { | ||
|  |           "format": "short", | ||
|  |           "label": null, | ||
|  |           "logBase": 1, | ||
|  |           "max": null, | ||
|  |           "min": null, | ||
|  |           "show": true | ||
|  |         } | ||
|  |       ], | ||
|  |       "yaxis": { | ||
|  |         "align": false, | ||
|  |         "alignLevel": null | ||
|  |       } | ||
|  |     }, | ||
|  |     { | ||
|  |       "collapsed": false, | ||
|  |       "datasource": null, | ||
|  |       "gridPos": { | ||
|  |         "h": 1, | ||
|  |         "w": 24, | ||
|  |         "x": 0, | ||
|  |         "y": 57 | ||
|  |       }, | ||
|  |       "id": 4, | ||
|  |       "panels": [], | ||
|  |       "title": "Channel Details", | ||
|  |       "type": "row" | ||
|  |     }, | ||
|  |     { | ||
|  |       "aliasColors": {}, | ||
|  |       "bars": false, | ||
|  |       "dashLength": 10, | ||
|  |       "dashes": false, | ||
|  |       "datasource": "prometheus", | ||
|  |       "description": "How many channel joins have occurred over time.", | ||
|  |       "fieldConfig": { | ||
|  |         "defaults": { | ||
|  |           "custom": {} | ||
|  |         }, | ||
|  |         "overrides": [] | ||
|  |       }, | ||
|  |       "fill": 1, | ||
|  |       "fillGradient": 0, | ||
|  |       "gridPos": { | ||
|  |         "h": 13, | ||
|  |         "w": 12, | ||
|  |         "x": 0, | ||
|  |         "y": 58 | ||
|  |       }, | ||
|  |       "hiddenSeries": false, | ||
|  |       "id": 15, | ||
|  |       "legend": { | ||
|  |         "alignAsTable": true, | ||
|  |         "avg": false, | ||
|  |         "current": true, | ||
|  |         "max": true, | ||
|  |         "min": false, | ||
|  |         "rightSide": true, | ||
|  |         "show": true, | ||
|  |         "total": false, | ||
|  |         "values": true | ||
|  |       }, | ||
|  |       "lines": true, | ||
|  |       "linewidth": 1, | ||
|  |       "nullPointMode": "null as zero", | ||
|  |       "percentage": false, | ||
|  |       "pluginVersion": "7.1.3", | ||
|  |       "pointradius": 2, | ||
|  |       "points": false, | ||
|  |       "renderer": "flot", | ||
|  |       "seriesOverrides": [], | ||
|  |       "spaceLength": 10, | ||
|  |       "stack": false, | ||
|  |       "steppedLine": false, | ||
|  |       "targets": [ | ||
|  |         { | ||
|  |           "expr": "irate(pinchflat_prom_ex_phoenix_channel_joined_total{job=\"$job\", instance=\"$instance\", endpoint=\"$endpoint\"}[$interval])", | ||
|  |           "interval": "", | ||
|  |           "legendFormat": "{{ transport }} :: {{ result }}", | ||
|  |           "refId": "A" | ||
|  |         } | ||
|  |       ], | ||
|  |       "thresholds": [], | ||
|  |       "timeFrom": null, | ||
|  |       "timeRegions": [], | ||
|  |       "timeShift": null, | ||
|  |       "title": "Channel Join Events", | ||
|  |       "tooltip": { | ||
|  |         "shared": true, | ||
|  |         "sort": 2, | ||
|  |         "value_type": "individual" | ||
|  |       }, | ||
|  |       "type": "graph", | ||
|  |       "xaxis": { | ||
|  |         "buckets": null, | ||
|  |         "mode": "time", | ||
|  |         "name": null, | ||
|  |         "show": true, | ||
|  |         "values": [] | ||
|  |       }, | ||
|  |       "yaxes": [ | ||
|  |         { | ||
|  |           "format": "short", | ||
|  |           "label": "Channel joins", | ||
|  |           "logBase": 1, | ||
|  |           "max": null, | ||
|  |           "min": "0", | ||
|  |           "show": true | ||
|  |         }, | ||
|  |         { | ||
|  |           "format": "short", | ||
|  |           "label": null, | ||
|  |           "logBase": 1, | ||
|  |           "max": null, | ||
|  |           "min": null, | ||
|  |           "show": false | ||
|  |         } | ||
|  |       ], | ||
|  |       "yaxis": { | ||
|  |         "align": false, | ||
|  |         "alignLevel": null | ||
|  |       } | ||
|  |     }, | ||
|  |     { | ||
|  |       "cards": { | ||
|  |         "cardPadding": null, | ||
|  |         "cardRound": null | ||
|  |       }, | ||
|  |       "color": { | ||
|  |         "cardColor": "#b4ff00", | ||
|  |         "colorScale": "sqrt", | ||
|  |         "colorScheme": "interpolateOranges", | ||
|  |         "exponent": 0.5, | ||
|  |         "mode": "spectrum" | ||
|  |       }, | ||
|  |       "dataFormat": "tsbuckets", | ||
|  |       "datasource": "prometheus", | ||
|  |       "description": "A heatmap showing the request time spread across all channel events.", | ||
|  |       "fieldConfig": { | ||
|  |         "defaults": { | ||
|  |           "custom": {} | ||
|  |         }, | ||
|  |         "overrides": [] | ||
|  |       }, | ||
|  |       "gridPos": { | ||
|  |         "h": 13, | ||
|  |         "w": 12, | ||
|  |         "x": 12, | ||
|  |         "y": 58 | ||
|  |       }, | ||
|  |       "heatmap": {}, | ||
|  |       "hideZeroBuckets": true, | ||
|  |       "highlightCards": true, | ||
|  |       "id": 16, | ||
|  |       "legend": { | ||
|  |         "show": true | ||
|  |       }, | ||
|  |       "pluginVersion": "7.1.3", | ||
|  |       "reverseYBuckets": false, | ||
|  |       "targets": [ | ||
|  |         { | ||
|  |           "expr": "sum(irate(pinchflat_prom_ex_phoenix_channel_handled_in_duration_milliseconds_bucket{job=\"$job\", instance=\"$instance\", endpoint=\"$endpoint\"}[$interval])) by (le)", | ||
|  |           "format": "heatmap", | ||
|  |           "hide": false, | ||
|  |           "interval": "", | ||
|  |           "legendFormat": "{{ le }}", | ||
|  |           "refId": "A" | ||
|  |         } | ||
|  |       ], | ||
|  |       "timeFrom": null, | ||
|  |       "timeShift": null, | ||
|  |       "title": "Channel Message Handle Time", | ||
|  |       "tooltip": { | ||
|  |         "show": true, | ||
|  |         "showHistogram": true | ||
|  |       }, | ||
|  |       "type": "heatmap", | ||
|  |       "xAxis": { | ||
|  |         "show": true | ||
|  |       }, | ||
|  |       "xBucketNumber": null, | ||
|  |       "xBucketSize": null, | ||
|  |       "yAxis": { | ||
|  |         "decimals": null, | ||
|  |         "format": "ms", | ||
|  |         "logBase": 1, | ||
|  |         "max": null, | ||
|  |         "min": null, | ||
|  |         "show": true, | ||
|  |         "splitFactor": null | ||
|  |       }, | ||
|  |       "yBucketBound": "auto", | ||
|  |       "yBucketNumber": null, | ||
|  |       "yBucketSize": null | ||
|  |     }, | ||
|  |     { | ||
|  |       "aliasColors": {}, | ||
|  |       "bars": false, | ||
|  |       "dashLength": 10, | ||
|  |       "dashes": false, | ||
|  |       "datasource": "prometheus", | ||
|  |       "description": "The average response time for a channel message.", | ||
|  |       "fieldConfig": { | ||
|  |         "defaults": { | ||
|  |           "custom": {} | ||
|  |         }, | ||
|  |         "overrides": [] | ||
|  |       }, | ||
|  |       "fill": 1, | ||
|  |       "fillGradient": 0, | ||
|  |       "gridPos": { | ||
|  |         "h": 13, | ||
|  |         "w": 12, | ||
|  |         "x": 0, | ||
|  |         "y": 71 | ||
|  |       }, | ||
|  |       "hiddenSeries": false, | ||
|  |       "id": 17, | ||
|  |       "legend": { | ||
|  |         "alignAsTable": true, | ||
|  |         "avg": false, | ||
|  |         "current": true, | ||
|  |         "hideEmpty": false, | ||
|  |         "hideZero": false, | ||
|  |         "max": true, | ||
|  |         "min": false, | ||
|  |         "rightSide": true, | ||
|  |         "show": true, | ||
|  |         "total": false, | ||
|  |         "values": true | ||
|  |       }, | ||
|  |       "lines": true, | ||
|  |       "linewidth": 1, | ||
|  |       "nullPointMode": "null as zero", | ||
|  |       "percentage": false, | ||
|  |       "pluginVersion": "7.1.3", | ||
|  |       "pointradius": 2, | ||
|  |       "points": false, | ||
|  |       "renderer": "flot", | ||
|  |       "seriesOverrides": [], | ||
|  |       "spaceLength": 10, | ||
|  |       "stack": false, | ||
|  |       "steppedLine": false, | ||
|  |       "targets": [ | ||
|  |         { | ||
|  |           "expr": "irate(pinchflat_prom_ex_phoenix_channel_handled_in_duration_milliseconds_sum{job=\"$job\", instance=\"$instance\", endpoint=\"$endpoint\"}[$interval]) / irate(pinchflat_prom_ex_phoenix_channel_handled_in_duration_milliseconds_count{job=\"$job\", instance=\"$instance\", endpoint=\"$endpoint\"}[$interval])", | ||
|  |           "interval": "", | ||
|  |           "legendFormat": "{{ transport }} :: {{ result }}", | ||
|  |           "refId": "A" | ||
|  |         } | ||
|  |       ], | ||
|  |       "thresholds": [], | ||
|  |       "timeFrom": null, | ||
|  |       "timeRegions": [], | ||
|  |       "timeShift": null, | ||
|  |       "title": "Average Channel Response Time", | ||
|  |       "tooltip": { | ||
|  |         "shared": true, | ||
|  |         "sort": 2, | ||
|  |         "value_type": "individual" | ||
|  |       }, | ||
|  |       "type": "graph", | ||
|  |       "xaxis": { | ||
|  |         "buckets": null, | ||
|  |         "mode": "time", | ||
|  |         "name": null, | ||
|  |         "show": true, | ||
|  |         "values": [] | ||
|  |       }, | ||
|  |       "yaxes": [ | ||
|  |         { | ||
|  |           "format": "ms", | ||
|  |           "label": "Response Time", | ||
|  |           "logBase": 1, | ||
|  |           "max": null, | ||
|  |           "min": "0", | ||
|  |           "show": true | ||
|  |         }, | ||
|  |         { | ||
|  |           "format": "short", | ||
|  |           "label": null, | ||
|  |           "logBase": 1, | ||
|  |           "max": null, | ||
|  |           "min": null, | ||
|  |           "show": false | ||
|  |         } | ||
|  |       ], | ||
|  |       "yaxis": { | ||
|  |         "align": false, | ||
|  |         "alignLevel": null | ||
|  |       } | ||
|  |     }, | ||
|  |     { | ||
|  |       "collapsed": false, | ||
|  |       "datasource": null, | ||
|  |       "gridPos": { | ||
|  |         "h": 1, | ||
|  |         "w": 24, | ||
|  |         "x": 0, | ||
|  |         "y": 84 | ||
|  |       }, | ||
|  |       "id": 34, | ||
|  |       "panels": [], | ||
|  |       "title": "Socket Details", | ||
|  |       "type": "row" | ||
|  |     }, | ||
|  |     { | ||
|  |       "aliasColors": {}, | ||
|  |       "bars": false, | ||
|  |       "dashLength": 10, | ||
|  |       "dashes": false, | ||
|  |       "datasource": "prometheus", | ||
|  |       "description": "How many socket connections have occurred over time.", | ||
|  |       "fieldConfig": { | ||
|  |         "defaults": { | ||
|  |           "custom": {} | ||
|  |         }, | ||
|  |         "overrides": [] | ||
|  |       }, | ||
|  |       "fill": 1, | ||
|  |       "fillGradient": 0, | ||
|  |       "gridPos": { | ||
|  |         "h": 13, | ||
|  |         "w": 12, | ||
|  |         "x": 0, | ||
|  |         "y": 85 | ||
|  |       }, | ||
|  |       "hiddenSeries": false, | ||
|  |       "id": 35, | ||
|  |       "legend": { | ||
|  |         "alignAsTable": true, | ||
|  |         "avg": false, | ||
|  |         "current": true, | ||
|  |         "max": true, | ||
|  |         "min": false, | ||
|  |         "rightSide": true, | ||
|  |         "show": true, | ||
|  |         "total": false, | ||
|  |         "values": true | ||
|  |       }, | ||
|  |       "lines": true, | ||
|  |       "linewidth": 1, | ||
|  |       "nullPointMode": "null as zero", | ||
|  |       "percentage": false, | ||
|  |       "pluginVersion": "7.1.3", | ||
|  |       "pointradius": 2, | ||
|  |       "points": false, | ||
|  |       "renderer": "flot", | ||
|  |       "seriesOverrides": [], | ||
|  |       "spaceLength": 10, | ||
|  |       "stack": false, | ||
|  |       "steppedLine": false, | ||
|  |       "targets": [ | ||
|  |         { | ||
|  |           "expr": "irate(pinchflat_prom_ex_phoenix_socket_connected_duration_milliseconds_count{job=\"$job\", instance=\"$instance\", endpoint=\"$endpoint\"}[$interval])", | ||
|  |           "interval": "", | ||
|  |           "legendFormat": "{{ transport }} :: {{ result }}", | ||
|  |           "refId": "A" | ||
|  |         } | ||
|  |       ], | ||
|  |       "thresholds": [], | ||
|  |       "timeFrom": null, | ||
|  |       "timeRegions": [], | ||
|  |       "timeShift": null, | ||
|  |       "title": "Socket Connection Events", | ||
|  |       "tooltip": { | ||
|  |         "shared": true, | ||
|  |         "sort": 2, | ||
|  |         "value_type": "individual" | ||
|  |       }, | ||
|  |       "type": "graph", | ||
|  |       "xaxis": { | ||
|  |         "buckets": null, | ||
|  |         "mode": "time", | ||
|  |         "name": null, | ||
|  |         "show": true, | ||
|  |         "values": [] | ||
|  |       }, | ||
|  |       "yaxes": [ | ||
|  |         { | ||
|  |           "format": "short", | ||
|  |           "label": "Channel joins", | ||
|  |           "logBase": 1, | ||
|  |           "max": null, | ||
|  |           "min": "0", | ||
|  |           "show": true | ||
|  |         }, | ||
|  |         { | ||
|  |           "format": "short", | ||
|  |           "label": null, | ||
|  |           "logBase": 1, | ||
|  |           "max": null, | ||
|  |           "min": null, | ||
|  |           "show": false | ||
|  |         } | ||
|  |       ], | ||
|  |       "yaxis": { | ||
|  |         "align": false, | ||
|  |         "alignLevel": null | ||
|  |       } | ||
|  |     }, | ||
|  |     { | ||
|  |       "cards": { | ||
|  |         "cardPadding": null, | ||
|  |         "cardRound": null | ||
|  |       }, | ||
|  |       "color": { | ||
|  |         "cardColor": "#b4ff00", | ||
|  |         "colorScale": "sqrt", | ||
|  |         "colorScheme": "interpolateOranges", | ||
|  |         "exponent": 0.5, | ||
|  |         "mode": "spectrum" | ||
|  |       }, | ||
|  |       "dataFormat": "tsbuckets", | ||
|  |       "datasource": "prometheus", | ||
|  |       "description": "A heatmap showing the request time spread across all socket connections.", | ||
|  |       "gridPos": { | ||
|  |         "h": 13, | ||
|  |         "w": 12, | ||
|  |         "x": 12, | ||
|  |         "y": 85 | ||
|  |       }, | ||
|  |       "heatmap": {}, | ||
|  |       "hideZeroBuckets": true, | ||
|  |       "highlightCards": true, | ||
|  |       "id": 36, | ||
|  |       "legend": { | ||
|  |         "show": true | ||
|  |       }, | ||
|  |       "pluginVersion": "7.1.3", | ||
|  |       "reverseYBuckets": false, | ||
|  |       "targets": [ | ||
|  |         { | ||
|  |           "exemplar": true, | ||
|  |           "expr": "sum(irate(pinchflat_prom_ex_phoenix_socket_connected_duration_milliseconds_bucket{job=\"$job\", instance=\"$instance\", endpoint=\"$endpoint\"}[$interval])) by (le)", | ||
|  |           "format": "heatmap", | ||
|  |           "hide": false, | ||
|  |           "interval": "", | ||
|  |           "legendFormat": "{{ le }}", | ||
|  |           "refId": "A" | ||
|  |         } | ||
|  |       ], | ||
|  |       "timeFrom": null, | ||
|  |       "timeShift": null, | ||
|  |       "title": "Socket Connection Time", | ||
|  |       "tooltip": { | ||
|  |         "show": true, | ||
|  |         "showHistogram": true | ||
|  |       }, | ||
|  |       "type": "heatmap", | ||
|  |       "xAxis": { | ||
|  |         "show": true | ||
|  |       }, | ||
|  |       "xBucketNumber": null, | ||
|  |       "xBucketSize": null, | ||
|  |       "yAxis": { | ||
|  |         "decimals": null, | ||
|  |         "format": "ms", | ||
|  |         "logBase": 1, | ||
|  |         "max": null, | ||
|  |         "min": null, | ||
|  |         "show": true, | ||
|  |         "splitFactor": null | ||
|  |       }, | ||
|  |       "yBucketBound": "auto", | ||
|  |       "yBucketNumber": null, | ||
|  |       "yBucketSize": null | ||
|  |     }, | ||
|  |     { | ||
|  |       "aliasColors": {}, | ||
|  |       "bars": false, | ||
|  |       "dashLength": 10, | ||
|  |       "dashes": false, | ||
|  |       "datasource": "prometheus", | ||
|  |       "description": "The average time it connects to establish a socket connection.", | ||
|  |       "fieldConfig": { | ||
|  |         "defaults": { | ||
|  |           "custom": {} | ||
|  |         }, | ||
|  |         "overrides": [] | ||
|  |       }, | ||
|  |       "fill": 1, | ||
|  |       "fillGradient": 0, | ||
|  |       "gridPos": { | ||
|  |         "h": 13, | ||
|  |         "w": 12, | ||
|  |         "x": 0, | ||
|  |         "y": 98 | ||
|  |       }, | ||
|  |       "hiddenSeries": false, | ||
|  |       "id": 37, | ||
|  |       "legend": { | ||
|  |         "alignAsTable": true, | ||
|  |         "avg": false, | ||
|  |         "current": true, | ||
|  |         "hideEmpty": false, | ||
|  |         "hideZero": false, | ||
|  |         "max": true, | ||
|  |         "min": false, | ||
|  |         "rightSide": true, | ||
|  |         "show": true, | ||
|  |         "total": false, | ||
|  |         "values": true | ||
|  |       }, | ||
|  |       "lines": true, | ||
|  |       "linewidth": 1, | ||
|  |       "nullPointMode": "null as zero", | ||
|  |       "percentage": false, | ||
|  |       "pluginVersion": "7.1.3", | ||
|  |       "pointradius": 2, | ||
|  |       "points": false, | ||
|  |       "renderer": "flot", | ||
|  |       "seriesOverrides": [], | ||
|  |       "spaceLength": 10, | ||
|  |       "stack": false, | ||
|  |       "steppedLine": false, | ||
|  |       "targets": [ | ||
|  |         { | ||
|  |           "expr": "irate(pinchflat_prom_ex_phoenix_socket_connected_duration_milliseconds_sum{job=\"$job\", instance=\"$instance\", endpoint=\"$endpoint\"}[$interval]) / irate(pinchflat_prom_ex_phoenix_socket_connected_duration_milliseconds_count{job=\"$job\", instance=\"$instance\", endpoint=\"$endpoint\"}[$interval])", | ||
|  |           "interval": "", | ||
|  |           "legendFormat": "{{ transport }} :: {{ result }}", | ||
|  |           "refId": "A" | ||
|  |         } | ||
|  |       ], | ||
|  |       "thresholds": [], | ||
|  |       "timeFrom": null, | ||
|  |       "timeRegions": [], | ||
|  |       "timeShift": null, | ||
|  |       "title": "Average Socket Connection Time", | ||
|  |       "tooltip": { | ||
|  |         "shared": true, | ||
|  |         "sort": 2, | ||
|  |         "value_type": "individual" | ||
|  |       }, | ||
|  |       "type": "graph", | ||
|  |       "xaxis": { | ||
|  |         "buckets": null, | ||
|  |         "mode": "time", | ||
|  |         "name": null, | ||
|  |         "show": true, | ||
|  |         "values": [] | ||
|  |       }, | ||
|  |       "yaxes": [ | ||
|  |         { | ||
|  |           "format": "ms", | ||
|  |           "label": "Response Time", | ||
|  |           "logBase": 1, | ||
|  |           "max": null, | ||
|  |           "min": "0", | ||
|  |           "show": true | ||
|  |         }, | ||
|  |         { | ||
|  |           "format": "short", | ||
|  |           "label": null, | ||
|  |           "logBase": 1, | ||
|  |           "max": null, | ||
|  |           "min": null, | ||
|  |           "show": false | ||
|  |         } | ||
|  |       ], | ||
|  |       "yaxis": { | ||
|  |         "align": false, | ||
|  |         "alignLevel": null | ||
|  |       } | ||
|  |     } | ||
|  |   ], | ||
|  |   "refresh": "5s", | ||
|  |   "schemaVersion": 26, | ||
|  |   "style": "dark", | ||
|  |   "tags": ["PromEx", "Phoenix", "pinchflat"], | ||
|  |   "templating": { | ||
|  |     "list": [ | ||
|  |       { | ||
|  |         "allValue": null, | ||
|  |         "datasource": "prometheus", | ||
|  |         "definition": "label_values(pinchflat_prom_ex_prom_ex_status_info, job)", | ||
|  |         "hide": 0, | ||
|  |         "includeAll": false, | ||
|  |         "label": "Prometheus Job", | ||
|  |         "multi": false, | ||
|  |         "name": "job", | ||
|  |         "options": [], | ||
|  |         "query": "label_values(pinchflat_prom_ex_prom_ex_status_info, job)", | ||
|  |         "refresh": 2, | ||
|  |         "regex": "", | ||
|  |         "skipUrlSync": false, | ||
|  |         "sort": 6, | ||
|  |         "tagValuesQuery": "", | ||
|  |         "tags": [], | ||
|  |         "tagsQuery": "", | ||
|  |         "type": "query", | ||
|  |         "useTags": false | ||
|  |       }, | ||
|  |       { | ||
|  |         "allValue": null, | ||
|  |         "datasource": "prometheus", | ||
|  |         "definition": "label_values(pinchflat_prom_ex_prom_ex_status_info, instance)", | ||
|  |         "hide": 0, | ||
|  |         "includeAll": false, | ||
|  |         "label": "Application Instance", | ||
|  |         "multi": false, | ||
|  |         "name": "instance", | ||
|  |         "options": [], | ||
|  |         "query": "label_values(pinchflat_prom_ex_prom_ex_status_info{job=\"$job\"}, instance)", | ||
|  |         "refresh": 2, | ||
|  |         "regex": "", | ||
|  |         "skipUrlSync": false, | ||
|  |         "sort": 0, | ||
|  |         "tagValuesQuery": "", | ||
|  |         "tagsQuery": "", | ||
|  |         "type": "query", | ||
|  |         "useTags": false | ||
|  |       }, | ||
|  |       { | ||
|  |         "allValue": null, | ||
|  |         "datasource": "prometheus", | ||
|  |         "definition": "label_values(pinchflat_prom_ex_phoenix_endpoint_port_info, endpoint)", | ||
|  |         "hide": 0, | ||
|  |         "includeAll": false, | ||
|  |         "label": "Phoenix Endpoint", | ||
|  |         "multi": false, | ||
|  |         "name": "endpoint", | ||
|  |         "options": [], | ||
|  |         "query": "label_values(pinchflat_prom_ex_phoenix_endpoint_port_info, endpoint)", | ||
|  |         "refresh": 2, | ||
|  |         "regex": "", | ||
|  |         "skipUrlSync": false, | ||
|  |         "sort": 0, | ||
|  |         "tagValuesQuery": "", | ||
|  |         "tags": [], | ||
|  |         "tagsQuery": "", | ||
|  |         "type": "query", | ||
|  |         "useTags": false | ||
|  |       }, | ||
|  |       { | ||
|  |         "auto": false, | ||
|  |         "auto_count": 30, | ||
|  |         "auto_min": "10s", | ||
|  |         "current": { | ||
|  |           "selected": false, | ||
|  |           "text": "30s", | ||
|  |           "value": "30s" | ||
|  |         }, | ||
|  |         "hide": 0, | ||
|  |         "label": "Interval", | ||
|  |         "name": "interval", | ||
|  |         "options": [ | ||
|  |           { | ||
|  |             "selected": false, | ||
|  |             "text": "15s", | ||
|  |             "value": "15s" | ||
|  |           }, | ||
|  |           { | ||
|  |             "selected": true, | ||
|  |             "text": "30s", | ||
|  |             "value": "30s" | ||
|  |           }, | ||
|  |           { | ||
|  |             "selected": false, | ||
|  |             "text": "1m", | ||
|  |             "value": "1m" | ||
|  |           }, | ||
|  |           { | ||
|  |             "selected": false, | ||
|  |             "text": "5m", | ||
|  |             "value": "5m" | ||
|  |           }, | ||
|  |           { | ||
|  |             "selected": false, | ||
|  |             "text": "15m", | ||
|  |             "value": "15m" | ||
|  |           }, | ||
|  |           { | ||
|  |             "selected": false, | ||
|  |             "text": "30m", | ||
|  |             "value": "30m" | ||
|  |           }, | ||
|  |           { | ||
|  |             "selected": false, | ||
|  |             "text": "1h", | ||
|  |             "value": "1h" | ||
|  |           } | ||
|  |         ], | ||
|  |         "query": "15s, 30s, 1m, 5m, 15m, 30m, 1h", | ||
|  |         "queryValue": "", | ||
|  |         "refresh": 2, | ||
|  |         "skipUrlSync": false, | ||
|  |         "type": "interval" | ||
|  |       } | ||
|  |     ] | ||
|  |   }, | ||
|  |   "time": { | ||
|  |     "from": "now-1h", | ||
|  |     "to": "now" | ||
|  |   }, | ||
|  |   "timepicker": { | ||
|  |     "refresh_intervals": ["5s", "10s", "30s", "1m", "5m"] | ||
|  |   }, | ||
|  |   "timezone": "", | ||
|  |   "title": "Pinchflat - PromEx Phoenix Dashboard", | ||
|  |   "uid": "970297EC2ACFCF6777A4D3444B63C036", | ||
|  |   "version": 1 | ||
|  | } |