1746 lines
52 KiB
JSON
1746 lines
52 KiB
JSON
{
|
|
"annotations": {
|
|
"list": [
|
|
{
|
|
"builtIn": 1,
|
|
"datasource": {
|
|
"type": "datasource",
|
|
"uid": "grafana"
|
|
},
|
|
"enable": true,
|
|
"hide": true,
|
|
"iconColor": "rgba(0, 211, 255, 1)",
|
|
"name": "Annotations & Alerts",
|
|
"target": {
|
|
"limit": 100,
|
|
"matchAny": false,
|
|
"tags": [],
|
|
"type": "dashboard"
|
|
},
|
|
"type": "dashboard"
|
|
}
|
|
]
|
|
},
|
|
"editable": true,
|
|
"fiscalYearStartMonth": 0,
|
|
"graphTooltip": 0,
|
|
"id": 13,
|
|
"iteration": 1660256037912,
|
|
"links": [],
|
|
"liveNow": false,
|
|
"panels": [
|
|
{
|
|
"collapsed": false,
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "w2iPT7fGz"
|
|
},
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"id": 25,
|
|
"panels": [],
|
|
"title": "General",
|
|
"type": "row"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"description": "",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "palette-classic"
|
|
},
|
|
"custom": {
|
|
"axisLabel": "",
|
|
"axisPlacement": "auto",
|
|
"barAlignment": 0,
|
|
"drawStyle": "line",
|
|
"fillOpacity": 0,
|
|
"gradientMode": "none",
|
|
"hideFrom": {
|
|
"legend": false,
|
|
"tooltip": false,
|
|
"viz": false
|
|
},
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"pointSize": 5,
|
|
"scaleDistribution": {
|
|
"log": 2,
|
|
"type": "log"
|
|
},
|
|
"showPoints": "auto",
|
|
"spanNulls": false,
|
|
"stacking": {
|
|
"group": "A",
|
|
"mode": "none"
|
|
},
|
|
"thresholdsStyle": {
|
|
"mode": "off"
|
|
}
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "red",
|
|
"value": 80
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"overrides": [
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "all"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "color",
|
|
"value": {
|
|
"fixedColor": "#4c4b5a",
|
|
"mode": "fixed"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"gridPos": {
|
|
"h": 9,
|
|
"w": 8,
|
|
"x": 0,
|
|
"y": 1
|
|
},
|
|
"id": 2,
|
|
"options": {
|
|
"legend": {
|
|
"calcs": [],
|
|
"displayMode": "list",
|
|
"placement": "bottom"
|
|
},
|
|
"tooltip": {
|
|
"mode": "single",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"pluginVersion": "8.4.6",
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"query": "import \"date\"\n\ndata = from(bucket: \"poseidon/autogen\")\n |> range(start: date.truncate(t: v.timeRangeStart, unit: 1m), stop: date.truncate(t: v.timeRangeStop, unit: 1m))\n |> filter(fn: (r) => r._field == \"duration\")\n |> filter(fn: (r) => contains(value: r[\"environment_id\"], set: ${environment_ids:json}))\n |> filter(fn: (r) => contains(value: r[\"status\"], set: ${status_codes:json}))\n |> filter(fn: (r) => (not exists r.stage) or contains(value: r[\"stage\"], set: ${stages:json}))\n |> keep(columns: [\"_time\", \"_value\", \"status\"])\n\nall = data |> set(key: \"status\", value: \"all\")\n\nresult = union(tables: [data, all])\n |> aggregateWindow(every: 1m, fn: count, createEmpty: true)\n\nif int(v: v.windowPeriod) > int(v: 1m) \n then result |> aggregateWindow(every: duration(v: int(v: v.windowPeriod) * 20), fn: mean, createEmpty: true)\n else result |> aggregateWindow(every: duration(v: int(v: v.windowPeriod) * 5), fn: mean, createEmpty: false)\n",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"title": "Requests per minute",
|
|
"type": "timeseries"
|
|
},
|
|
{
|
|
"cards": {},
|
|
"color": {
|
|
"cardColor": "#b4ff00",
|
|
"colorScale": "sqrt",
|
|
"colorScheme": "interpolateOranges",
|
|
"exponent": 0.5,
|
|
"mode": "spectrum"
|
|
},
|
|
"dataFormat": "timeseries",
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"description": "",
|
|
"gridPos": {
|
|
"h": 9,
|
|
"w": 8,
|
|
"x": 8,
|
|
"y": 1
|
|
},
|
|
"heatmap": {},
|
|
"hideZeroBuckets": false,
|
|
"highlightCards": true,
|
|
"id": 28,
|
|
"legend": {
|
|
"show": false
|
|
},
|
|
"pluginVersion": "8.4.6",
|
|
"reverseYBuckets": false,
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"query": "from(bucket: \"poseidon/autogen\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_field\"] == \"duration\")\n |> filter(fn: (r) => contains(value: r[\"environment_id\"], set: ${environment_ids:json}))\n |> filter(fn: (r) => contains(value: r[\"status\"], set: ${status_codes:json}))\n |> filter(fn: (r) => (not exists r.stage) or contains(value: r[\"stage\"], set: ${stages:json}))\n |> keep(columns: [\"_time\", \"_value\"])\n |> aggregateWindow(every: v.windowPeriod, fn: mean)\n",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"title": "Request Latency",
|
|
"tooltip": {
|
|
"show": true,
|
|
"showHistogram": false
|
|
},
|
|
"type": "heatmap",
|
|
"xAxis": {
|
|
"show": true
|
|
},
|
|
"yAxis": {
|
|
"decimals": 1,
|
|
"format": "ns",
|
|
"logBase": 1,
|
|
"show": true
|
|
},
|
|
"yBucketBound": "auto"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"description": "",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "palette-classic"
|
|
},
|
|
"custom": {
|
|
"axisLabel": "",
|
|
"axisPlacement": "auto",
|
|
"barAlignment": 0,
|
|
"drawStyle": "line",
|
|
"fillOpacity": 0,
|
|
"gradientMode": "none",
|
|
"hideFrom": {
|
|
"legend": false,
|
|
"tooltip": false,
|
|
"viz": false
|
|
},
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"pointSize": 5,
|
|
"scaleDistribution": {
|
|
"log": 10,
|
|
"type": "log"
|
|
},
|
|
"showPoints": "auto",
|
|
"spanNulls": false,
|
|
"stacking": {
|
|
"group": "A",
|
|
"mode": "none"
|
|
},
|
|
"thresholdsStyle": {
|
|
"mode": "off"
|
|
}
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "red",
|
|
"value": 80
|
|
}
|
|
]
|
|
},
|
|
"unit": "ns"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 9,
|
|
"w": 8,
|
|
"x": 16,
|
|
"y": 1
|
|
},
|
|
"id": 27,
|
|
"options": {
|
|
"legend": {
|
|
"calcs": [],
|
|
"displayMode": "list",
|
|
"placement": "bottom"
|
|
},
|
|
"tooltip": {
|
|
"mode": "single",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"pluginVersion": "8.4.6",
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"query": "from(bucket: \"poseidon/autogen\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_field\"] == \"duration\")\n |> filter(fn: (r) => contains(value: r[\"environment_id\"], set: ${environment_ids:json}))\n |> filter(fn: (r) => contains(value: r[\"status\"], set: ${status_codes:json}))\n |> filter(fn: (r) => (not exists r.stage) or contains(value: r[\"stage\"], set: ${stages:json}))\n |> keep(columns: [\"_time\", \"_value\", \"_measurement\"])\n |> aggregateWindow(every: duration(v: int(v: v.windowPeriod) * 10), fn: (tables=<-, column) => tables |> quantile(q: 0.999))\n",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"title": "Service time (99.9%)",
|
|
"type": "timeseries"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "fixed"
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "red",
|
|
"value": 80
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 6,
|
|
"w": 8,
|
|
"x": 0,
|
|
"y": 10
|
|
},
|
|
"id": 41,
|
|
"options": {
|
|
"orientation": "auto",
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": "",
|
|
"values": true
|
|
},
|
|
"showThresholdLabels": false,
|
|
"showThresholdMarkers": false
|
|
},
|
|
"pluginVersion": "8.5.5",
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"query": "import \"date\"\n\n// The need for the date truncation is caused by Poseidon sending all influx events at the same time when starting up. This way not the last but a random value is displayed.\n// Since in this startup process the highes value is the correct one, we choose the highest value of the last events.\n\ndata = from(bucket: \"poseidon/autogen\")\n |> range(start: -1y)\n |> filter(fn: (r) => r[\"_measurement\"] == \"poseidon_environments\")\n |> group(columns: [\"stage\"], mode:\"by\")\n |> map(fn: (r) => ({ r with _time: date.truncate(t: r._time, unit: 1m) }))\n\ndeploy_times = data\n |> last()\n |> keep(columns: [\"stage\", \"_time\"])\n\njoin(tables: {key1: data, key2: deploy_times}, on: [\"stage\", \"_time\"], method: \"inner\")\n |> max()\n |> keep(columns: [\"stage\", \"_value\"])\n |> rename(columns: {_value: \"\"})\n",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"title": "Current environment count",
|
|
"type": "gauge"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "fixed"
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "red",
|
|
"value": 80
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 6,
|
|
"w": 8,
|
|
"x": 8,
|
|
"y": 10
|
|
},
|
|
"id": 42,
|
|
"options": {
|
|
"orientation": "auto",
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": "",
|
|
"values": true
|
|
},
|
|
"showThresholdLabels": false,
|
|
"showThresholdMarkers": true
|
|
},
|
|
"pluginVersion": "8.5.5",
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"query": "from(bucket: \"poseidon/autogen\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"poseidon_used_runners\")\n |> filter(fn: (r) => r[\"_field\"] == \"count\")\n |> group(columns: [\"stage\"], mode:\"by\")\n |> last()\n |> keep(columns: [\"_value\", \"stage\"])\n |> rename(columns: {_value: \"\"})\n",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"title": "Currently used runners",
|
|
"type": "gauge"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "continuous-GrYlRd"
|
|
},
|
|
"mappings": [],
|
|
"min": 0,
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
}
|
|
]
|
|
},
|
|
"unit": "none"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 6,
|
|
"w": 8,
|
|
"x": 16,
|
|
"y": 10
|
|
},
|
|
"id": 37,
|
|
"options": {
|
|
"displayMode": "gradient",
|
|
"minVizHeight": 10,
|
|
"minVizWidth": 0,
|
|
"orientation": "auto",
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": "",
|
|
"values": false
|
|
},
|
|
"showUnfilled": true
|
|
},
|
|
"pluginVersion": "8.5.5",
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"query": "from(bucket: \"poseidon/autogen\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"poseidon_aws_executions\" or r[\"_measurement\"] == \"poseidon_nomad_executions\")\n |> filter(fn: (r) => contains(value: r[\"environment_id\"], set: ${environment_ids:json}))\n |> filter(fn: (r) => (not exists r.stage) or contains(value: r[\"stage\"], set: ${stages:json}))\n |> filter(fn: (r) => not bool(v: r[\"isDeletion\"]))\n |> group(columns: [\"environment_id\", \"stage\"], mode:\"by\")\n |> count()\n |> keep(columns: [\"_value\", \"environment_id\"])\n |> rename(columns: {_value: \"env\"})\n",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"title": "Number of Executions",
|
|
"type": "bargauge"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"mappings": [],
|
|
"min": 0,
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "super-light-green",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "green",
|
|
"value": 1000000000
|
|
},
|
|
{
|
|
"color": "yellow",
|
|
"value": 2000000000
|
|
},
|
|
{
|
|
"color": "#EF843C",
|
|
"value": 3000000000
|
|
},
|
|
{
|
|
"color": "light-red",
|
|
"value": 4000000000
|
|
},
|
|
{
|
|
"color": "dark-red",
|
|
"value": 5000000000
|
|
},
|
|
{
|
|
"color": "dark-purple",
|
|
"value": 10000000000
|
|
},
|
|
{
|
|
"color": "#000000",
|
|
"value": 20000000000
|
|
}
|
|
]
|
|
},
|
|
"unit": "ns"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 11,
|
|
"w": 8,
|
|
"x": 0,
|
|
"y": 16
|
|
},
|
|
"id": 20,
|
|
"options": {
|
|
"displayMode": "gradient",
|
|
"minVizHeight": 10,
|
|
"minVizWidth": 0,
|
|
"orientation": "horizontal",
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": "",
|
|
"values": true
|
|
},
|
|
"showUnfilled": true
|
|
},
|
|
"pluginVersion": "8.5.5",
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"query": "from(bucket: \"poseidon/autogen\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_field\"] == \"duration\")\n |> filter(fn: (r) => r[\"_measurement\"] == \"poseidon_/execute\" or r[\"_measurement\"] == \"poseidon_/files\" or r[\"_measurement\"] == \"poseidon_/websocket\")\n |> filter(fn: (r) => contains(value: r[\"environment_id\"], set: ${environment_ids:json}))\n |> filter(fn: (r) => contains(value: r[\"status\"], set: ${status_codes:json}))\n |> filter(fn: (r) => (not exists r.stage) or contains(value: r[\"stage\"], set: ${stages:json}))\n |> filter(fn: (r) => exists r.environment_id)\n |> drop(columns: [\"_field\", \"environment_type\", \"status\", \"_measurement\"])\n |> group(columns: [\"environment_id\", \"runner_id\"])\n |> mean()\n |> group(columns: [\"environment_id\"])\n |> mean()\n |> map(fn: (r) => ({r with _value: r._value * 3.0})) // Each execution has three requests\n |> rename(columns: {_value: \"env\"})\n",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"title": "Execution duration",
|
|
"type": "bargauge"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "continuous-RdYlGr"
|
|
},
|
|
"mappings": [],
|
|
"min": 0,
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "super-light-green",
|
|
"value": null
|
|
}
|
|
]
|
|
},
|
|
"unit": "none"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 11,
|
|
"w": 8,
|
|
"x": 8,
|
|
"y": 16
|
|
},
|
|
"id": 32,
|
|
"options": {
|
|
"displayMode": "gradient",
|
|
"minVizHeight": 10,
|
|
"minVizWidth": 0,
|
|
"orientation": "horizontal",
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": "",
|
|
"values": true
|
|
},
|
|
"showUnfilled": true
|
|
},
|
|
"pluginVersion": "8.5.5",
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"query": "data = from(bucket: \"poseidon/autogen\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => (not exists r.stage) or contains(value: r[\"stage\"], set: ${stages:json}))\n\nrunner_deletions = data\n |> filter(fn: (r) => r[\"_measurement\"] == \"poseidon_used_runners\")\n |> filter(fn: (r) => bool(v: r[\"isDeletion\"]))\n |> keep(columns: [\"id\"])\n |> rename(columns: {id: \"runner_id\"})\n\nexecutions = data\n |> filter(fn: (r) => r[\"_measurement\"] == \"poseidon_nomad_executions\" or r[\"_measurement\"] == \"poseidon_aws_executions\")\n |> filter(fn: (r) => not bool(v: r[\"isDeletion\"]))\n |> filter(fn: (r) => contains(value: r[\"environment_id\"], set: ${environment_ids:json}))\n |> keep(columns: [\"_value\", \"environment_id\", \"runner_id\"])\n |> count()\n\njoin(tables: {key1: executions, key2: runner_deletions}, on: [\"runner_id\"], method: \"inner\")\n |> keep(columns: [\"_value\", \"environment_id\"])\n |> mean()\n |> rename(columns: {_value: \"env\"})\n",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"title": "Executions per runner",
|
|
"type": "bargauge"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "continuous-GrYlRd"
|
|
},
|
|
"decimals": 2,
|
|
"mappings": [],
|
|
"min": 0,
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "super-light-green",
|
|
"value": null
|
|
}
|
|
]
|
|
},
|
|
"unit": "none"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 11,
|
|
"w": 8,
|
|
"x": 16,
|
|
"y": 16
|
|
},
|
|
"id": 26,
|
|
"options": {
|
|
"displayMode": "gradient",
|
|
"minVizHeight": 10,
|
|
"minVizWidth": 0,
|
|
"orientation": "horizontal",
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": "",
|
|
"values": true
|
|
},
|
|
"showUnfilled": true
|
|
},
|
|
"pluginVersion": "8.5.5",
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"query": "import \"date\"\n\nfrom(bucket: \"poseidon/autogen\")\n |> range(start: date.truncate(t: v.timeRangeStart, unit: 1m), stop: date.truncate(t: v.timeRangeStop, unit: 1m))\n |> filter(fn: (r) => r[\"_measurement\"] == \"poseidon_aws_executions\" or r[\"_measurement\"] == \"poseidon_nomad_executions\")\n |> filter(fn: (r) => contains(value: r[\"environment_id\"], set: ${environment_ids:json}))\n |> filter(fn: (r) => (not exists r.stage) or contains(value: r[\"stage\"], set: ${stages:json}))\n |> filter(fn: (r) => not bool(v: r[\"isDeletion\"]))\n |> group(columns: [\"environment_id\", \"stage\"], mode:\"by\")\n |> aggregateWindow(every: 1m, fn: count, createEmpty: true)\n |> keep(columns: [\"_value\", \"environment_id\"])\n |> mean()\n |> rename(columns: {_value: \"env\"})\n",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"title": "Executions per minute",
|
|
"type": "bargauge"
|
|
},
|
|
{
|
|
"collapsed": false,
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "w2iPT7fGz"
|
|
},
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 27
|
|
},
|
|
"id": 23,
|
|
"panels": [],
|
|
"title": "Runner Insights",
|
|
"type": "row"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"description": "",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"custom": {
|
|
"fillOpacity": 48,
|
|
"gradientMode": "none",
|
|
"hideFrom": {
|
|
"legend": false,
|
|
"tooltip": false,
|
|
"viz": false
|
|
},
|
|
"lineWidth": 1
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
}
|
|
]
|
|
},
|
|
"unit": "ns"
|
|
},
|
|
"overrides": [
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "32"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "color",
|
|
"value": {
|
|
"fixedColor": "red",
|
|
"mode": "fixed"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "10"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "color",
|
|
"value": {
|
|
"fixedColor": "green",
|
|
"mode": "fixed"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "14"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "color",
|
|
"value": {
|
|
"fixedColor": "yellow",
|
|
"mode": "fixed"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "29"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "color",
|
|
"value": {
|
|
"fixedColor": "orange",
|
|
"mode": "fixed"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "28"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "color",
|
|
"value": {
|
|
"fixedColor": "blue",
|
|
"mode": "fixed"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"__systemRef": "hideSeriesFrom",
|
|
"matcher": {
|
|
"id": "byNames",
|
|
"options": {
|
|
"mode": "exclude",
|
|
"names": [
|
|
"10"
|
|
],
|
|
"prefix": "All except:",
|
|
"readOnly": true
|
|
}
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "custom.hideFrom",
|
|
"value": {
|
|
"legend": false,
|
|
"tooltip": false,
|
|
"viz": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 28
|
|
},
|
|
"id": 29,
|
|
"options": {
|
|
"bucketOffset": 0,
|
|
"bucketSize": 100000000,
|
|
"legend": {
|
|
"calcs": [],
|
|
"displayMode": "list",
|
|
"placement": "bottom"
|
|
}
|
|
},
|
|
"pluginVersion": "8.4.6",
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"query": "from(bucket: \"poseidon/autogen\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_field\"] == \"duration\")\n |> filter(fn: (r) => contains(value: r[\"environment_id\"], set: ${environment_ids:json}))\n |> filter(fn: (r) => contains(value: r[\"status\"], set: ${status_codes:json}))\n |> filter(fn: (r) => (not exists r.stage) or contains(value: r[\"stage\"], set: ${stages:json}))\n |> filter(fn: (r) => r[\"_measurement\"] == \"poseidon_/execute\" or r[\"_measurement\"] == \"poseidon_/files\" or r[\"_measurement\"] == \"poseidon_/websocket\")\n |> filter(fn: (r) => exists r.environment_id)\n |> keep(columns: [\"_time\", \"_value\", \"environment_id\"])\n |> aggregateWindow(every: v.windowPeriod, fn: mean)\n |> map(fn: (r) => ({r with _value: r._value * 3.0})) // Each execution has three requests\n",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"title": "Execution duration",
|
|
"type": "histogram"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"description": "",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"custom": {
|
|
"fillOpacity": 80,
|
|
"gradientMode": "none",
|
|
"hideFrom": {
|
|
"legend": false,
|
|
"tooltip": false,
|
|
"viz": false
|
|
},
|
|
"lineWidth": 1
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "red",
|
|
"value": 80
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"overrides": [
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "32"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "color",
|
|
"value": {
|
|
"fixedColor": "red",
|
|
"mode": "fixed"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "10"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "color",
|
|
"value": {
|
|
"fixedColor": "green",
|
|
"mode": "fixed"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"__systemRef": "hideSeriesFrom",
|
|
"matcher": {
|
|
"id": "byNames",
|
|
"options": {
|
|
"mode": "exclude",
|
|
"names": [
|
|
"14"
|
|
],
|
|
"prefix": "All except:",
|
|
"readOnly": true
|
|
}
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "custom.hideFrom",
|
|
"value": {
|
|
"legend": false,
|
|
"tooltip": false,
|
|
"viz": true
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "14"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "color",
|
|
"value": {
|
|
"fixedColor": "yellow",
|
|
"mode": "fixed"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "29"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "color",
|
|
"value": {
|
|
"fixedColor": "orange",
|
|
"mode": "fixed"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"gridPos": {
|
|
"h": 10,
|
|
"w": 11,
|
|
"x": 0,
|
|
"y": 36
|
|
},
|
|
"id": 33,
|
|
"options": {
|
|
"bucketOffset": 0,
|
|
"bucketSize": 1,
|
|
"legend": {
|
|
"calcs": [],
|
|
"displayMode": "list",
|
|
"placement": "bottom"
|
|
}
|
|
},
|
|
"pluginVersion": "8.4.6",
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"query": "data = from(bucket: \"poseidon/autogen\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => (not exists r.stage) or contains(value: r[\"stage\"], set: ${stages:json}))\n\nrunner_deletions = data\n |> filter(fn: (r) => r[\"_measurement\"] == \"poseidon_used_runners\")\n |> filter(fn: (r) => bool(v: r[\"isDeletion\"]))\n |> keep(columns: [\"_time\", \"id\"])\n |> rename(columns: {id: \"runner_id\"})\n\nexecutions = data\n |> filter(fn: (r) => r[\"_measurement\"] == \"poseidon_nomad_executions\" or r[\"_measurement\"] == \"poseidon_aws_executions\")\n |> filter(fn: (r) => not bool(v: r[\"isDeletion\"]))\n |> filter(fn: (r) => contains(value: r[\"environment_id\"], set: ${environment_ids:json}))\n |> keep(columns: [\"_value\", \"environment_id\", \"runner_id\"])\n |> count()\n\njoin(tables: {key1: executions, key2: runner_deletions}, on: [\"runner_id\"], method: \"inner\")\n |> keep(columns: [\"_value\", \"_time\", \"environment_id\"])\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"title": "Executions per runner",
|
|
"type": "histogram"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"description": "",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "palette-classic"
|
|
},
|
|
"custom": {
|
|
"axisLabel": "",
|
|
"axisPlacement": "auto",
|
|
"barAlignment": 0,
|
|
"drawStyle": "line",
|
|
"fillOpacity": 0,
|
|
"gradientMode": "none",
|
|
"hideFrom": {
|
|
"legend": false,
|
|
"tooltip": false,
|
|
"viz": false
|
|
},
|
|
"lineInterpolation": "smooth",
|
|
"lineWidth": 1,
|
|
"pointSize": 5,
|
|
"scaleDistribution": {
|
|
"type": "linear"
|
|
},
|
|
"showPoints": "auto",
|
|
"spanNulls": false,
|
|
"stacking": {
|
|
"group": "A",
|
|
"mode": "none"
|
|
},
|
|
"thresholdsStyle": {
|
|
"mode": "off"
|
|
}
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "red",
|
|
"value": 80
|
|
}
|
|
]
|
|
},
|
|
"unit": "none"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 10,
|
|
"w": 13,
|
|
"x": 11,
|
|
"y": 36
|
|
},
|
|
"id": 21,
|
|
"options": {
|
|
"legend": {
|
|
"calcs": [],
|
|
"displayMode": "list",
|
|
"placement": "bottom"
|
|
},
|
|
"tooltip": {
|
|
"mode": "single",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"pluginVersion": "8.4.6",
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"query": "import \"date\"\n\nfrom(bucket: \"poseidon/autogen\")\n |> range(start: date.truncate(t: v.timeRangeStart, unit: 1m), stop: date.truncate(t: v.timeRangeStop, unit: 1m))\n |> filter(fn: (r) => r[\"_field\"] == \"duration\")\n |> filter(fn: (r) => contains(value: r[\"environment_id\"], set: ${environment_ids:json}))\n |> filter(fn: (r) => contains(value: r[\"status\"], set: ${status_codes:json}))\n |> filter(fn: (r) => (not exists r.stage) or contains(value: r[\"stage\"], set: ${stages:json}))\n |> filter(fn: (r) => r[\"_measurement\"] == \"poseidon_/websocket\")\n |> keep(columns: [\"_time\", \"_value\", \"environment_id\"])\n |> aggregateWindow(every: 1m, fn: count, createEmpty: true)\n |> aggregateWindow(every: duration(v: int(v: v.windowPeriod) * 10), fn: mean, createEmpty: true)\n",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"title": "Executions per minute",
|
|
"type": "timeseries"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"description": "",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "palette-classic"
|
|
},
|
|
"custom": {
|
|
"axisLabel": "",
|
|
"axisPlacement": "auto",
|
|
"barAlignment": 0,
|
|
"drawStyle": "line",
|
|
"fillOpacity": 0,
|
|
"gradientMode": "none",
|
|
"hideFrom": {
|
|
"legend": false,
|
|
"tooltip": false,
|
|
"viz": false
|
|
},
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"pointSize": 5,
|
|
"scaleDistribution": {
|
|
"log": 2,
|
|
"type": "log"
|
|
},
|
|
"showPoints": "auto",
|
|
"spanNulls": false,
|
|
"stacking": {
|
|
"group": "A",
|
|
"mode": "none"
|
|
},
|
|
"thresholdsStyle": {
|
|
"mode": "off"
|
|
}
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "red",
|
|
"value": 80
|
|
}
|
|
]
|
|
},
|
|
"unit": "bytes"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 10,
|
|
"w": 11,
|
|
"x": 0,
|
|
"y": 46
|
|
},
|
|
"id": 38,
|
|
"options": {
|
|
"legend": {
|
|
"calcs": [],
|
|
"displayMode": "list",
|
|
"placement": "bottom"
|
|
},
|
|
"tooltip": {
|
|
"mode": "single",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"pluginVersion": "8.4.6",
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"query": "result = from(bucket: \"poseidon/autogen\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_field\"] == \"request_size\")\n |> filter(fn: (r) => contains(value: r[\"environment_id\"], set: ${environment_ids:json}))\n |> filter(fn: (r) => contains(value: r[\"status\"], set: ${status_codes:json}))\n |> filter(fn: (r) => (not exists r.stage) or contains(value: r[\"stage\"], set: ${stages:json}))\n |> keep(columns: [\"_time\", \"_value\", \"environment_id\"])\n\nif int(v: v.windowPeriod) > int(v: 1m) \n then result |> aggregateWindow(every: duration(v: int(v: v.windowPeriod) * 10), fn: mean, createEmpty: true)\n else result |> aggregateWindow(every: duration(v: int(v: v.windowPeriod) * 5), fn: mean, createEmpty: false)\n",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"title": "Request Body Size",
|
|
"type": "timeseries"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"description": "",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "palette-classic"
|
|
},
|
|
"custom": {
|
|
"axisLabel": "",
|
|
"axisPlacement": "auto",
|
|
"barAlignment": 0,
|
|
"drawStyle": "line",
|
|
"fillOpacity": 0,
|
|
"gradientMode": "none",
|
|
"hideFrom": {
|
|
"legend": false,
|
|
"tooltip": false,
|
|
"viz": false
|
|
},
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"pointSize": 5,
|
|
"scaleDistribution": {
|
|
"type": "linear"
|
|
},
|
|
"showPoints": "auto",
|
|
"spanNulls": false,
|
|
"stacking": {
|
|
"group": "A",
|
|
"mode": "none"
|
|
},
|
|
"thresholdsStyle": {
|
|
"mode": "off"
|
|
}
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "red",
|
|
"value": 80
|
|
}
|
|
]
|
|
},
|
|
"unit": "none"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 10,
|
|
"w": 13,
|
|
"x": 11,
|
|
"y": 46
|
|
},
|
|
"id": 30,
|
|
"options": {
|
|
"legend": {
|
|
"calcs": [],
|
|
"displayMode": "list",
|
|
"placement": "bottom"
|
|
},
|
|
"tooltip": {
|
|
"mode": "single",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"pluginVersion": "8.4.6",
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"query": "import \"date\"\n\nresult = from(bucket: \"poseidon/autogen\")\n |> range(start: date.truncate(t: v.timeRangeStart, unit: 1m), stop: date.truncate(t: v.timeRangeStop, unit: 1m))\n |> filter(fn: (r) => r[\"_measurement\"] == \"poseidon_used_runners\")\n |> filter(fn: (r) => contains(value: r[\"environment_id\"], set: ${environment_ids:json}))\n |> filter(fn: (r) => (not exists r.stage) or contains(value: r[\"stage\"], set: ${stages:json}))\n |> filter(fn: (r) => not bool(v: r[\"isDeletion\"]))\n |> group(columns: [\"environment_id\", \"stage\"], mode:\"by\")\n |> aggregateWindow(every: 1m, fn: count, createEmpty: true)\n |> keep(columns: [\"_value\", \"_time\", \"environment_id\"])\n\nif int(v: v.windowPeriod) > int(v: 2m) \n then result |> aggregateWindow(every: duration(v: int(v: v.windowPeriod) * 30), fn: mean, createEmpty: true)\n else result |> aggregateWindow(every: duration(v: int(v: v.windowPeriod) * 15), fn: mean, createEmpty: true)\n",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"title": "Runner per minute",
|
|
"type": "timeseries"
|
|
},
|
|
{
|
|
"collapsed": false,
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "w2iPT7fGz"
|
|
},
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 56
|
|
},
|
|
"id": 36,
|
|
"panels": [],
|
|
"title": "Availability",
|
|
"type": "row"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"description": "",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "continuous-GrYlRd"
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "red",
|
|
"value": 80
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 10,
|
|
"w": 9,
|
|
"x": 0,
|
|
"y": 57
|
|
},
|
|
"id": 34,
|
|
"options": {
|
|
"displayMode": "basic",
|
|
"minVizHeight": 10,
|
|
"minVizWidth": 0,
|
|
"orientation": "vertical",
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": "",
|
|
"values": false
|
|
},
|
|
"showUnfilled": true
|
|
},
|
|
"pluginVersion": "8.5.5",
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"query": "from(bucket: \"poseidon/autogen\")\n |> range(start: -1y)\n |> filter(fn: (r) => r[\"_measurement\"] == \"poseidon_poolsize\")\n |> filter(fn: (r) => contains(value: r[\"environment_id\"], set: ${environment_ids:json}))\n |> filter(fn: (r) => (not exists r.stage) or contains(value: r[\"stage\"], set: ${stages:json}))\n |> group(columns: [\"environment_id\", \"stage\"], mode:\"by\")\n |> last()\n |> keep(columns: [\"_value\", \"environment_id\"])\n |> rename(columns: {_value: \"env\"})\n",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"title": "Prewarming Pool Size",
|
|
"type": "bargauge"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"description": "",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "palette-classic"
|
|
},
|
|
"custom": {
|
|
"axisLabel": "",
|
|
"axisPlacement": "auto",
|
|
"barAlignment": 0,
|
|
"drawStyle": "line",
|
|
"fillOpacity": 0,
|
|
"gradientMode": "none",
|
|
"hideFrom": {
|
|
"legend": false,
|
|
"tooltip": false,
|
|
"viz": false
|
|
},
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"pointSize": 5,
|
|
"scaleDistribution": {
|
|
"type": "linear"
|
|
},
|
|
"showPoints": "auto",
|
|
"spanNulls": false,
|
|
"stacking": {
|
|
"group": "A",
|
|
"mode": "none"
|
|
},
|
|
"thresholdsStyle": {
|
|
"mode": "off"
|
|
}
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "red",
|
|
"value": 80
|
|
}
|
|
]
|
|
},
|
|
"unit": "none"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 10,
|
|
"w": 15,
|
|
"x": 9,
|
|
"y": 57
|
|
},
|
|
"id": 39,
|
|
"options": {
|
|
"legend": {
|
|
"calcs": [],
|
|
"displayMode": "list",
|
|
"placement": "bottom"
|
|
},
|
|
"tooltip": {
|
|
"mode": "single",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"pluginVersion": "8.4.6",
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"query": "from(bucket: \"poseidon/autogen\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"poseidon_nomad_idle_runners\" and r[\"_field\"] == \"count\")\n |> filter(fn: (r) => contains(value: r[\"environment_id\"], set: ${environment_ids:json}))\n |> filter(fn: (r) => (not exists r.stage) or contains(value: r[\"stage\"], set: ${stages:json}))\n |> keep(columns: [\"_value\", \"_time\", \"environment_id\"])\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"title": "Idle Runner",
|
|
"type": "timeseries"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"description": "",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "palette-classic"
|
|
},
|
|
"custom": {
|
|
"axisLabel": "",
|
|
"axisPlacement": "auto",
|
|
"barAlignment": 0,
|
|
"drawStyle": "line",
|
|
"fillOpacity": 0,
|
|
"gradientMode": "none",
|
|
"hideFrom": {
|
|
"legend": false,
|
|
"tooltip": false,
|
|
"viz": false
|
|
},
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"pointSize": 5,
|
|
"scaleDistribution": {
|
|
"type": "linear"
|
|
},
|
|
"showPoints": "auto",
|
|
"spanNulls": false,
|
|
"stacking": {
|
|
"group": "A",
|
|
"mode": "none"
|
|
},
|
|
"thresholdsStyle": {
|
|
"mode": "off"
|
|
}
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "red",
|
|
"value": 80
|
|
}
|
|
]
|
|
},
|
|
"unit": "ns"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 10,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 67
|
|
},
|
|
"id": 44,
|
|
"options": {
|
|
"legend": {
|
|
"calcs": [],
|
|
"displayMode": "list",
|
|
"placement": "bottom"
|
|
},
|
|
"tooltip": {
|
|
"mode": "single",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"pluginVersion": "8.4.6",
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"query": "from(bucket: \"poseidon/autogen\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"poseidon_nomad_idle_runners\")\n |> filter(fn: (r) => r[\"_field\"] == \"startup_duration\")\n |> filter(fn: (r) => contains(value: r[\"environment_id\"], set: ${environment_ids:json}))\n |> filter(fn: (r) => (not exists r.stage) or contains(value: r[\"stage\"], set: ${stages:json}))\n |> keep(columns: [\"_value\", \"_time\", \"environment_id\"])\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"title": "Runner startup duration",
|
|
"type": "timeseries"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"description": "",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "palette-classic"
|
|
},
|
|
"custom": {
|
|
"axisLabel": "",
|
|
"axisPlacement": "auto",
|
|
"barAlignment": 0,
|
|
"drawStyle": "line",
|
|
"fillOpacity": 0,
|
|
"gradientMode": "none",
|
|
"hideFrom": {
|
|
"legend": false,
|
|
"tooltip": false,
|
|
"viz": false
|
|
},
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"pointSize": 5,
|
|
"scaleDistribution": {
|
|
"type": "linear"
|
|
},
|
|
"showPoints": "auto",
|
|
"spanNulls": false,
|
|
"stacking": {
|
|
"group": "A",
|
|
"mode": "none"
|
|
},
|
|
"thresholdsStyle": {
|
|
"mode": "off"
|
|
}
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "red",
|
|
"value": 80
|
|
}
|
|
]
|
|
},
|
|
"unit": "none"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 10,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 67
|
|
},
|
|
"id": 43,
|
|
"options": {
|
|
"legend": {
|
|
"calcs": [],
|
|
"displayMode": "list",
|
|
"placement": "bottom"
|
|
},
|
|
"tooltip": {
|
|
"mode": "single",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"pluginVersion": "8.4.6",
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"query": "from(bucket: \"poseidon/autogen\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"poseidon_used_runners\")\n |> filter(fn: (r) => r[\"_field\"] == \"count\")\n |> group(columns: [\"stage\"], mode:\"by\")\n |> keep(columns: [\"_value\", \"_time\", \"stage\"])\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"title": "Used Runner",
|
|
"type": "timeseries"
|
|
}
|
|
],
|
|
"refresh": "10s",
|
|
"schemaVersion": 36,
|
|
"style": "dark",
|
|
"tags": [],
|
|
"templating": {
|
|
"list": [
|
|
{
|
|
"current": {
|
|
"selected": true,
|
|
"text": [
|
|
"production"
|
|
],
|
|
"value": [
|
|
"production"
|
|
]
|
|
},
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"definition": "from(bucket: \"poseidon/autogen\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_field\"] == \"duration\")\n |> keep(columns: [\"stage\"])\n |> distinct(column: \"stage\")\n |> keep(columns: [\"_value\"])\n",
|
|
"description": "The stage of the Poseidon instance.",
|
|
"hide": 0,
|
|
"includeAll": true,
|
|
"label": "Stage",
|
|
"multi": true,
|
|
"name": "stages",
|
|
"options": [],
|
|
"query": "from(bucket: \"poseidon/autogen\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_field\"] == \"duration\")\n |> keep(columns: [\"stage\"])\n |> distinct(column: \"stage\")\n |> keep(columns: [\"_value\"])\n",
|
|
"refresh": 2,
|
|
"regex": "",
|
|
"skipUrlSync": false,
|
|
"sort": 0,
|
|
"type": "query"
|
|
},
|
|
{
|
|
"current": {
|
|
"selected": true,
|
|
"text": [
|
|
"All"
|
|
],
|
|
"value": [
|
|
"$__all"
|
|
]
|
|
},
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"definition": "from(bucket: \"poseidon/autogen\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_field\"] == \"duration\")\n |> keep(columns: [\"environment_id\"])\n |> distinct(column: \"environment_id\")\n |> keep(columns: [\"_value\"])\n",
|
|
"description": "All environments currently tracked by Poseidon",
|
|
"hide": 0,
|
|
"includeAll": true,
|
|
"label": "Environment IDs",
|
|
"multi": true,
|
|
"name": "environment_ids",
|
|
"options": [],
|
|
"query": "from(bucket: \"poseidon/autogen\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_field\"] == \"duration\")\n |> keep(columns: [\"environment_id\"])\n |> distinct(column: \"environment_id\")\n |> keep(columns: [\"_value\"])\n",
|
|
"refresh": 2,
|
|
"regex": "",
|
|
"skipUrlSync": false,
|
|
"sort": 0,
|
|
"type": "query"
|
|
},
|
|
{
|
|
"current": {
|
|
"selected": true,
|
|
"text": [
|
|
"All"
|
|
],
|
|
"value": [
|
|
"$__all"
|
|
]
|
|
},
|
|
"datasource": {
|
|
"type": "influxdb",
|
|
"uid": "cMBTRmQnz"
|
|
},
|
|
"definition": "from(bucket: \"poseidon/autogen\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_field\"] == \"duration\")\n |> keep(columns: [\"status\"])\n |> distinct(column: \"status\")\n |> keep(columns: [\"_value\"])\n",
|
|
"description": "The http status code of the Poseidon response.",
|
|
"hide": 0,
|
|
"includeAll": true,
|
|
"label": "Status Code",
|
|
"multi": true,
|
|
"name": "status_codes",
|
|
"options": [],
|
|
"query": "from(bucket: \"poseidon/autogen\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_field\"] == \"duration\")\n |> keep(columns: [\"status\"])\n |> distinct(column: \"status\")\n |> keep(columns: [\"_value\"])\n",
|
|
"refresh": 2,
|
|
"regex": "",
|
|
"skipUrlSync": false,
|
|
"sort": 0,
|
|
"type": "query"
|
|
}
|
|
]
|
|
},
|
|
"time": {
|
|
"from": "now-6h",
|
|
"to": "now"
|
|
},
|
|
"timepicker": {},
|
|
"timezone": "",
|
|
"title": "Poseidon",
|
|
"uid": "hQRzR1Qnz",
|
|
"version": 46,
|
|
"weekStart": ""
|
|
} |