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
|
||
|
}
|