[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-grid5k] 70/73: update plotter README and dashboards
From: |
gnunet |
Subject: |
[taler-grid5k] 70/73: update plotter README and dashboards |
Date: |
Tue, 14 Dec 2021 15:10:52 +0100 |
This is an automated email from the git hooks/post-receive script.
marco-boss pushed a commit to branch master
in repository grid5k.
commit 396e680ea4e2967b44e918760d93429bc90a7d8a
Author: Boss Marco <bossm8@bfh.ch>
AuthorDate: Tue Dec 14 11:12:16 2021 +0100
update plotter README and dashboards
---
additional/README.md | 16 +++
additional/grafana/load-statistics.json | 70 +++++-------
additional/grafana/request-statistics.json | 176 +++++++++++++++++------------
additional/grafana/transactions.json | 143 ++++++++++++-----------
additional/plots/config.yaml | 6 +-
additional/plots/plot.sh | 10 ++
6 files changed, 241 insertions(+), 180 deletions(-)
diff --git a/additional/README.md b/additional/README.md
index 807f19a..25919f3 100644
--- a/additional/README.md
+++ b/additional/README.md
@@ -10,6 +10,22 @@ Create png plots from the grafana experiment dashboards using
To use this script, the `.env` file located in `experiment` needs to be
configured
since grafana configuration is read from there.
+Read config.yaml, plot.sh and the README of the dashboard plotter for help.
+
+Basically the steps are the following (inside plots directory):
+
+* Export the experiment start time as a unix timestamp:
+ `export FROM=$(date --date="today 08:30:00" +%s)`
+ If not done, now-4h is taken as default (override in config.yaml).
+* Optionally export the end of the experiment:
+ `export TO=$(date +%s)`
+ If not done, now is taken as default.
+* Run the script:
+ `./plot.sh <OPTIONAL_NAME>`
+ `OPTIONAL_NAME` can be a name for the experiment, it is used
+ in the archive which is created once the plots are finished.
+ Default is `TO`.
+
## grafana
### Custom
diff --git a/additional/grafana/load-statistics.json
b/additional/grafana/load-statistics.json
index 19157b1..c335d36 100644
--- a/additional/grafana/load-statistics.json
+++ b/additional/grafana/load-statistics.json
@@ -17,12 +17,13 @@
"pluginName": "Loki"
}
],
+ "__elements": [],
"__requires": [
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
- "version": "8.2.5"
+ "version": "8.3.2"
},
{
"type": "datasource",
@@ -64,7 +65,6 @@
},
"editable": true,
"fiscalYearStartMonth": 0,
- "gnetId": null,
"graphTooltip": 1,
"id": null,
"links": [],
@@ -72,7 +72,6 @@
"panels": [
{
"collapsed": false,
- "datasource": null,
"gridPos": {
"h": 1,
"w": 24,
@@ -85,7 +84,6 @@
"type": "row"
},
{
- "datasource": null,
"fieldConfig": {
"defaults": {
"color": {
@@ -168,7 +166,6 @@
"y": 1
},
"id": 2,
- "interval": null,
"maxDataPoints": 500,
"options": {
"legend": {
@@ -200,12 +197,10 @@
"refId": "B"
}
],
- "timeFrom": null,
"title": " [Exchange] Requests vs CPU",
"type": "timeseries"
},
{
- "datasource": null,
"description": "",
"fieldConfig": {
"defaults": {
@@ -289,7 +284,6 @@
"y": 1
},
"id": 7,
- "interval": null,
"maxDataPoints": 500,
"options": {
"legend": {
@@ -320,13 +314,11 @@
"refId": "B"
}
],
- "timeFrom": null,
"title": "[Exchange] Requests vs Network Traffic",
"type": "timeseries"
},
{
"collapsed": false,
- "datasource": null,
"gridPos": {
"h": 1,
"w": 24,
@@ -339,7 +331,6 @@
"type": "row"
},
{
- "datasource": null,
"fieldConfig": {
"defaults": {
"color": {
@@ -422,7 +413,6 @@
"y": 11
},
"id": 3,
- "interval": null,
"maxDataPoints": 500,
"options": {
"legend": {
@@ -451,12 +441,10 @@
"refId": "B"
}
],
- "timeFrom": null,
"title": "[Database] Requests vs CPU",
"type": "timeseries"
},
{
- "datasource": null,
"description": "",
"fieldConfig": {
"defaults": {
@@ -540,7 +528,6 @@
"y": 11
},
"id": 8,
- "interval": null,
"maxDataPoints": 500,
"options": {
"legend": {
@@ -571,12 +558,10 @@
"refId": "B"
}
],
- "timeFrom": null,
"title": "[Database] Requests vs Network Traffic",
"type": "timeseries"
},
{
- "datasource": null,
"description": "",
"fieldConfig": {
"defaults": {
@@ -660,7 +645,6 @@
"y": 20
},
"id": 5,
- "interval": null,
"maxDataPoints": 500,
"options": {
"legend": {
@@ -690,12 +674,10 @@
"refId": "C"
}
],
- "timeFrom": null,
"title": "Total Requests vs Disk Space used",
"type": "timeseries"
},
{
- "datasource": null,
"description": "",
"fieldConfig": {
"defaults": {
@@ -779,7 +761,6 @@
"y": 20
},
"id": 9,
- "interval": null,
"maxDataPoints": 500,
"options": {
"legend": {
@@ -809,12 +790,10 @@
"refId": "C"
}
],
- "timeFrom": null,
"title": "Requests vs I/O Utilization",
"type": "timeseries"
},
{
- "datasource": null,
"description": "",
"fieldConfig": {
"defaults": {
@@ -898,7 +877,6 @@
"y": 29
},
"id": 10,
- "interval": null,
"maxDataPoints": 500,
"options": {
"legend": {
@@ -928,12 +906,14 @@
"refId": "C"
}
],
- "timeFrom": null,
"title": "Requests vs Cache Hit Rate",
"type": "timeseries"
},
{
- "datasource": "-- Mixed --",
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
"description": "",
"fieldConfig": {
"defaults": {
@@ -1003,6 +983,10 @@
"value": {
"fill": "solid"
}
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 15
}
]
},
@@ -1027,7 +1011,6 @@
"y": 29
},
"id": 11,
- "interval": null,
"maxDataPoints": 500,
"options": {
"legend": {
@@ -1041,7 +1024,10 @@
},
"targets": [
{
- "datasource": "${DS_PROMETHEUS}",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"exemplar": true,
"expr": "sum(rate(nginx_http_requests_total{} [$__rate_interval]))",
"interval": "",
@@ -1050,19 +1036,20 @@
"refId": "A"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"expr": "rate({app=\"taler-database\"} |~ \"duration:\" [1m])",
"hide": false,
"legendFormat": "Slow Queries",
"refId": "C"
}
],
- "timeFrom": null,
"title": "Requests vs Slow Queries",
"type": "timeseries"
},
{
- "datasource": null,
"description": "Serialization Errors per Second and Request-Type",
"fieldConfig": {
"defaults": {
@@ -1075,7 +1062,7 @@
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
- "gradientMode": "none",
+ "gradientMode": "opacity",
"hideFrom": {
"legend": false,
"tooltip": false,
@@ -1184,7 +1171,10 @@
"type": "timeseries"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "",
"fieldConfig": {
"defaults": {
@@ -1256,6 +1246,10 @@
},
{
"id": "custom.lineStyle"
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 15
}
]
}
@@ -1268,8 +1262,6 @@
"y": 38
},
"id": 16,
- "interval": null,
- "maxDataPoints": null,
"options": {
"legend": {
"calcs": [],
@@ -1295,13 +1287,12 @@
"resolution": 1
}
],
- "timeFrom": null,
"title": "Proxy Response Time vs Slow Queries",
"type": "timeseries"
}
],
"refresh": "1m",
- "schemaVersion": 32,
+ "schemaVersion": 33,
"style": "dark",
"tags": [
"taler",
@@ -1311,12 +1302,13 @@
"list": []
},
"time": {
- "from": "now-3h",
+ "from": "now-1h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Load Statistics",
"uid": "rkyhDAt7z",
- "version": 46
+ "version": 48,
+ "weekStart": ""
}
\ No newline at end of file
diff --git a/additional/grafana/request-statistics.json
b/additional/grafana/request-statistics.json
index 82bd33a..4eb95cc 100644
--- a/additional/grafana/request-statistics.json
+++ b/additional/grafana/request-statistics.json
@@ -9,12 +9,13 @@
"pluginName": "Loki"
}
],
+ "__elements": [],
"__requires": [
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
- "version": "8.2.5"
+ "version": "8.3.2"
},
{
"type": "datasource",
@@ -57,16 +58,14 @@
"description": "",
"editable": true,
"fiscalYearStartMonth": 0,
- "gnetId": null,
"graphTooltip": 1,
"id": null,
- "iteration": 1639255499971,
+ "iteration": 1639471729428,
"links": [],
"liveNow": false,
"panels": [
{
"collapsed": false,
- "datasource": null,
"gridPos": {
"h": 1,
"w": 24,
@@ -79,7 +78,10 @@
"type": "row"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "round-trip-time wallet to proxy",
"fieldConfig": {
"defaults": {
@@ -126,7 +128,7 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"expr": "avg_over_time({app=\"taler-network\"} | logfmt |
src=\"wallet\" | unwrap duration(time) [$__range])",
@@ -139,7 +141,10 @@
"type": "stat"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "round-trip-time proxy to exchange",
"fieldConfig": {
"defaults": {
@@ -186,7 +191,7 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"expr": "avg_over_time({app=\"taler-network\"} | logfmt |
src=\"proxy\" | unwrap duration(time) [$__range])",
@@ -199,7 +204,10 @@
"type": "stat"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "round-trip-time exchange to database",
"fieldConfig": {
"defaults": {
@@ -246,7 +254,7 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"expr": "avg_over_time({app=\"taler-network\"} | logfmt |
src=\"exchange\" | unwrap duration(time) [$__range])",
@@ -260,7 +268,6 @@
},
{
"collapsed": false,
- "datasource": null,
"gridPos": {
"h": 1,
"w": 24,
@@ -273,7 +280,6 @@
"type": "row"
},
{
- "datasource": null,
"description": "Serialization Errors per Second and Request-Type",
"fieldConfig": {
"defaults": {
@@ -281,7 +287,7 @@
"mode": "palette-classic"
},
"custom": {
- "axisLabel": "",
+ "axisLabel": "Serialization Errors / Second",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
@@ -318,7 +324,7 @@
}
]
},
- "unit": "SE/s"
+ "unit": "none"
},
"overrides": []
},
@@ -355,7 +361,10 @@
"type": "timeseries"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "",
"fieldConfig": {
"defaults": {
@@ -363,12 +372,12 @@
"mode": "thresholds"
},
"custom": {
- "axisLabel": "",
+ "axisLabel": "Slow Queries / Second",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
+ "fillOpacity": 19,
+ "gradientMode": "hue",
"hideFrom": {
"legend": false,
"tooltip": false,
@@ -435,12 +444,11 @@
"refId": "A"
}
],
- "title": "Slow Query Logs per Second",
+ "title": "Slow Queries",
"type": "timeseries"
},
{
"collapsed": false,
- "datasource": null,
"gridPos": {
"h": 1,
"w": 24,
@@ -450,11 +458,14 @@
"id": 20,
"panels": [],
"repeat": "endpoint",
- "title": "Request Times ($endpoint) [$interval]",
+ "title": "Request Times ($endpoint)",
"type": "row"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "Minimal response time for successful (200) requests to
$endpoint",
"fieldConfig": {
"defaults": {
@@ -486,8 +497,6 @@
"y": 14
},
"id": 25,
- "interval": null,
- "maxDataPoints": null,
"options": {
"colorMode": "value",
"graphMode": "none",
@@ -503,7 +512,7 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"expr": "min_over_time(({app=\"taler_proxy\"} |~ \"s=200\" | logfmt
|~ \"${endpoint:dublequote} \" | unwrap rt) [$interval]) by (app)",
@@ -514,12 +523,14 @@
"resolution": 2
}
],
- "timeFrom": null,
- "title": "Minimal",
+ "title": "Minimal [$interval]",
"type": "stat"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "Average request time of successful (200) requests to
$endpoint",
"fieldConfig": {
"defaults": {
@@ -557,8 +568,6 @@
"y": 14
},
"id": 18,
- "interval": null,
- "maxDataPoints": null,
"options": {
"colorMode": "value",
"graphMode": "area",
@@ -574,7 +583,7 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"expr": "avg_over_time(({app=\"taler_proxy\"} |~ \"s=200\" | logfmt
|~ \"${endpoint:dublequote} \" | unwrap rt) [$interval]) by (app)",
@@ -584,13 +593,14 @@
"resolution": 2
}
],
- "timeFrom": null,
- "timeShift": null,
- "title": "Average",
+ "title": "Average [$interval]",
"type": "stat"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "Maximal response time for successful (200) requests to
$endpoint",
"fieldConfig": {
"defaults": {
@@ -637,7 +647,7 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"expr": "max_over_time({app=\"taler_proxy\"} |~ \"s=200\" | logfmt
|~ \"${endpoint:dublequote} \" | unwrap rt [$interval]) by (app)",
@@ -649,11 +659,14 @@
"resolution": 2
}
],
- "title": "Maximal",
+ "title": "Maximal [$interval]",
"type": "stat"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "Number of successful requests (=200) to $endpoint",
"fieldConfig": {
"defaults": {
@@ -697,18 +710,21 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"expr": "sum by (app) (count_over_time({app=\"taler_proxy\"} |~
\"s=200\" |~ \"${endpoint:dublequote} \"[$interval]))",
"refId": "A"
}
],
- "title": "Successful Requests",
+ "title": "Successful Requests [$interval]",
"type": "stat"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "Average response time for requests to $endpoint",
"fieldConfig": {
"defaults": {
@@ -768,8 +784,6 @@
"y": 14
},
"id": 14,
- "interval": null,
- "maxDataPoints": null,
"options": {
"legend": {
"calcs": [],
@@ -791,12 +805,14 @@
"resolution": 10
}
],
- "timeFrom": null,
- "title": "Request Time AVG",
+ "title": "Request Time AVG [$interval]",
"type": "timeseries"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "Number of failed requests (!=200) to $endpoint",
"fieldConfig": {
"defaults": {
@@ -843,18 +859,21 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"expr": "sum by (app) (count_over_time({app=\"taler_proxy\"} !~
\"s=200\" |~ \"${endpoint:dublequote} \" [$interval]))",
"refId": "A"
}
],
- "title": "Failed Requests",
+ "title": "Failed Requests [$interval]",
"type": "stat"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "Median response time for successful (200) requests to
$endpoint",
"fieldConfig": {
"defaults": {
@@ -901,7 +920,7 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"expr": "quantile_over_time(0.50, ({app=\"taler_proxy\"} |~
\"s=200\" | logfmt |~ \"${endpoint:dublequote} \" | unwrap rt) [$interval]) by
(app)",
@@ -913,11 +932,14 @@
"resolution": 2
}
],
- "title": "Median",
+ "title": "Median [$interval]",
"type": "stat"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "90% of requests to $endpoint complete successfully (200)
below this time",
"fieldConfig": {
"defaults": {
@@ -964,7 +986,7 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"expr": "quantile_over_time(0.90, ({app=\"taler_proxy\"} |~
\"s=200\" | logfmt |~ \"${endpoint:dublequote} \" | unwrap rt) [$interval]) by
(app)",
@@ -976,11 +998,14 @@
"resolution": 2
}
],
- "title": "90th Percentile",
+ "title": "90th Percentile [$interval]",
"type": "stat"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "99% of requests to $endpoint complete successfully (200)
below this time",
"fieldConfig": {
"defaults": {
@@ -1027,7 +1052,7 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"expr": "quantile_over_time(0.99, ({app=\"taler_proxy\"} |~
\"s=200\" | logfmt |~ \"${endpoint:dublequote} \" | unwrap rt) [$interval]) by
(app)",
@@ -1039,11 +1064,14 @@
"resolution": 2
}
],
- "title": "99th Percentile",
+ "title": "99th Percentile [$interval]",
"type": "stat"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "Standard deviation of response times for successful
(200) requests to $endpoint",
"fieldConfig": {
"defaults": {
@@ -1090,7 +1118,7 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"expr": "stddev_over_time(({app=\"taler_proxy\"} |~ \"s=200\" |
logfmt |~ \"${endpoint:dublequote} \" | unwrap rt) [$interval]) by (app)",
@@ -1102,11 +1130,14 @@
"resolution": 2
}
],
- "title": "Standard Deviation",
+ "title": "Standard Deviation [$interval]",
"type": "stat"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "",
"fieldConfig": {
"defaults": {
@@ -1175,7 +1206,6 @@
"mode": "single"
}
},
- "repeat": null,
"targets": [
{
"expr": "sum by (s) (count_over_time(({app=\"taler_proxy\"} | logfmt
|~ \"${endpoint:dublequote} \") [$interval]))",
@@ -1184,12 +1214,12 @@
"resolution": 10
}
],
- "title": "Number of Requests",
+ "title": "Number of Requests [$interval]",
"type": "timeseries"
}
],
"refresh": "1m",
- "schemaVersion": 32,
+ "schemaVersion": 33,
"style": "dark",
"tags": [
"performance",
@@ -1202,12 +1232,10 @@
"auto_count": 30,
"auto_min": "10s",
"current": {
- "selected": false,
- "text": "5m",
- "value": "5m"
+ "selected": true,
+ "text": "1m",
+ "value": "1m"
},
- "description": null,
- "error": null,
"hide": 0,
"label": "interval",
"name": "interval",
@@ -1218,7 +1246,7 @@
"value": "30s"
},
{
- "selected": false,
+ "selected": true,
"text": "1m",
"value": "1m"
},
@@ -1233,7 +1261,7 @@
"value": "3m"
},
{
- "selected": true,
+ "selected": false,
"text": "5m",
"value": "5m"
},
@@ -1270,14 +1298,11 @@
"type": "interval"
},
{
- "allValue": null,
"current": {
"selected": false,
"text": "All",
"value": "$__all"
},
- "description": null,
- "error": null,
"hide": 0,
"includeAll": true,
"label": "endpoint",
@@ -1356,5 +1381,6 @@
"timezone": "browser",
"title": "Request Statistics",
"uid": "WcfSXqDnk",
- "version": 122
+ "version": 131,
+ "weekStart": ""
}
\ No newline at end of file
diff --git a/additional/grafana/transactions.json
b/additional/grafana/transactions.json
index c198116..7b7d4f8 100644
--- a/additional/grafana/transactions.json
+++ b/additional/grafana/transactions.json
@@ -9,6 +9,7 @@
"pluginName": "Loki"
}
],
+ "__elements": [],
"__requires": [
{
"type": "panel",
@@ -20,7 +21,7 @@
"type": "grafana",
"id": "grafana",
"name": "Grafana",
- "version": "8.2.5"
+ "version": "8.3.2"
},
{
"type": "datasource",
@@ -63,7 +64,6 @@
"description": "",
"editable": true,
"fiscalYearStartMonth": 0,
- "gnetId": null,
"graphTooltip": 1,
"id": null,
"links": [],
@@ -71,7 +71,6 @@
"panels": [
{
"collapsed": false,
- "datasource": null,
"gridPos": {
"h": 1,
"w": 24,
@@ -84,7 +83,6 @@
"type": "row"
},
{
- "datasource": null,
"description": "Number of wallets running",
"fieldConfig": {
"defaults": {
@@ -131,7 +129,7 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"exemplar": true,
@@ -146,7 +144,6 @@
"type": "stat"
},
{
- "datasource": null,
"description": "Number of exchange processes running",
"fieldConfig": {
"defaults": {
@@ -188,7 +185,7 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"exemplar": true,
@@ -203,7 +200,6 @@
"type": "stat"
},
{
- "datasource": null,
"description": "Number of wirewatch processes running",
"fieldConfig": {
"defaults": {
@@ -245,7 +241,7 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"exemplar": true,
@@ -260,7 +256,6 @@
"type": "stat"
},
{
- "datasource": null,
"fieldConfig": {
"defaults": {
"color": {
@@ -317,7 +312,7 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"exemplar": true,
@@ -332,7 +327,6 @@
"type": "stat"
},
{
- "datasource": null,
"fieldConfig": {
"defaults": {
"color": {
@@ -389,7 +383,7 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"exemplar": true,
@@ -404,7 +398,6 @@
"type": "stat"
},
{
- "datasource": null,
"description": "",
"fieldConfig": {
"defaults": {
@@ -462,7 +455,7 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"exemplar": true,
@@ -477,7 +470,6 @@
"type": "stat"
},
{
- "datasource": null,
"description": "",
"fieldConfig": {
"defaults": {
@@ -535,7 +527,7 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"exemplar": true,
@@ -550,7 +542,6 @@
"type": "stat"
},
{
- "datasource": null,
"fieldConfig": {
"defaults": {
"color": {
@@ -607,7 +598,7 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"exemplar": true,
@@ -622,7 +613,6 @@
"type": "stat"
},
{
- "datasource": null,
"fieldConfig": {
"defaults": {
"color": {
@@ -679,7 +669,7 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"exemplar": true,
@@ -694,7 +684,6 @@
"type": "stat"
},
{
- "datasource": null,
"description": "",
"fieldConfig": {
"defaults": {
@@ -752,7 +741,7 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"exemplar": true,
@@ -768,7 +757,6 @@
},
{
"collapsed": false,
- "datasource": null,
"gridPos": {
"h": 1,
"w": 24,
@@ -781,7 +769,10 @@
"type": "row"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "Total successful (200) requests to /deposit and
/withdraw per second, measured at the nginx proxy and over the whole displayed
time range.",
"fieldConfig": {
"defaults": {
@@ -791,6 +782,7 @@
"mappings": [],
"max": 100000,
"min": 0,
+ "noValue": "0",
"thresholds": {
"mode": "absolute",
"steps": [
@@ -823,7 +815,7 @@
"showThresholdMarkers": true,
"text": {}
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"expr": "sum by (app) (rate({app=\"taler_proxy\"} |~
\"(/deposit|/withdraw)\" |~ \"s=200\" [2m] ))",
@@ -837,7 +829,10 @@
"type": "gauge"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "Total successful (200) requests per second to /withdraw
per second, measured at the nginx proxy and over the whole displayed time
range.",
"fieldConfig": {
"defaults": {
@@ -881,7 +876,7 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"expr": "sum by (app) (rate({app=\"taler_proxy\"} |~ \"/withdraw\"
|~ \"s=200\" [1h] ))",
@@ -895,7 +890,10 @@
"type": "stat"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "Total number of successful requests to /deposit and
/withdraw per second, measured at the nginx proxy and over a 5 minute
interval.",
"fieldConfig": {
"defaults": {
@@ -954,8 +952,6 @@
"y": 6
},
"id": 34,
- "interval": null,
- "maxDataPoints": null,
"options": {
"legend": {
"calcs": [],
@@ -974,13 +970,14 @@
"resolution": 10
}
],
- "timeFrom": null,
- "timeShift": null,
"title": "TPS History",
"type": "timeseries"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "Total successful (200) requests to /deposit per second,
measured at the nginx proxy and over the whole displayed time range.",
"fieldConfig": {
"defaults": {
@@ -1024,7 +1021,7 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"expr": "sum by (app) (rate({app=\"taler_proxy\"} |~ \"/deposit\" |~
\"s=200\" [1h] ))",
@@ -1038,7 +1035,10 @@
"type": "stat"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "",
"fieldConfig": {
"defaults": {
@@ -1084,7 +1084,7 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"expr": "(sum(count_over_time({app=\"taler_proxy\"} |~ \"/deposit\"
|~ \"s=200\" [1h]))) / (sum (count_over_time({app=\"taler_proxy\"} |~
\"/withdraw\" |~ \"s=200\" [1h])))",
@@ -1098,7 +1098,6 @@
},
{
"collapsed": true,
- "datasource": null,
"gridPos": {
"h": 1,
"w": 24,
@@ -1108,7 +1107,10 @@
"id": 20,
"panels": [
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "Total successful requests to withdraw a whole
reserve and to /deposit per second, measured at the nginx proxy and over the
whole displayed time range. (Requests to /withdraw are grouped into reserves
they belong to before they get counted.)",
"fieldConfig": {
"defaults": {
@@ -1118,6 +1120,7 @@
"mappings": [],
"max": 100000,
"min": 0,
+ "noValue": "0",
"thresholds": {
"mode": "absolute",
"steps": [
@@ -1150,7 +1153,7 @@
"showThresholdMarkers": true,
"text": {}
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"expr": "count without(uri) (sum by(uri)
(count_over_time({app=\"taler_proxy\"} |~ \"s=200\" |~ \"(/withdraw|/deposit)\"
| logfmt [2m]))) / 120",
@@ -1163,7 +1166,10 @@
"type": "gauge"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "Total successful requests to withdraw all coins of a
reserve per second, measured at the nginx proxy and over the whole displayed
time range. (Requests to /withdraw are grouped into reserves they belong to
before they get counted.)",
"fieldConfig": {
"defaults": {
@@ -1192,8 +1198,6 @@
"y": 16
},
"id": 16,
- "interval": null,
- "maxDataPoints": null,
"options": {
"colorMode": "value",
"graphMode": "none",
@@ -1209,7 +1213,7 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"expr": "(count without(uri) (sum by(uri)
(count_over_time({app=\"taler_proxy\"} |~ \"/withdraw\" |~ \"s=200\" | logfmt
[1h])))) / 3600",
@@ -1218,12 +1222,15 @@
"refId": "A"
}
],
- "title": "Withdrawals per Second",
+ "title": "Withdrawals per Second (Grouped)",
"transformations": [],
"type": "stat"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "Total successful requests to withdraw a whole
reserve and to /deposit per second, measured at the nginx proxy and over the
whole displayed time range. (Requests to /withdraw are grouped into reserves
they belong to before they get counted.)",
"fieldConfig": {
"defaults": {
@@ -1282,8 +1289,6 @@
"y": 16
},
"id": 26,
- "interval": null,
- "maxDataPoints": null,
"options": {
"legend": {
"calcs": [],
@@ -1302,13 +1307,14 @@
"resolution": 10
}
],
- "timeFrom": null,
- "timeShift": null,
- "title": "TPS History",
+ "title": "TPS History (Grouped)",
"type": "timeseries"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "",
"fieldConfig": {
"defaults": {
@@ -1352,7 +1358,7 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"expr": "sum by (app) (rate({app=\"taler_proxy\"} |~
\"/deposit\" |~ \"s=200\" [1h] ))",
@@ -1361,12 +1367,15 @@
"refId": "A"
}
],
- "title": "Payments per Second",
+ "title": "Payments per Second (Grouped)",
"transformations": [],
"type": "stat"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "",
"fieldConfig": {
"defaults": {
@@ -1412,7 +1421,7 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.5",
+ "pluginVersion": "8.3.2",
"targets": [
{
"expr": "(sum(count_over_time({app=\"taler_proxy\"} |~
\"/deposit\" |~ \"s=200\" [1h]))) / (count without(uri) (sum by(uri)
(count_over_time({app=\"taler_proxy\"} |~ \"/withdraw\" |~ \"s=200\" | logfmt
[1h]))))",
@@ -1421,7 +1430,7 @@
"refId": "A"
}
],
- "title": "Payments / Reserve",
+ "title": "Payments / Reserve (Grouped)",
"type": "stat"
}
],
@@ -1430,7 +1439,6 @@
},
{
"collapsed": false,
- "datasource": null,
"gridPos": {
"h": 1,
"w": 24,
@@ -1443,7 +1451,10 @@
"type": "row"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "Average time to withdraw all reserved coins in one
iteration, measured by the wallets.",
"fieldConfig": {
"defaults": {
@@ -1528,7 +1539,6 @@
"type": "timeseries"
},
{
- "datasource": null,
"description": "",
"fieldConfig": {
"defaults": {
@@ -1610,7 +1620,10 @@
"type": "timeseries"
},
{
- "datasource": "${DS_LOKI}",
+ "datasource": {
+ "type": "loki",
+ "uid": "${DS_LOKI}"
+ },
"description": "Average time to deposit coins measured by wallet - for
all deposits in one iteration",
"fieldConfig": {
"defaults": {
@@ -1693,7 +1706,6 @@
"type": "timeseries"
},
{
- "datasource": null,
"description": "",
"fieldConfig": {
"defaults": {
@@ -1776,7 +1788,7 @@
}
],
"refresh": "1m",
- "schemaVersion": 32,
+ "schemaVersion": 33,
"style": "dark",
"tags": [
"performance",
@@ -1786,12 +1798,13 @@
"list": []
},
"time": {
- "from": "now-3h",
+ "from": "now-1h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Transactions",
"uid": "83vvgKKnk",
- "version": 81
+ "version": 84,
+ "weekStart": ""
}
\ No newline at end of file
diff --git a/additional/plots/config.yaml b/additional/plots/config.yaml
index cfb6ee8..743ad4e 100644
--- a/additional/plots/config.yaml
+++ b/additional/plots/config.yaml
@@ -4,7 +4,11 @@
grafana:
admin_api_key: ${ADMIN_API_KEY}
base_url: ${BASE_URL}
- default_time_range: 14400 # 4 hours
+ # Default recording duration = 4 hours
+ # Can be overriden with --from
+ # With plot.sh this can be done by exporting FROM
+ # export FROM=$(date --date="today 08:30:00" +%s)
+ default_time_range: 14400
tls_verify: false
dashboards:
diff --git a/additional/plots/plot.sh b/additional/plots/plot.sh
index 12a1a17..11e0e9c 100755
--- a/additional/plots/plot.sh
+++ b/additional/plots/plot.sh
@@ -1,8 +1,14 @@
#!/bin/bash
# Create plots from the grafana dashboard
# $1: [optional] name of the experiment
+#
+# Additional env: FROM, from when the plots should start
+# e.g. export FROM=$(date --date="today 08:30:00" +%s)
+# Additional env: TO, OPTIONAL, to when the plots should end
+# e.g. export TO=$(date +%s)
set -eu
+# Setup the plotter from source
PLOTTER_DIR=plotter
source ../../experiment/.env
@@ -20,6 +26,7 @@ fi
source venv/bin/activate
pip install -r requirements.txt > /dev/null
+# Apply the configuration for the plotter by using the experiments env config
sed -e "s|\${ADMIN_API_KEY}|${GRAFANA_API_KEY}|g" \
-e "s|\${BASE_URL}|${GRAFANA_HOST}|g" \
../config.yaml > config.yaml
@@ -29,6 +36,7 @@ set +u
TO=${TO:-$(date +%s)}
if [ -z "${FROM}" ]; then
+ # Start with the configured default range (config.yaml - 4h)
python3 plots.py --to=${TO}
else
python3 plots.py --from=${FROM} --to=${TO}
@@ -45,12 +53,14 @@ NAME=$(\
tr A-Z a-z \
)
+# Make sure no existing archive is overridden
N=1
while [ -f ../plots-${NAME}.tar.gz ]; do
NAME="${NAME}-${N}"
((N++))
done
+# Create an archive and remove the plots created
tar -czvf ../plots-${NAME}.tar.gz plots
rm -rf plots
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [taler-grid5k] 36/73: Update image build, add install script to install taler binaries in running experiment, (continued)
- [taler-grid5k] 36/73: Update image build, add install script to install taler binaries in running experiment, gnunet, 2021/12/14
- [taler-grid5k] 63/73: fix, gnunet, 2021/12/14
- [taler-grid5k] 46/73: remove previous builds, gnunet, 2021/12/14
- [taler-grid5k] 62/73: fix monitor, gnunet, 2021/12/14
- [taler-grid5k] 49/73: monitor dns too, change db settings, gnunet, 2021/12/14
- [taler-grid5k] 59/73: fix taler-perf.sh, improve other scripts, gnunet, 2021/12/14
- [taler-grid5k] 56/73: fix startup, gnunet, 2021/12/14
- [taler-grid5k] 45/73: take postgres config to seperate file, gnunet, 2021/12/14
- [taler-grid5k] 38/73: speedup image build, gnunet, 2021/12/14
- [taler-grid5k] 40/73: document variables, gnunet, 2021/12/14
- [taler-grid5k] 70/73: update plotter README and dashboards,
gnunet <=
- [taler-grid5k] 65/73: filter wallet getRecord messages - they spam the logs, gnunet, 2021/12/14
- [taler-grid5k] 51/73: add auto explain - not tested yet, gnunet, 2021/12/14
- [taler-grid5k] 67/73: update dashboards, gnunet, 2021/12/14
- [taler-grid5k] 53/73: add more description about huge pages, gnunet, 2021/12/14
- [taler-grid5k] 71/73: remove unused rpecs and handled notes, gnunet, 2021/12/14
- [taler-grid5k] 69/73: update plotter script, gnunet, 2021/12/14
- [taler-grid5k] 72/73: add possibility to define grid5k repo branch for experiments, gnunet, 2021/12/14
- [taler-grid5k] 66/73: update dashboard exports, gnunet, 2021/12/14
- [taler-grid5k] 64/73: comment scripts and add help, gnunet, 2021/12/14
- [taler-grid5k] 73/73: scripts documented and commented, gnunet, 2021/12/14