[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-grid5k] 66/73: update dashboard exports
From: |
gnunet |
Subject: |
[taler-grid5k] 66/73: update dashboard exports |
Date: |
Tue, 14 Dec 2021 15:10:48 +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 0dc773f10d4c45997c6e572e25907af7fb067752
Author: Boss Marco <bossm8@bfh.ch>
AuthorDate: Sat Dec 11 20:20:28 2021 +0100
update dashboard exports
---
additional/grafana/database.json | 1208 ++++++++++++++++----
.../{overview.json => load-statistics.json} | 244 +++-
additional/grafana/logs.json | 51 +-
additional/grafana/request-statistics.json | 161 ++-
additional/grafana/transactions.json | 484 ++++----
experiment/scripts/bank.sh | 6 +-
experiment/scripts/benchmark.sh | 6 +-
experiment/scripts/database.sh | 8 +-
experiment/scripts/exchange.sh | 7 +-
experiment/scripts/monitor.sh | 6 +-
experiment/scripts/ping.sh | 4 +-
experiment/scripts/proxy.sh | 6 +-
experiment/scripts/setup.sh | 2 +
experiment/scripts/wallet.sh | 6 +-
14 files changed, 1593 insertions(+), 606 deletions(-)
diff --git a/additional/grafana/database.json b/additional/grafana/database.json
index 3ce80e8..b61f320 100644
--- a/additional/grafana/database.json
+++ b/additional/grafana/database.json
@@ -18,6 +18,12 @@
}
],
"__requires": [
+ {
+ "type": "panel",
+ "id": "bargauge",
+ "name": "Bar gauge",
+ "version": ""
+ },
{
"type": "grafana",
"id": "grafana",
@@ -48,6 +54,12 @@
"name": "Stat",
"version": ""
},
+ {
+ "type": "panel",
+ "id": "table",
+ "name": "Table",
+ "version": ""
+ },
{
"type": "panel",
"id": "timeseries",
@@ -78,9 +90,9 @@
"editable": true,
"fiscalYearStartMonth": 0,
"gnetId": 6742,
- "graphTooltip": 0,
+ "graphTooltip": 1,
"id": null,
- "iteration": 1637966315632,
+ "iteration": 1639246632570,
"links": [],
"liveNow": false,
"panels": [
@@ -104,7 +116,8 @@
"fieldConfig": {
"defaults": {
"color": {
- "mode": "thresholds"
+ "fixedColor": "text",
+ "mode": "fixed"
},
"mappings": [
{
@@ -123,10 +136,6 @@
{
"color": "green",
"value": null
- },
- {
- "color": "red",
- "value": 80
}
]
},
@@ -163,8 +172,9 @@
"targets": [
{
"exemplar": true,
- "expr": "pg_static{instance=~\"$instance\"}",
+ "expr": "pg_static{instance=~\"$instance\", server=\"$server\"}",
"format": "time_series",
+ "instant": true,
"interval": "",
"intervalFactor": 1,
"legendFormat": "{{short_version}}",
@@ -238,9 +248,13 @@
"pluginVersion": "8.2.5",
"targets": [
{
- "expr": "pg_settings_max_connections{instance=\"$instance\"}",
+ "exemplar": true,
+ "expr": "pg_settings_max_connections{instance=\"$instance\",
server=\"$server\"}",
"format": "time_series",
+ "instant": true,
+ "interval": "",
"intervalFactor": 1,
+ "legendFormat": "",
"refId": "A"
}
],
@@ -285,7 +299,7 @@
},
"gridPos": {
"h": 3,
- "w": 4,
+ "w": 3,
"x": 6,
"y": 1
},
@@ -311,9 +325,13 @@
"pluginVersion": "8.2.5",
"targets": [
{
- "expr": "pg_settings_shared_buffers_bytes{instance=\"$instance\"}",
+ "exemplar": true,
+ "expr": "pg_settings_shared_buffers_bytes{instance=\"$instance\",
server=\"$server\"}",
"format": "time_series",
+ "instant": true,
+ "interval": "",
"intervalFactor": 1,
+ "legendFormat": "",
"refId": "A"
}
],
@@ -358,8 +376,8 @@
},
"gridPos": {
"h": 3,
- "w": 4,
- "x": 10,
+ "w": 3,
+ "x": 9,
"y": 1
},
"id": 58,
@@ -384,9 +402,13 @@
"pluginVersion": "8.2.5",
"targets": [
{
- "expr":
"pg_settings_effective_cache_size_bytes{instance=\"$instance\"}",
+ "exemplar": true,
+ "expr":
"pg_settings_effective_cache_size_bytes{instance=\"$instance\",
server=\"$server\"}",
"format": "time_series",
+ "instant": true,
+ "interval": "",
"intervalFactor": 1,
+ "legendFormat": "",
"refId": "A"
}
],
@@ -431,8 +453,8 @@
},
"gridPos": {
"h": 3,
- "w": 4,
- "x": 14,
+ "w": 3,
+ "x": 12,
"y": 1
},
"id": 60,
@@ -457,9 +479,13 @@
"pluginVersion": "8.2.5",
"targets": [
{
- "expr":
"pg_settings_maintenance_work_mem_bytes{instance=\"$instance\"}",
+ "exemplar": true,
+ "expr":
"pg_settings_maintenance_work_mem_bytes{instance=\"$instance\",
server=\"$server\"}",
"format": "time_series",
+ "instant": true,
+ "interval": "",
"intervalFactor": 1,
+ "legendFormat": "",
"refId": "A"
}
],
@@ -505,7 +531,7 @@
"gridPos": {
"h": 3,
"w": 3,
- "x": 18,
+ "x": 15,
"y": 1
},
"id": 66,
@@ -530,8 +556,11 @@
"pluginVersion": "8.2.5",
"targets": [
{
- "expr": "pg_settings_work_mem_bytes{instance=\"$instance\"}",
+ "exemplar": true,
+ "expr": "pg_settings_work_mem_bytes{instance=\"$instance\",
server=\"$server\"}",
"format": "time_series",
+ "instant": true,
+ "interval": "",
"intervalFactor": 1,
"legendFormat": "",
"refId": "A"
@@ -580,7 +609,7 @@
"gridPos": {
"h": 3,
"w": 3,
- "x": 21,
+ "x": 18,
"y": 1
},
"id": 32,
@@ -605,9 +634,91 @@
"pluginVersion": "8.2.5",
"targets": [
{
- "expr": "pg_settings_max_wal_size_bytes{instance=\"$instance\"}",
+ "exemplar": true,
+ "expr": "pg_settings_min_wal_size_bytes{instance=\"$instance\",
server=\"$server\"}",
+ "format": "time_series",
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Min WAL Size",
+ "type": "stat"
+ },
+ {
+ "cacheTimeout": null,
+ "datasource": "${DS_PROMETHEUS}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 1
+ },
+ "id": 86,
+ "interval": null,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {},
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.2.5",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "pg_settings_max_wal_size_bytes{instance=\"$instance\",
server=\"$server\"}",
"format": "time_series",
+ "instant": true,
+ "interval": "",
"intervalFactor": 1,
+ "legendFormat": "",
"refId": "A"
}
],
@@ -678,9 +789,13 @@
"pluginVersion": "8.2.5",
"targets": [
{
- "expr": "pg_settings_random_page_cost{instance=\"$instance\"}",
+ "exemplar": true,
+ "expr": "pg_settings_random_page_cost{instance=\"$instance\",
server=\"$server\"}",
"format": "time_series",
+ "instant": true,
+ "interval": "",
"intervalFactor": 1,
+ "legendFormat": "",
"refId": "A"
}
],
@@ -729,15 +844,577 @@
"x": 3,
"y": 4
},
- "id": 70,
- "interval": null,
- "links": [],
- "maxDataPoints": 100,
+ "id": 70,
+ "interval": null,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {},
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.2.5",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "pg_settings_seq_page_cost{instance=~\"$instance\",
server=\"$server\"}",
+ "format": "time_series",
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Seq Page Cost",
+ "type": "stat"
+ },
+ {
+ "cacheTimeout": null,
+ "datasource": "${DS_PROMETHEUS}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 4
+ },
+ "id": 64,
+ "interval": null,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {},
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.2.5",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "pg_settings_max_worker_processes{instance=\"$instance\",
server=\"$server\"}",
+ "format": "time_series",
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Max Worker Processes",
+ "type": "stat"
+ },
+ {
+ "cacheTimeout": null,
+ "datasource": "${DS_PROMETHEUS}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 4
+ },
+ "id": 68,
+ "interval": null,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {},
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.2.5",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "pg_settings_max_parallel_workers{instance=\"$instance\",
server=\"$server\"}",
+ "format": "time_series",
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Max Parallel Workers",
+ "type": "stat"
+ },
+ {
+ "datasource": null,
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ },
+ "mappings": [],
+ "min": 13,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 4
+ },
+ "id": 83,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {},
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.2.5",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr":
"pg_settings_max_locks_per_transaction{instance=\"$instance\",
server=\"$server\"}",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Max Locks per Transaction",
+ "type": "stat"
+ },
+ {
+ "datasource": null,
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 4
+ },
+ "id": 82,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {},
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.2.5",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr":
"pg_settings_log_min_duration_statement_seconds{instance=\"$instance\",
server=\"$server\"}",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Log Min Duration Statement",
+ "type": "stat"
+ },
+ {
+ "datasource": null,
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 4
+ },
+ "id": 90,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {},
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.2.5",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr":
"pg_settings_auto_explain_log_min_duration_seconds{instance=\"$instance\",
server=\"$server\"}",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Auto Explain Log Min Duration",
+ "type": "stat"
+ },
+ {
+ "cacheTimeout": null,
+ "datasource": "${DS_PROMETHEUS}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "index": 0,
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 4
+ },
+ "id": 87,
+ "interval": null,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {},
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.2.5",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr":
"pg_settings_idle_in_transaction_session_timeout_seconds{instance=\"$instance\",
server=\"$server\"}",
+ "format": "time_series",
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Idle in Transaction Timeout",
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "datasource": null,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 85,
+ "panels": [],
+ "title": "Failure Statistics",
+ "type": "row"
+ },
+ {
+ "datasource": null,
+ "description": "Serialization Errors per Second and Request-Type",
+ "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
+ }
+ ]
+ },
+ "unit": "SE/s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 10,
+ "x": 0,
+ "y": 8
+ },
+ "id": 92,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.2.5",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum by (type)
(rate(taler_exchange_serialization_failures{}[1m]))",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "{{type}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Serialization Errors",
+ "transformations": [],
+ "type": "timeseries"
+ },
+ {
+ "datasource": null,
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 10,
+ "y": 8
+ },
+ "id": 76,
"options": {
- "colorMode": "none",
+ "colorMode": "value",
"graphMode": "none",
"justifyMode": "auto",
- "orientation": "horizontal",
+ "orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
@@ -752,93 +1429,81 @@
"targets": [
{
"exemplar": true,
- "expr": "pg_settings_seq_page_cost{instance=~\"$instance\"}",
- "format": "time_series",
+ "expr": "sum(pg_stat_database_xact_commit{instance=~\"$instance\",
server=\"$server\", datname=\"$db\"})",
+ "instant": true,
"interval": "",
- "intervalFactor": 1,
"legendFormat": "",
"refId": "A"
}
],
- "title": "Seq Page Cost",
+ "title": "Count of Commited Transactions",
"type": "stat"
},
{
- "cacheTimeout": null,
- "datasource": "${DS_PROMETHEUS}",
+ "datasource": null,
+ "description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
- "mappings": [
- {
- "options": {
- "match": "null",
- "result": {
- "text": "N/A"
- }
- },
- "type": "special"
- }
- ],
+ "mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
- "color": "green",
+ "color": "text",
"value": null
},
{
"color": "red",
- "value": 80
+ "value": 100
}
]
- },
- "unit": "none"
+ }
},
"overrides": []
},
"gridPos": {
- "h": 3,
- "w": 4,
- "x": 6,
- "y": 4
+ "h": 9,
+ "w": 6,
+ "x": 13,
+ "y": 8
},
- "id": 64,
- "interval": null,
- "links": [],
- "maxDataPoints": 100,
+ "id": 94,
"options": {
- "colorMode": "none",
- "graphMode": "none",
- "justifyMode": "auto",
+ "displayMode": "basic",
"orientation": "horizontal",
"reduceOptions": {
"calcs": [
- "mean"
+ "lastNotNull"
],
"fields": "",
"values": false
},
- "text": {},
- "textMode": "auto"
+ "showUnfilled": true,
+ "text": {}
},
"pluginVersion": "8.2.5",
"targets": [
{
- "expr": "pg_settings_max_worker_processes{instance=\"$instance\"}",
- "format": "time_series",
- "intervalFactor": 1,
+ "exemplar": true,
+ "expr": "sort_desc (sum by(type)
(taler_exchange_serialization_failures{}))",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "{{type}}",
"refId": "A"
}
],
- "title": "Max Worker Processes",
- "type": "stat"
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Serialization Errors by Request Type",
+ "transformations": [],
+ "type": "bargauge"
},
{
- "cacheTimeout": null,
- "datasource": "${DS_PROMETHEUS}",
+ "datasource": null,
+ "description": "",
"fieldConfig": {
"defaults": {
"color": {
@@ -847,45 +1512,41 @@
"mappings": [
{
"options": {
- "match": "null",
+ "match": "nan",
"result": {
- "text": "N/A"
+ "index": 0,
+ "text": "0%"
}
},
"type": "special"
}
],
"thresholds": {
- "mode": "absolute",
+ "mode": "percentage",
"steps": [
{
- "color": "green",
+ "color": "text",
"value": null
},
{
"color": "red",
- "value": 80
+ "value": 1
}
]
},
- "unit": "none"
+ "unit": "percentunit"
},
"overrides": []
},
"gridPos": {
- "h": 3,
- "w": 4,
- "x": 10,
- "y": 4
+ "h": 9,
+ "w": 5,
+ "x": 19,
+ "y": 8
},
- "id": 68,
- "interval": null,
- "links": [],
- "maxDataPoints": 100,
+ "id": 95,
"options": {
- "colorMode": "none",
- "graphMode": "none",
- "justifyMode": "auto",
+ "displayMode": "basic",
"orientation": "horizontal",
"reduceOptions": {
"calcs": [
@@ -894,28 +1555,33 @@
"fields": "",
"values": false
},
- "text": {},
- "textMode": "auto"
+ "showUnfilled": true,
+ "text": {}
},
"pluginVersion": "8.2.5",
"targets": [
{
- "expr": "pg_settings_max_parallel_workers{instance=\"$instance\"}",
- "format": "time_series",
- "intervalFactor": 1,
+ "exemplar": true,
+ "expr": "sort_desc(sum by(type)
(rate(taler_exchange_serialization_failures{}[10m]))\n/\nsum by(type)
(rate(taler_exchange_received_requests{}[10m])))",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "{{type}}",
"refId": "A"
}
],
- "title": "Max Parallel Workers",
- "type": "stat"
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Serialization Errors / Request",
+ "type": "bargauge"
},
{
- "datasource": "${DS_LOKI}",
- "description": "Number of queries which took longer than the configured
duration in postgresql.conf",
+ "datasource": null,
+ "description": "",
"fieldConfig": {
"defaults": {
"color": {
- "mode": "thresholds"
+ "fixedColor": "text",
+ "mode": "fixed"
},
"mappings": [],
"noValue": "0",
@@ -925,10 +1591,6 @@
{
"color": "green",
"value": null
- },
- {
- "color": "orange",
- "value": 50
}
]
}
@@ -937,14 +1599,14 @@
},
"gridPos": {
"h": 3,
- "w": 4,
- "x": 14,
- "y": 4
+ "w": 3,
+ "x": 10,
+ "y": 11
},
- "id": 72,
+ "id": 74,
"options": {
"colorMode": "value",
- "graphMode": "area",
+ "graphMode": "none",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
@@ -960,22 +1622,24 @@
"pluginVersion": "8.2.5",
"targets": [
{
- "expr": "sum(count_over_time({app=\"taler-database\"} |~ \"duration:
\" [$__range]))",
- "instant": true,
- "range": false,
+ "exemplar": true,
+ "expr": "sum(taler_exchange_serialization_failures{})",
+ "interval": "",
+ "legendFormat": "",
"refId": "A"
}
],
- "title": "Num Slow Queries",
+ "title": "Total Serialization Errors",
"type": "stat"
},
{
"datasource": "${DS_LOKI}",
- "description": "Total count of \"Error: could not serialize access due
to read/write dependencies among transactions\"",
+ "description": "Number of queries which took longer than the configured
duration in postgresql.conf",
"fieldConfig": {
"defaults": {
"color": {
- "mode": "thresholds"
+ "fixedColor": "text",
+ "mode": "fixed"
},
"mappings": [],
"noValue": "0",
@@ -985,10 +1649,6 @@
{
"color": "green",
"value": null
- },
- {
- "color": "red",
- "value": 80
}
]
}
@@ -998,13 +1658,13 @@
"gridPos": {
"h": 3,
"w": 3,
- "x": 18,
- "y": 4
+ "x": 10,
+ "y": 14
},
- "id": 74,
+ "id": 72,
"options": {
"colorMode": "value",
- "graphMode": "area",
+ "graphMode": "none",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
@@ -1020,22 +1680,28 @@
"pluginVersion": "8.2.5",
"targets": [
{
- "expr": "sum(count_over_time({app=\"taler-database\"} |~ \"ERROR:
could not serialize access due to read/write dependencies among transactions\"
[$__range]))",
+ "expr": "sum(count_over_time({app=\"taler-database\"} |~ \"duration:
(.*) plan:\" [$__range]))",
"instant": true,
"range": false,
"refId": "A"
}
],
- "title": "Count of Transaction Isolation Errors ",
+ "title": "Total Slow Queries",
"type": "stat"
},
{
- "datasource": null,
+ "datasource": "${DS_LOKI}",
+ "description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
+ "custom": {
+ "align": "auto",
+ "displayMode": "json-view",
+ "filterable": false
+ },
"mappings": [],
"thresholds": {
"mode": "absolute",
@@ -1047,43 +1713,100 @@
]
}
},
- "overrides": []
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Query"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 1791
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "query"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 1802
+ }
+ ]
+ }
+ ]
},
"gridPos": {
- "h": 3,
- "w": 3,
- "x": 21,
- "y": 4
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 17
},
- "id": 76,
+ "id": 89,
"options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "auto",
- "orientation": "auto",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "text": {},
- "textMode": "auto"
+ "frameIndex": 1,
+ "showHeader": true,
+ "sortBy": []
},
"pluginVersion": "8.2.5",
"targets": [
{
- "exemplar": true,
- "expr": "sum(pg_stat_database_xact_commit{instance=~\"$instance\",
datname=\"$db\"})",
- "instant": true,
- "interval": "",
- "legendFormat": "",
+ "expr": "{app=\"taler-database\"} |~ \"011Query Text:\" | regexp
\".*011Query Text: (?P<query>.*)\"",
+ "instant": false,
+ "range": true,
"refId": "A"
}
],
- "title": "Count of Commited Transactions",
- "type": "stat"
+ "title": "Slow Queries",
+ "transformations": [
+ {
+ "id": "labelsToFields",
+ "options": {}
+ },
+ {
+ "id": "groupBy",
+ "options": {
+ "fields": {
+ "Query": {
+ "aggregations": [
+ "count"
+ ],
+ "operation": "groupby"
+ },
+ "app": {
+ "aggregations": [
+ "count"
+ ],
+ "operation": "aggregate"
+ },
+ "query": {
+ "aggregations": [],
+ "operation": "groupby"
+ }
+ }
+ }
+ },
+ {
+ "id": "merge",
+ "options": {}
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {},
+ "indexByName": {},
+ "renameByName": {
+ "app (count)": "Count",
+ "query": ""
+ }
+ }
+ }
+ ],
+ "type": "table"
},
{
"collapsed": false,
@@ -1092,7 +1815,7 @@
"h": 1,
"w": 24,
"x": 0,
- "y": 7
+ "y": 24
},
"id": 36,
"panels": [],
@@ -1156,7 +1879,7 @@
"h": 10,
"w": 12,
"x": 0,
- "y": 8
+ "y": 25
},
"id": 6,
"links": [],
@@ -1178,8 +1901,10 @@
"pluginVersion": "8.2.1",
"targets": [
{
- "expr": "pg_stat_activity_count{instance=\"$instance\",
datname=\"$db\"}",
+ "exemplar": true,
+ "expr": "pg_stat_activity_count{instance=\"$instance\",
datname=\"$db\", server=\"$server\"}",
"format": "time_series",
+ "interval": "",
"intervalFactor": 1,
"legendFormat": "{{state}}",
"refId": "A"
@@ -1202,7 +1927,7 @@
"h": 10,
"w": 12,
"x": 12,
- "y": 8
+ "y": 25
},
"hiddenSeries": false,
"id": 8,
@@ -1234,15 +1959,19 @@
"steppedLine": false,
"targets": [
{
- "expr": "irate(pg_stat_database_xact_commit{instance=\"$instance\",
datname=\"$db\"}[5m])",
+ "exemplar": true,
+ "expr": "irate(pg_stat_database_xact_commit{instance=\"$instance\",
datname=\"$db\", server=\"$server\"}[5m])",
"format": "time_series",
+ "interval": "",
"intervalFactor": 1,
"legendFormat": "commits",
"refId": "A"
},
{
- "expr":
"irate(pg_stat_database_xact_rollback{instance=\"$instance\",
datname=\"$db\"}[5m])",
+ "exemplar": true,
+ "expr":
"irate(pg_stat_database_xact_rollback{instance=\"$instance\", datname=\"$db\",
server=\"$server\"}[5m])",
"format": "time_series",
+ "interval": "",
"intervalFactor": 1,
"legendFormat": "rollbacks",
"refId": "B"
@@ -1268,6 +1997,7 @@
},
"yaxes": [
{
+ "$$hashKey": "object:573",
"format": "short",
"label": null,
"logBase": 1,
@@ -1276,6 +2006,7 @@
"show": true
},
{
+ "$$hashKey": "object:574",
"format": "short",
"label": null,
"logBase": 1,
@@ -1301,7 +2032,7 @@
"h": 8,
"w": 12,
"x": 0,
- "y": 18
+ "y": 35
},
"hiddenSeries": false,
"id": 18,
@@ -1401,7 +2132,7 @@
"h": 8,
"w": 12,
"x": 12,
- "y": 18
+ "y": 35
},
"hiddenSeries": false,
"id": 20,
@@ -1507,7 +2238,7 @@
"h": 8,
"w": 12,
"x": 0,
- "y": 26
+ "y": 43
},
"hiddenSeries": false,
"id": 42,
@@ -1601,7 +2332,7 @@
"h": 8,
"w": 12,
"x": 12,
- "y": 26
+ "y": 43
},
"hiddenSeries": false,
"id": 44,
@@ -1632,8 +2363,10 @@
"steppedLine": false,
"targets": [
{
- "expr": "pg_stat_database_blks_hit{instance=\"$instance\",
datname=\"$db\"} / (pg_stat_database_blks_read{instance=\"$instance\",
datname=\"$db\"} + pg_stat_database_blks_hit{instance=\"$instance\",
datname=\"$db\"})",
+ "exemplar": true,
+ "expr": "pg_stat_database_blks_hit{instance=\"$instance\",
datname=\"$db\", server=\"$server\"} /
(pg_stat_database_blks_read{instance=\"$instance\", datname=\"$db\",
server=\"$server\"} + pg_stat_database_blks_hit{instance=\"$instance\",
datname=\"$db\", server=\"$server\"})",
"format": "time_series",
+ "interval": "",
"intervalFactor": 1,
"legendFormat": "Cache Hit Rate",
"refId": "A"
@@ -1659,6 +2392,7 @@
},
"yaxes": [
{
+ "$$hashKey": "object:494",
"decimals": 4,
"format": "percentunit",
"label": "",
@@ -1668,6 +2402,7 @@
"show": true
},
{
+ "$$hashKey": "object:495",
"format": "short",
"label": null,
"logBase": 1,
@@ -1688,7 +2423,7 @@
"h": 1,
"w": 24,
"x": 0,
- "y": 34
+ "y": 51
},
"id": 50,
"panels": [],
@@ -1707,7 +2442,7 @@
"h": 6,
"w": 17,
"x": 0,
- "y": 35
+ "y": 52
},
"hiddenSeries": false,
"id": 46,
@@ -1740,36 +2475,46 @@
"steppedLine": false,
"targets": [
{
- "expr":
"irate(pg_stat_bgwriter_buffers_backend{instance=\"$instance\"}[5m])",
+ "exemplar": true,
+ "expr":
"irate(pg_stat_bgwriter_buffers_backend{instance=\"$instance\",
server=\"$server\"}[5m])",
"format": "time_series",
+ "interval": "",
"intervalFactor": 1,
"legendFormat": "buffers_backend",
"refId": "A"
},
{
- "expr":
"irate(pg_stat_bgwriter_buffers_alloc{instance=\"$instance\"}[5m])",
+ "exemplar": true,
+ "expr":
"irate(pg_stat_bgwriter_buffers_alloc{instance=\"$instance\",
server=\"$server\"}[5m])",
"format": "time_series",
+ "interval": "",
"intervalFactor": 1,
"legendFormat": "buffers_alloc",
"refId": "B"
},
{
- "expr":
"irate(pg_stat_bgwriter_buffers_backend_fsync{instance=\"$instance\"}[5m])",
+ "exemplar": true,
+ "expr":
"irate(pg_stat_bgwriter_buffers_backend_fsync{instance=\"$instance\",
server=\"$server\"}[5m])",
"format": "time_series",
+ "interval": "",
"intervalFactor": 1,
"legendFormat": "backend_fsync",
"refId": "C"
},
{
- "expr":
"irate(pg_stat_bgwriter_buffers_checkpoint{instance=\"$instance\"}[5m])",
+ "exemplar": true,
+ "expr":
"irate(pg_stat_bgwriter_buffers_checkpoint{instance=\"$instance\",
server=\"$server\"}[5m])",
"format": "time_series",
+ "interval": "",
"intervalFactor": 1,
"legendFormat": "buffers_checkpoint",
"refId": "D"
},
{
- "expr":
"irate(pg_stat_bgwriter_buffers_clean{instance=\"$instance\"}[5m])",
+ "exemplar": true,
+ "expr":
"irate(pg_stat_bgwriter_buffers_clean{instance=\"$instance\",
server=\"$server\"}[5m])",
"format": "time_series",
+ "interval": "",
"intervalFactor": 1,
"legendFormat": "buffers_clean",
"refId": "E"
@@ -1795,6 +2540,7 @@
},
"yaxes": [
{
+ "$$hashKey": "object:97",
"format": "short",
"label": null,
"logBase": 1,
@@ -1803,6 +2549,7 @@
"show": true
},
{
+ "$$hashKey": "object:98",
"format": "short",
"label": null,
"logBase": 1,
@@ -1828,7 +2575,7 @@
"h": 6,
"w": 7,
"x": 17,
- "y": 35
+ "y": 52
},
"hiddenSeries": false,
"id": 28,
@@ -1859,15 +2606,19 @@
"steppedLine": false,
"targets": [
{
- "expr": "irate(pg_stat_database_conflicts{instance=\"$instance\",
datname=\"$db\"}[5m])",
+ "exemplar": true,
+ "expr": "irate(pg_stat_database_conflicts{instance=\"$instance\",
datname=\"$db\", server=\"$server\"}[5m])",
"format": "time_series",
+ "interval": "",
"intervalFactor": 1,
"legendFormat": "conflicts",
"refId": "B"
},
{
- "expr": "irate(pg_stat_database_deadlocks{instance=\"$instance\",
datname=\"$db\"}[5m])",
+ "exemplar": true,
+ "expr": "irate(pg_stat_database_deadlocks{instance=\"$instance\",
datname=\"$db\", server=\"$server\"}[5m])",
"format": "time_series",
+ "interval": "",
"intervalFactor": 1,
"legendFormat": "deadlocks",
"refId": "A"
@@ -1893,6 +2644,7 @@
},
"yaxes": [
{
+ "$$hashKey": "object:257",
"format": "short",
"label": null,
"logBase": 1,
@@ -1901,6 +2653,7 @@
"show": true
},
{
+ "$$hashKey": "object:258",
"format": "short",
"label": null,
"logBase": 1,
@@ -1927,7 +2680,7 @@
"h": 7,
"w": 17,
"x": 0,
- "y": 41
+ "y": 58
},
"hiddenSeries": false,
"id": 30,
@@ -1960,8 +2713,10 @@
"steppedLine": false,
"targets": [
{
- "expr": "pg_locks_count{instance=\"$instance\", datname=\"$db\"}",
+ "exemplar": true,
+ "expr": "pg_locks_count{instance=\"$instance\", datname=\"$db\",
server=\"$server\"}",
"format": "time_series",
+ "interval": "",
"intervalFactor": 1,
"legendFormat": "{{mode}}",
"refId": "A"
@@ -2024,7 +2779,7 @@
"h": 7,
"w": 7,
"x": 17,
- "y": 41
+ "y": 58
},
"hiddenSeries": false,
"id": 40,
@@ -2115,7 +2870,7 @@
"h": 9,
"w": 24,
"x": 0,
- "y": 48
+ "y": 65
},
"hiddenSeries": false,
"id": 38,
@@ -2147,15 +2902,19 @@
"steppedLine": false,
"targets": [
{
- "expr":
"irate(pg_stat_bgwriter_checkpoint_write_time{instance=\"$instance\"}[5m])",
+ "exemplar": true,
+ "expr":
"irate(pg_stat_bgwriter_checkpoint_write_time{instance=\"$instance\",
server=\"$server\"}[5m])",
"format": "time_series",
+ "interval": "",
"intervalFactor": 1,
"legendFormat": "write_time - Total amount of time that has been
spent in the portion of checkpoint processing where files are written to disk.",
"refId": "B"
},
{
- "expr":
"irate(pg_stat_bgwriter_checkpoint_sync_time{instance=\"$instance\"}[5m])",
+ "exemplar": true,
+ "expr":
"irate(pg_stat_bgwriter_checkpoint_sync_time{instance=\"$instance\",
server=\"$server\"}[5m])",
"format": "time_series",
+ "interval": "",
"intervalFactor": 1,
"legendFormat": "sync_time - Total amount of time that has been
spent in the portion of checkpoint processing where files are synchronized to
disk.",
"refId": "A"
@@ -2181,6 +2940,7 @@
},
"yaxes": [
{
+ "$$hashKey": "object:336",
"format": "ms",
"label": null,
"logBase": 1,
@@ -2189,6 +2949,7 @@
"show": true
},
{
+ "$$hashKey": "object:337",
"format": "short",
"label": null,
"logBase": 1,
@@ -2217,7 +2978,7 @@
"h": 7,
"w": 20,
"x": 0,
- "y": 57
+ "y": 74
},
"hiddenSeries": false,
"id": 80,
@@ -2254,7 +3015,7 @@
"alias": "fetched",
"dsType": "prometheus",
"exemplar": true,
- "expr":
"sum(irate(pg_stat_database_tup_fetched{datname=~\"$db\",instance=~\"$instance\"}[5m]))",
+ "expr":
"sum(irate(pg_stat_database_tup_fetched{datname=~\"$db\",instance=~\"$instance\",
server=\"$server\"}[5m]))",
"format": "time_series",
"groupBy": [
{
@@ -2310,7 +3071,7 @@
"alias": "fetched",
"dsType": "prometheus",
"exemplar": true,
- "expr":
"sum(irate(pg_stat_database_tup_returned{datname=~\"$db\",instance=~\"$instance\"}[5m]))",
+ "expr":
"sum(irate(pg_stat_database_tup_returned{datname=~\"$db\",instance=~\"$instance\",
server=\"$server\"}[5m]))",
"format": "time_series",
"groupBy": [
{
@@ -2365,7 +3126,8 @@
{
"alias": "fetched",
"dsType": "prometheus",
- "expr":
"sum(irate(pg_stat_database_tup_inserted{datname=~\"$db\",instance=~\"$host\"}[5m]))",
+ "exemplar": true,
+ "expr":
"sum(irate(pg_stat_database_tup_inserted{datname=~\"$db\",instance=~\"$instance\",
server=\"$server\"}[5m]))",
"format": "time_series",
"groupBy": [
{
@@ -2381,6 +3143,7 @@
"type": "fill"
}
],
+ "interval": "",
"intervalFactor": 2,
"legendFormat": "inserted",
"measurement": "postgresql",
@@ -2420,7 +3183,7 @@
"alias": "fetched",
"dsType": "prometheus",
"exemplar": true,
- "expr":
"sum(irate(pg_stat_database_tup_updated{datname=~\"$db\",instance=~\"$instance\"}[5m]))",
+ "expr":
"sum(irate(pg_stat_database_tup_updated{datname=~\"$db\",instance=~\"$instance\",
server=\"$server\"}[5m]))",
"format": "time_series",
"groupBy": [
{
@@ -2476,7 +3239,7 @@
"alias": "fetched",
"dsType": "prometheus",
"exemplar": true,
- "expr":
"sum(irate(pg_stat_database_tup_deleted{datname=~\"$db\",instance=~\"$instance\"}[5m]))",
+ "expr":
"sum(irate(pg_stat_database_tup_deleted{datname=~\"$db\",instance=~\"$instance\",
server=\"$server\"}[5m]))",
"format": "time_series",
"groupBy": [
{
@@ -2615,7 +3378,7 @@
"h": 7,
"w": 4,
"x": 20,
- "y": 57
+ "y": 74
},
"id": 78,
"interval": null,
@@ -2641,7 +3404,7 @@
{
"dsType": "prometheus",
"exemplar": true,
- "expr":
"sum(irate(pg_stat_database_xact_commit{datname=\"$db\",instance=~\"$instance\"}[5m]))
+
sum(irate(pg_stat_database_xact_rollback{datname=\"$db\",instance=~\"$instance\"}[5m]))",
+ "expr":
"sum(irate(pg_stat_database_xact_commit{datname=\"$db\",instance=~\"$instance\",
server=\"$server\"}[5m])) +
sum(irate(pg_stat_database_xact_rollback{datname=\"$db\",instance=~\"$instance\",
server=\"$server\"}[5m]))",
"format": "time_series",
"groupBy": [
{
@@ -2713,31 +3476,7 @@
"datasource": "${DS_PROMETHEUS}",
"definition": "",
"description": null,
- "error": {
- "config": {
- "data": {
- "end": "1637966286",
- "match[]": "pg_up",
- "start": "1637962686"
- },
- "headers": {
- "Content-Type": "application/x-www-form-urlencoded",
- "X-Grafana-Org-Id": 1
- },
- "hideFromInspector": true,
- "method": "POST",
- "retry": 0,
- "url": "api/datasources/proxy/1/api/v1/series"
- },
- "data": {
- "error": "Bad Gateway",
- "message": "Bad Gateway",
- "response": ""
- },
- "message": "Bad Gateway",
- "status": 502,
- "statusText": "Bad Gateway"
- },
+ "error": null,
"hide": 0,
"includeAll": false,
"label": "Instance",
@@ -2763,31 +3502,7 @@
"datasource": "${DS_PROMETHEUS}",
"definition": "",
"description": null,
- "error": {
- "config": {
- "data": {
- "end": "1637966286",
- "match[]":
"pg_stat_database_tup_fetched{datname!~\"template.*|postgres\"}",
- "start": "1637962686"
- },
- "headers": {
- "Content-Type": "application/x-www-form-urlencoded",
- "X-Grafana-Org-Id": 1
- },
- "hideFromInspector": true,
- "method": "POST",
- "retry": 0,
- "url": "api/datasources/proxy/1/api/v1/series"
- },
- "data": {
- "error": "Bad Gateway",
- "message": "Bad Gateway",
- "response": ""
- },
- "message": "Bad Gateway",
- "status": 502,
- "statusText": "Bad Gateway"
- },
+ "error": null,
"hide": 0,
"includeAll": false,
"label": "Database",
@@ -2806,6 +3521,29 @@
"tagsQuery": "",
"type": "query",
"useTags": false
+ },
+ {
+ "allValue": null,
+ "current": {},
+ "datasource": "${DS_PROMETHEUS}",
+ "definition": "label_values(pg_settings_array_nulls{}, server)",
+ "description": null,
+ "error": null,
+ "hide": 0,
+ "includeAll": false,
+ "label": "server",
+ "multi": false,
+ "name": "server",
+ "options": [],
+ "query": {
+ "query": "label_values(pg_settings_array_nulls{}, server)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
}
]
},
@@ -2841,5 +3579,5 @@
"timezone": "",
"title": "Database",
"uid": "2FTtdeOnk",
- "version": 21
+ "version": 67
}
\ No newline at end of file
diff --git a/additional/grafana/overview.json
b/additional/grafana/load-statistics.json
similarity index 78%
rename from additional/grafana/overview.json
rename to additional/grafana/load-statistics.json
index f006050..2e78a02 100644
--- a/additional/grafana/overview.json
+++ b/additional/grafana/load-statistics.json
@@ -848,7 +848,7 @@
},
{
"exemplar": true,
- "expr": "pg_stat_database_blks_hit{instance=\"127.0.0.1:9187\",
datname!~\"postgres|template.*|\"} /
(pg_stat_database_blks_read{instance=\"127.0.0.1:9187\",
datname!~\"postgres|template.*|\"} +
pg_stat_database_blks_hit{instance=\"127.0.0.1:9187\",
datname!~\"postgres|template.*|\"})",
+ "expr": "pg_stat_database_blks_hit{instance=\"127.0.0.1:9187\",
server=\"db.perf.taler:5432\", datname!~\"postgres|template.*|\"} /
(pg_stat_database_blks_read{instance=\"127.0.0.1:9187\",
server=\"db.perf.taler:5432\", datname!~\"postgres|template.*|\"} +
pg_stat_database_blks_hit{instance=\"127.0.0.1:9187\",
server=\"db.perf.taler:5432\", datname!~\"postgres|template.*|\"})",
"hide": false,
"interval": "",
"legendFormat": "Cache Hit Rate",
@@ -919,11 +919,21 @@
},
{
"id": "custom.axisLabel",
- "value": "Slow Queries / Second"
+ "value": "Slow Queries"
},
{
"id": "unit",
- "value": "SQ/s"
+ "value": "SQ"
+ },
+ {
+ "id": "custom.lineStyle",
+ "value": {
+ "fill": "solid"
+ }
+ },
+ {
+ "id": "custom.drawStyle",
+ "value": "bars"
}
]
}
@@ -960,7 +970,7 @@
},
{
"datasource": "${DS_LOKI}",
- "expr": "rate({app=\"taler-database\"} |~ \"duration:\" [1m])",
+ "expr": "sum(count_over_time({app=\"taler-database\"} |~
\"duration:\" [30s]))",
"hide": false,
"legendFormat": "Slow Queries",
"refId": "C"
@@ -969,8 +979,228 @@
"timeFrom": null,
"title": "Requests vs Slow Queries",
"type": "timeseries"
+ },
+ {
+ "datasource": null,
+ "description": "Serialization Errors per Second and Request-Type",
+ "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": 2,
+ "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
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Serialization Errors per second"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "SE/s"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 38
+ },
+ "id": 18,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.2.5",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum(rate(nginx_http_requests_total{} [$__rate_interval]))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "Requests per second",
+ "refId": "B"
+ },
+ {
+ "exemplar": true,
+ "expr": "sum (rate(taler_exchange_serialization_failures{}[1m]))",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "Serialization Errors per second",
+ "refId": "A"
+ }
+ ],
+ "title": "Requests vs Serialization Errors",
+ "transformations": [],
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${DS_LOKI}",
+ "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": 2,
+ "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
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slow Queries"
+ },
+ "properties": [
+ {
+ "id": "custom.axisPlacement",
+ "value": "right"
+ },
+ {
+ "id": "custom.axisLabel",
+ "value": "Slow Queries"
+ },
+ {
+ "id": "unit",
+ "value": "SQ"
+ },
+ {
+ "id": "custom.drawStyle",
+ "value": "bars"
+ },
+ {
+ "id": "custom.lineStyle"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 38
+ },
+ "id": 16,
+ "interval": null,
+ "maxDataPoints": null,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "expr": "avg_over_time(({app=\"taler_proxy\"} | logfmt |
__error__!=\"LogfmtParserErr\" | unwrap rt ) [1m]) by (app)",
+ "legendFormat": "Average Response time ",
+ "refId": "A",
+ "resolution": 5
+ },
+ {
+ "expr": "sum(count_over_time({app=\"taler-database\"} |~
\"duration:\" [30s]))",
+ "hide": false,
+ "legendFormat": "Slow Queries",
+ "refId": "C",
+ "resolution": 1
+ }
+ ],
+ "timeFrom": null,
+ "title": "Proxy Response Time vs Slow Queries",
+ "type": "timeseries"
}
],
+ "refresh": "1m",
"schemaVersion": 32,
"style": "dark",
"tags": [
@@ -981,12 +1211,12 @@
"list": []
},
"time": {
- "from": "now-3h",
+ "from": "now-1h",
"to": "now"
},
"timepicker": {},
"timezone": "",
- "title": "Overview",
+ "title": "Load Statistics",
"uid": "rkyhDAt7z",
- "version": 30
+ "version": 42
}
\ No newline at end of file
diff --git a/additional/grafana/logs.json b/additional/grafana/logs.json
index 259e939..87d4582 100644
--- a/additional/grafana/logs.json
+++ b/additional/grafana/logs.json
@@ -53,7 +53,7 @@
"gnetId": null,
"graphTooltip": 0,
"id": null,
- "iteration": 1637966364055,
+ "iteration": 1639246839506,
"links": [],
"liveNow": false,
"panels": [
@@ -81,7 +81,7 @@
"repeatDirection": "v",
"targets": [
{
- "expr": "{app=\"$app\"} |~ \"(?i)$filter\" !~
\"(?i)${invertfilter:quote}|asdasdzzzzz\"",
+ "expr": "{app=\"$app\"} |~ \"(?i)$filter\" !~
\"(?i)${invertfilter:quote}|asdasdzzzzz\" |~ \"$predef_filter\"",
"refId": "A"
}
],
@@ -104,24 +104,7 @@
"datasource": "${DS_LOKI}",
"definition": "label_values({}, app)",
"description": null,
- "error": {
- "config": {
- "headers": {
- "X-Grafana-Org-Id": 1
- },
- "hideFromInspector": true,
- "retry": 0,
- "url":
"api/datasources/proxy/2/loki/api/v1/series?start=1637962733930000000&end=1637966333930000000&match%5B%5D=%7B%7D"
- },
- "data": {
- "error": "Bad Gateway",
- "message": "Bad Gateway",
- "response": ""
- },
- "message": "Bad Gateway",
- "status": 502,
- "statusText": "Bad Gateway"
- },
+ "error": null,
"hide": 0,
"includeAll": true,
"label": "App",
@@ -178,6 +161,32 @@
"query": "",
"skipUrlSync": false,
"type": "textbox"
+ },
+ {
+ "allValue": null,
+ "current": {
+ "selected": true,
+ "text": [],
+ "value": []
+ },
+ "description": "Some predefined filters to apply to logs",
+ "error": null,
+ "hide": 0,
+ "includeAll": false,
+ "label": "Predefined Filter",
+ "multi": true,
+ "name": "predef_filter",
+ "options": [
+ {
+ "selected": true,
+ "text": "slow query analyzation",
+ "value": "#011"
+ }
+ ],
+ "query": "slow query analyzation : #011",
+ "queryValue": "",
+ "skipUrlSync": false,
+ "type": "custom"
}
]
},
@@ -189,5 +198,5 @@
"timezone": "",
"title": "Logs",
"uid": "eCk_1vdnk",
- "version": 18
+ "version": 23
}
\ No newline at end of file
diff --git a/additional/grafana/request-statistics.json
b/additional/grafana/request-statistics.json
index 97c68fe..355ac2e 100644
--- a/additional/grafana/request-statistics.json
+++ b/additional/grafana/request-statistics.json
@@ -60,7 +60,7 @@
"gnetId": null,
"graphTooltip": 1,
"id": null,
- "iteration": 1637966350032,
+ "iteration": 1639250073225,
"links": [],
"liveNow": false,
"panels": [
@@ -80,6 +80,7 @@
},
{
"datasource": "${DS_LOKI}",
+ "description": "round-trip-time wallet to proxy",
"fieldConfig": {
"defaults": {
"color": {
@@ -134,11 +135,12 @@
"refId": "A"
}
],
- "title": "Net Delay Wallet-Proxy",
+ "title": "RTT Wallet-Proxy",
"type": "stat"
},
{
"datasource": "${DS_LOKI}",
+ "description": "round-trip-time proxy to exchange",
"fieldConfig": {
"defaults": {
"color": {
@@ -193,11 +195,12 @@
"refId": "A"
}
],
- "title": "Net Delay Proxy-Exchange",
+ "title": "RTT Proxy-Exchange",
"type": "stat"
},
{
"datasource": "${DS_LOKI}",
+ "description": "round-trip-time exchange to database",
"fieldConfig": {
"defaults": {
"color": {
@@ -252,7 +255,7 @@
"refId": "A"
}
],
- "title": "Net Delay Exchange-Database",
+ "title": "RTT Exchange-Database",
"type": "stat"
},
{
@@ -269,6 +272,88 @@
"title": "Related Panels",
"type": "row"
},
+ {
+ "datasource": null,
+ "description": "Serialization Errors per Second and Request-Type",
+ "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
+ }
+ ]
+ },
+ "unit": "SE/s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 6
+ },
+ "id": 280,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.2.5",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum by (type)
(rate(taler_exchange_serialization_failures{}[1m]))",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "{{type}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Serialization Errors",
+ "transformations": [],
+ "type": "timeseries"
+ },
{
"datasource": "${DS_LOKI}",
"description": "",
@@ -327,7 +412,7 @@
"overrides": []
},
"gridPos": {
- "h": 6,
+ "h": 7,
"w": 12,
"x": 12,
"y": 6
@@ -359,12 +444,12 @@
"h": 1,
"w": 24,
"x": 0,
- "y": 12
+ "y": 13
},
"id": 20,
"panels": [],
"repeat": "endpoint",
- "title": "Request Times ($endpoint)",
+ "title": "Request Times ($endpoint) [$interval]",
"type": "row"
},
{
@@ -397,7 +482,7 @@
"h": 6,
"w": 3,
"x": 0,
- "y": 13
+ "y": 14
},
"id": 25,
"interval": null,
@@ -420,7 +505,7 @@
"pluginVersion": "8.2.5",
"targets": [
{
- "expr": "min_over_time(({app=\"taler_proxy\"} |~ \"s=200\" | logfmt
|~ \"${endpoint:dublequote} \" | unwrap rt) [$__range]) by (app)",
+ "expr": "min_over_time(({app=\"taler_proxy\"} |~ \"s=200\" | logfmt
|~ \"${endpoint:dublequote} \" | unwrap rt) [$interval]) by (app)",
"instant": true,
"legendFormat": "",
"range": false,
@@ -468,7 +553,7 @@
"h": 6,
"w": 3,
"x": 3,
- "y": 13
+ "y": 14
},
"id": 18,
"interval": null,
@@ -491,7 +576,7 @@
"pluginVersion": "8.2.5",
"targets": [
{
- "expr": "avg_over_time(({app=\"taler_proxy\"} |~ \"s=200\" | logfmt
|~ \"${endpoint:dublequote} \" | unwrap rt) [$__range]) by (app)",
+ "expr": "avg_over_time(({app=\"taler_proxy\"} |~ \"s=200\" | logfmt
|~ \"${endpoint:dublequote} \" | unwrap rt) [$interval]) by (app)",
"instant": true,
"range": false,
"refId": "A",
@@ -533,7 +618,7 @@
"h": 6,
"w": 3,
"x": 6,
- "y": 13
+ "y": 14
},
"id": 37,
"options": {
@@ -554,7 +639,7 @@
"pluginVersion": "8.2.5",
"targets": [
{
- "expr": "max_over_time({app=\"taler_proxy\"} |~ \"s=200\" | logfmt
|~ \"${endpoint:dublequote} \" | unwrap rt [$__range]) by (app)",
+ "expr": "max_over_time({app=\"taler_proxy\"} |~ \"s=200\" | logfmt
|~ \"${endpoint:dublequote} \" | unwrap rt [$interval]) by (app)",
"hide": false,
"instant": true,
"legendFormat": "",
@@ -568,7 +653,7 @@
},
{
"datasource": "${DS_LOKI}",
- "description": "Number of successful requests (=200) to /$endpoint",
+ "description": "Number of successful requests (=200) to $endpoint",
"fieldConfig": {
"defaults": {
"color": {
@@ -593,7 +678,7 @@
"h": 3,
"w": 3,
"x": 9,
- "y": 13
+ "y": 14
},
"id": 148,
"options": {
@@ -618,12 +703,12 @@
"refId": "A"
}
],
- "title": "Successful Requests [$interval]",
+ "title": "Successful Requests",
"type": "stat"
},
{
"datasource": "${DS_LOKI}",
- "description": "Average response time for requests to /$endpoint",
+ "description": "Average response time for requests to $endpoint",
"fieldConfig": {
"defaults": {
"color": {
@@ -679,7 +764,7 @@
"h": 6,
"w": 12,
"x": 12,
- "y": 13
+ "y": 14
},
"id": 14,
"interval": null,
@@ -711,7 +796,7 @@
},
{
"datasource": "${DS_LOKI}",
- "description": "Number of failed requests (!=200) to /$endpoint",
+ "description": "Number of failed requests (!=200) to $endpoint",
"fieldConfig": {
"defaults": {
"color": {
@@ -739,7 +824,7 @@
"h": 3,
"w": 3,
"x": 9,
- "y": 16
+ "y": 17
},
"id": 31,
"options": {
@@ -764,12 +849,12 @@
"refId": "A"
}
],
- "title": "Failed Requests [$interval]",
+ "title": "Failed Requests",
"type": "stat"
},
{
"datasource": "${DS_LOKI}",
- "description": "Median response time for successful (200) requests to
/$endpoint",
+ "description": "Median response time for successful (200) requests to
$endpoint",
"fieldConfig": {
"defaults": {
"color": {
@@ -797,7 +882,7 @@
"h": 6,
"w": 3,
"x": 0,
- "y": 19
+ "y": 20
},
"id": 41,
"options": {
@@ -818,7 +903,7 @@
"pluginVersion": "8.2.5",
"targets": [
{
- "expr": "quantile_over_time(0.50, ({app=\"taler_proxy\"} |~
\"s=200\" | logfmt |~ \"${endpoint:dublequote} \" | unwrap rt) [$__range]) by
(app)",
+ "expr": "quantile_over_time(0.50, ({app=\"taler_proxy\"} |~
\"s=200\" | logfmt |~ \"${endpoint:dublequote} \" | unwrap rt) [$interval]) by
(app)",
"hide": false,
"instant": true,
"legendFormat": "",
@@ -860,7 +945,7 @@
"h": 6,
"w": 3,
"x": 3,
- "y": 19
+ "y": 20
},
"id": 40,
"options": {
@@ -881,7 +966,7 @@
"pluginVersion": "8.2.5",
"targets": [
{
- "expr": "quantile_over_time(0.90, ({app=\"taler_proxy\"} |~
\"s=200\" | logfmt |~ \"${endpoint:dublequote} \" | unwrap rt) [$__range]) by
(app)",
+ "expr": "quantile_over_time(0.90, ({app=\"taler_proxy\"} |~
\"s=200\" | logfmt |~ \"${endpoint:dublequote} \" | unwrap rt) [$interval]) by
(app)",
"hide": false,
"instant": true,
"legendFormat": "90% Quantile ",
@@ -923,7 +1008,7 @@
"h": 6,
"w": 3,
"x": 6,
- "y": 19
+ "y": 20
},
"id": 39,
"options": {
@@ -944,7 +1029,7 @@
"pluginVersion": "8.2.5",
"targets": [
{
- "expr": "quantile_over_time(0.99, ({app=\"taler_proxy\"} |~
\"s=200\" | logfmt |~ \"${endpoint:dublequote} \" | unwrap rt) [$__range]) by
(app)",
+ "expr": "quantile_over_time(0.99, ({app=\"taler_proxy\"} |~
\"s=200\" | logfmt |~ \"${endpoint:dublequote} \" | unwrap rt) [$interval]) by
(app)",
"hide": false,
"instant": true,
"legendFormat": "",
@@ -958,7 +1043,7 @@
},
{
"datasource": "${DS_LOKI}",
- "description": "Standard deviation of response times for successful
(200) requests to /$endpoint",
+ "description": "Standard deviation of response times for successful
(200) requests to $endpoint",
"fieldConfig": {
"defaults": {
"color": {
@@ -986,7 +1071,7 @@
"h": 6,
"w": 3,
"x": 9,
- "y": 19
+ "y": 20
},
"id": 38,
"options": {
@@ -1007,7 +1092,7 @@
"pluginVersion": "8.2.5",
"targets": [
{
- "expr": "stddev_over_time(({app=\"taler_proxy\"} |~ \"s=200\" |
logfmt |~ \"${endpoint:dublequote} \" | unwrap rt) [$__range]) by (app)",
+ "expr": "stddev_over_time(({app=\"taler_proxy\"} |~ \"s=200\" |
logfmt |~ \"${endpoint:dublequote} \" | unwrap rt) [$interval]) by (app)",
"hide": false,
"instant": true,
"legendFormat": "",
@@ -1076,7 +1161,7 @@
"h": 6,
"w": 12,
"x": 12,
- "y": 19
+ "y": 20
},
"id": 107,
"options": {
@@ -1116,9 +1201,9 @@
"auto_count": 30,
"auto_min": "10s",
"current": {
- "selected": false,
- "text": "3m",
- "value": "3m"
+ "selected": true,
+ "text": "5m",
+ "value": "5m"
},
"description": null,
"error": null,
@@ -1142,12 +1227,12 @@
"value": "2m"
},
{
- "selected": true,
+ "selected": false,
"text": "3m",
"value": "3m"
},
{
- "selected": false,
+ "selected": true,
"text": "5m",
"value": "5m"
},
@@ -1270,5 +1355,5 @@
"timezone": "browser",
"title": "Request Statistics",
"uid": "WcfSXqDnk",
- "version": 112
+ "version": 121
}
\ No newline at end of file
diff --git a/additional/grafana/transactions.json
b/additional/grafana/transactions.json
index fec3ddf..716d402 100644
--- a/additional/grafana/transactions.json
+++ b/additional/grafana/transactions.json
@@ -142,7 +142,7 @@
"refId": "A"
}
],
- "title": "Number of Wallets",
+ "title": "# Wallet",
"type": "stat"
},
{
@@ -169,7 +169,7 @@
"gridPos": {
"h": 4,
"w": 3,
- "x": 3,
+ "x": 6,
"y": 1
},
"id": 8,
@@ -199,7 +199,7 @@
"refId": "A"
}
],
- "title": "Number of Exchanges",
+ "title": "# Exchange",
"type": "stat"
},
{
@@ -226,7 +226,7 @@
"gridPos": {
"h": 4,
"w": 3,
- "x": 6,
+ "x": 9,
"y": 1
},
"id": 41,
@@ -256,7 +256,7 @@
"refId": "A"
}
],
- "title": "Number of Wirewatchers",
+ "title": "# Wirewatch",
"type": "stat"
},
{
@@ -296,9 +296,9 @@
"overrides": []
},
"gridPos": {
- "h": 2,
- "w": 2,
- "x": 9,
+ "h": 4,
+ "w": 3,
+ "x": 12,
"y": 1
},
"id": 46,
@@ -322,12 +322,13 @@
{
"exemplar": true,
"expr":
"node_systemd_unit_state{name=\"taler-exchange-aggregator.service\",
state=\"active\"}",
+ "instant": true,
"interval": "",
"legendFormat": "",
"refId": "A"
}
],
- "title": "Aggregator",
+ "title": "# Aggregator",
"type": "stat"
},
{
@@ -369,7 +370,7 @@
"gridPos": {
"h": 2,
"w": 2,
- "x": 11,
+ "x": 15,
"y": 1
},
"id": 50,
@@ -393,6 +394,7 @@
{
"exemplar": true,
"expr":
"node_systemd_unit_state{name=\"taler-exchange-transfer.service\",
state=\"active\"}",
+ "instant": true,
"interval": "",
"legendFormat": "",
"refId": "A"
@@ -403,6 +405,7 @@
},
{
"datasource": null,
+ "description": "",
"fieldConfig": {
"defaults": {
"color": {
@@ -440,10 +443,10 @@
"gridPos": {
"h": 2,
"w": 2,
- "x": 13,
+ "x": 17,
"y": 1
},
- "id": 52,
+ "id": 49,
"options": {
"colorMode": "value",
"graphMode": "area",
@@ -463,13 +466,14 @@
"targets": [
{
"exemplar": true,
- "expr":
"node_systemd_unit_state{name=\"taler-exchange-secmod-rsa.service\",
state=\"active\"}",
+ "expr":
"node_systemd_unit_state{name=\"taler-exchange-closer.service\",
state=\"active\"}",
+ "instant": true,
"interval": "",
"legendFormat": "",
"refId": "A"
}
],
- "title": "RSA",
+ "title": "Closer",
"type": "stat"
},
{
@@ -536,6 +540,7 @@
{
"exemplar": true,
"expr": "node_systemd_unit_state{name=\"loki.service\",
state=\"active\"}",
+ "instant": true,
"interval": "",
"legendFormat": "",
"refId": "A"
@@ -546,7 +551,6 @@
},
{
"datasource": null,
- "description": "",
"fieldConfig": {
"defaults": {
"color": {
@@ -584,10 +588,10 @@
"gridPos": {
"h": 2,
"w": 2,
- "x": 9,
+ "x": 15,
"y": 3
},
- "id": 49,
+ "id": 52,
"options": {
"colorMode": "value",
"graphMode": "area",
@@ -607,13 +611,14 @@
"targets": [
{
"exemplar": true,
- "expr":
"node_systemd_unit_state{name=\"taler-exchange-closer.service\",
state=\"active\"}",
+ "expr":
"node_systemd_unit_state{name=\"taler-exchange-secmod-rsa.service\",
state=\"active\"}",
+ "instant": true,
"interval": "",
"legendFormat": "",
"refId": "A"
}
],
- "title": "Closer",
+ "title": "RSA",
"type": "stat"
},
{
@@ -655,7 +660,7 @@
"gridPos": {
"h": 2,
"w": 2,
- "x": 11,
+ "x": 17,
"y": 3
},
"id": 51,
@@ -679,6 +684,7 @@
{
"exemplar": true,
"expr":
"node_systemd_unit_state{name=\"taler-exchange-secmod-eddsa.service\",
state=\"active\"}",
+ "instant": true,
"interval": "",
"legendFormat": "",
"refId": "A"
@@ -751,6 +757,7 @@
{
"exemplar": true,
"expr": "node_systemd_unit_state{name=\"promtail.service\",
state=\"active\"}",
+ "instant": true,
"interval": "",
"legendFormat": "",
"refId": "A"
@@ -768,14 +775,14 @@
"x": 0,
"y": 5
},
- "id": 20,
+ "id": 22,
"panels": [],
- "title": "Transaction Analysis",
+ "title": "Total TPS (Sucessful Requests)",
"type": "row"
},
{
"datasource": "${DS_LOKI}",
- "description": "",
+ "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": {
"color": {
@@ -797,12 +804,12 @@
"overrides": []
},
"gridPos": {
- "h": 8,
+ "h": 9,
"w": 5,
"x": 0,
"y": 6
},
- "id": 14,
+ "id": 2,
"options": {
"orientation": "auto",
"reduceOptions": {
@@ -819,102 +826,19 @@
"pluginVersion": "8.2.5",
"targets": [
{
- "expr": "count without(uri) (sum by(uri)
(count_over_time({app=\"taler_proxy\"} |~ \"s=200\" |~ \"(/withdraw|/deposit)\"
| logfmt [$__range]))) / $__range_s",
+ "expr": "sum by (app) (rate({app=\"taler_proxy\"} |~
\"(/deposit|/withdraw)\" |~ \"s=200\" [2m] ))",
"instant": true,
"range": false,
"refId": "A"
}
],
- "title": "Total TPS",
+ "title": "Total TPS ",
+ "transformations": [],
"type": "gauge"
},
{
"datasource": "${DS_LOKI}",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 47,
- "gradientMode": "opacity",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "lineInterpolation": "smooth",
- "lineStyle": {
- "fill": "solid"
- },
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "never",
- "spanNulls": true,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- }
- ]
- },
- "unit": "none"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 13,
- "x": 8,
- "y": 6
- },
- "id": 26,
- "interval": null,
- "maxDataPoints": 800,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "hidden",
- "placement": "bottom"
- },
- "tooltip": {
- "mode": "single"
- }
- },
- "targets": [
- {
- "expr": "count without(uri) (sum by(uri)
(count_over_time({app=\"taler_proxy\"} |~ \"s=200\" |~
\"(/withdraw|/deposit)\" | logfmt [5m]))) / (5*60)",
- "legendFormat": "TPS",
- "refId": "A",
- "resolution": 10
- }
- ],
- "timeFrom": null,
- "timeShift": null,
- "title": "TPS over Time",
- "type": "timeseries"
- },
- {
- "datasource": "${DS_LOKI}",
- "description": "",
+ "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": {
"color": {
@@ -938,10 +862,10 @@
"gridPos": {
"h": 3,
"w": 5,
- "x": 0,
- "y": 14
+ "x": 5,
+ "y": 6
},
- "id": 6,
+ "id": 4,
"options": {
"colorMode": "value",
"graphMode": "none",
@@ -960,19 +884,19 @@
"pluginVersion": "8.2.5",
"targets": [
{
- "expr": "sum by (app) (rate({app=\"taler_proxy\"} |~ \"/deposit\" |~
\"s=200\" [$__range] ))",
+ "expr": "sum by (app) (rate({app=\"taler_proxy\"} |~ \"/withdraw\"
|~ \"s=200\" [1h] ))",
"instant": true,
"range": false,
"refId": "A"
}
],
- "title": "Total Payments per Second",
+ "title": "Total Withdrawals per Second ",
"transformations": [],
"type": "stat"
},
{
"datasource": "${DS_LOKI}",
- "description": "Average time used to withdraw the whole requested
amount",
+ "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": {
"color": {
@@ -983,14 +907,17 @@
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
+ "fillOpacity": 47,
+ "gradientMode": "opacity",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "smooth",
+ "lineStyle": {
+ "fill": "solid"
+ },
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
@@ -1013,24 +940,20 @@
{
"color": "green",
"value": null
- },
- {
- "color": "red",
- "value": 80
}
]
},
- "unit": "s"
+ "unit": "none"
},
"overrides": []
},
"gridPos": {
- "h": 8,
- "w": 13,
- "x": 8,
- "y": 15
+ "h": 9,
+ "w": 14,
+ "x": 10,
+ "y": 6
},
- "id": 32,
+ "id": 34,
"interval": null,
"maxDataPoints": 800,
"options": {
@@ -1043,25 +966,22 @@
"mode": "single"
}
},
- "pluginVersion": "8.2.1",
"targets": [
{
- "expr": "avg(sum by(uri) (sum_over_time({app=\"taler_proxy\"} |~
\"s=200\" |~ \"/withdraw\" | logfmt | unwrap rt [10m])))",
- "instant": false,
- "legendFormat": "average",
- "range": true,
+ "expr": "sum by (app) (count_over_time({app=\"taler_proxy\"} |~
\"s=200\" |~ \"(/withdraw|/deposit)\" | logfmt [5m])) / (5*60)",
+ "legendFormat": "TPS",
"refId": "A",
"resolution": 10
}
],
"timeFrom": null,
"timeShift": null,
- "title": "Average Withdrawal Time",
+ "title": "TPS over Time",
"type": "timeseries"
},
{
"datasource": "${DS_LOKI}",
- "description": "",
+ "description": "Total successful (200) requests to /deposit per second,
measured at the nginx proxy and over the whole displayed time range.",
"fieldConfig": {
"defaults": {
"color": {
@@ -1085,12 +1005,10 @@
"gridPos": {
"h": 3,
"w": 5,
- "x": 0,
- "y": 17
+ "x": 5,
+ "y": 9
},
- "id": 16,
- "interval": null,
- "maxDataPoints": null,
+ "id": 30,
"options": {
"colorMode": "value",
"graphMode": "none",
@@ -1109,13 +1027,13 @@
"pluginVersion": "8.2.5",
"targets": [
{
- "expr": "(count without(uri) (sum by(uri)
(count_over_time({app=\"taler_proxy\"} |~ \"/withdraw\" |~ \"s=200\" | logfmt
[$__range])))) / $__range_s",
+ "expr": "sum by (app) (rate({app=\"taler_proxy\"} |~ \"/deposit\" |~
\"s=200\" [1h] ))",
"instant": true,
"range": false,
"refId": "A"
}
],
- "title": "Total Withdrawals per Second",
+ "title": "Total Payments per Second",
"transformations": [],
"type": "stat"
},
@@ -1147,10 +1065,10 @@
"gridPos": {
"h": 3,
"w": 5,
- "x": 0,
- "y": 20
+ "x": 5,
+ "y": 12
},
- "id": 12,
+ "id": 54,
"options": {
"colorMode": "value",
"graphMode": "area",
@@ -1169,13 +1087,13 @@
"pluginVersion": "8.2.5",
"targets": [
{
- "expr": "(sum(count_over_time({app=\"taler_proxy\"} |~ \"/deposit\"
|~ \"s=200\" [$__range]))) / (count without(uri) (sum by(uri)
(count_over_time({app=\"taler_proxy\"} |~ \"/withdraw\" |~ \"s=200\" | logfmt
[$__range]))))",
+ "expr": "(sum(count_over_time({app=\"taler_proxy\"} |~ \"/deposit\"
|~ \"s=200\" [1h]))) / (sum (count_over_time({app=\"taler_proxy\"} |~
\"/withdraw\" |~ \"s=200\" [1h])))",
"instant": true,
"range": false,
"refId": "A"
}
],
- "title": "Deposit / Withdraw",
+ "title": "Payments / Withdraw",
"type": "stat"
},
{
@@ -1185,13 +1103,13 @@
"h": 1,
"w": 24,
"x": 0,
- "y": 23
+ "y": 15
},
- "id": 22,
+ "id": 20,
"panels": [
{
"datasource": "${DS_LOKI}",
- "description": "With multiple withdrawals per reservation",
+ "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": {
"color": {
@@ -1213,12 +1131,12 @@
"overrides": []
},
"gridPos": {
- "h": 8,
+ "h": 9,
"w": 5,
"x": 0,
- "y": 24
+ "y": 16
},
- "id": 2,
+ "id": 14,
"options": {
"orientation": "auto",
"reduceOptions": {
@@ -1232,21 +1150,81 @@
"showThresholdMarkers": true,
"text": {}
},
- "pluginVersion": "8.2.1",
+ "pluginVersion": "8.2.5",
"targets": [
{
- "expr": "sum by (app) (rate({app=\"taler_proxy\"} |~
\"(/deposit|/withdraw)\" |~ \"s=200\" [$__range] ))",
+ "expr": "count without(uri) (sum by(uri)
(count_over_time({app=\"taler_proxy\"} |~ \"s=200\" |~ \"(/withdraw|/deposit)\"
| logfmt [2m]))) / 120",
"instant": true,
"range": false,
"refId": "A"
}
],
- "title": "Total TPS (multi withdrawals / reservation)",
- "transformations": [],
+ "title": "Total TPS (Grouped)",
"type": "gauge"
},
{
"datasource": "${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": {
+ "color": {
+ "mode": "continuous-RdYlGr"
+ },
+ "mappings": [],
+ "max": 100000,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 5,
+ "y": 16
+ },
+ "id": 16,
+ "interval": null,
+ "maxDataPoints": null,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {},
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.2.5",
+ "targets": [
+ {
+ "expr": "(count without(uri) (sum by(uri)
(count_over_time({app=\"taler_proxy\"} |~ \"/withdraw\" |~ \"s=200\" | logfmt
[1h])))) / 3600",
+ "instant": true,
+ "range": false,
+ "refId": "A"
+ }
+ ],
+ "title": "Total Withdrawals per Second",
+ "transformations": [],
+ "type": "stat"
+ },
+ {
+ "datasource": "${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": {
"color": {
@@ -1298,12 +1276,12 @@
"overrides": []
},
"gridPos": {
- "h": 8,
- "w": 13,
- "x": 8,
- "y": 24
+ "h": 9,
+ "w": 14,
+ "x": 10,
+ "y": 16
},
- "id": 34,
+ "id": 26,
"interval": null,
"maxDataPoints": 800,
"options": {
@@ -1318,7 +1296,7 @@
},
"targets": [
{
- "expr": "sum by (app) (count_over_time({app=\"taler_proxy\"} |~
\"s=200\" |~ \"(/withdraw|/deposit)\" | logfmt [5m])) / (5*60)",
+ "expr": "count without(uri) (sum by(uri)
(count_over_time({app=\"taler_proxy\"} |~ \"s=200\" |~
\"(/withdraw|/deposit)\" | logfmt [5m]))) / (5*60)",
"legendFormat": "TPS",
"refId": "A",
"resolution": 10
@@ -1355,10 +1333,10 @@
"gridPos": {
"h": 3,
"w": 5,
- "x": 0,
- "y": 32
+ "x": 5,
+ "y": 19
},
- "id": 30,
+ "id": 6,
"options": {
"colorMode": "value",
"graphMode": "none",
@@ -1374,74 +1352,16 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.1",
+ "pluginVersion": "8.2.5",
"targets": [
{
- "expr": "sum by (app) (rate({app=\"taler_proxy\"} |~
\"/deposit\" |~ \"s=200\" [$__range] ))",
+ "expr": "sum by (app) (rate({app=\"taler_proxy\"} |~
\"/deposit\" |~ \"s=200\" [1h] ))",
"instant": true,
"range": false,
"refId": "A"
}
],
- "title": "Total Deposits per Second",
- "transformations": [],
- "type": "stat"
- },
- {
- "datasource": "${DS_LOKI}",
- "description": "With multiple withdrawals per reservation",
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "continuous-RdYlGr"
- },
- "mappings": [],
- "max": 100000,
- "min": 0,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 3,
- "w": 5,
- "x": 0,
- "y": 35
- },
- "id": 4,
- "options": {
- "colorMode": "value",
- "graphMode": "none",
- "justifyMode": "center",
- "orientation": "auto",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "text": {},
- "textMode": "auto"
- },
- "pluginVersion": "8.2.1",
- "targets": [
- {
- "expr": "sum by (app) (rate({app=\"taler_proxy\"} |~
\"/withdraw\" |~ \"s=200\" [$__range] ))",
- "instant": true,
- "range": false,
- "refId": "A"
- }
- ],
- "title": "Total Withdrawals per Second (multi withdrawals /
reservation)",
+ "title": "Total Payments per Second",
"transformations": [],
"type": "stat"
},
@@ -1473,10 +1393,10 @@
"gridPos": {
"h": 3,
"w": 5,
- "x": 0,
- "y": 38
+ "x": 5,
+ "y": 22
},
- "id": 24,
+ "id": 12,
"options": {
"colorMode": "value",
"graphMode": "area",
@@ -1492,20 +1412,20 @@
"text": {},
"textMode": "auto"
},
- "pluginVersion": "8.2.1",
+ "pluginVersion": "8.2.5",
"targets": [
{
- "expr": "(sum(count_over_time({app=\"taler_proxy\"} |~
\"/deposit\" |~ \"s=200\" [$__range]))) /
\n(sum(count_over_time({app=\"taler_proxy\"} |~ \"/withdraw\" |~ \"s=200\"
[$__range])))",
+ "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]))))",
"instant": true,
"range": false,
"refId": "A"
}
],
- "title": "Deposit / Withdraw",
+ "title": "Payments / Reserve",
"type": "stat"
}
],
- "title": "All Withdrawals per Reserve",
+ "title": "Total TPS (Grouped by Reserves)",
"type": "row"
},
{
@@ -1515,7 +1435,7 @@
"h": 1,
"w": 24,
"x": 0,
- "y": 24
+ "y": 16
},
"id": 40,
"panels": [],
@@ -1524,17 +1444,17 @@
},
{
"datasource": "${DS_LOKI}",
- "description": "",
+ "description": "Average time to withdraw all reserved coins in one
iteration, measured by the wallets.",
"fieldConfig": {
"defaults": {
"color": {
- "mode": "thresholds"
+ "mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
- "drawStyle": "bars",
+ "drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
@@ -1542,7 +1462,7 @@
"tooltip": false,
"viz": false
},
- "lineInterpolation": "smooth",
+ "lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
@@ -1566,26 +1486,24 @@
"color": "green",
"value": null
},
- {
- "color": "#EAB839",
- "value": 5
- },
{
"color": "red",
- "value": 10
+ "value": 80
}
]
- }
+ },
+ "unit": "ms"
},
"overrides": []
},
"gridPos": {
- "h": 8,
- "w": 12,
+ "h": 10,
+ "w": 10,
"x": 0,
- "y": 25
+ "y": 17
},
- "id": 36,
+ "id": 44,
+ "maxDataPoints": 500,
"options": {
"legend": {
"calcs": [],
@@ -1598,11 +1516,15 @@
},
"targets": [
{
- "expr": "sum(count_over_time({app=\"taler-database\"} |~
\"duration:\" [30s]))",
- "refId": "A"
+ "expr": "avg_over_time({app=\"taler-wallet-cli\"} |~ \"time=\" |~
\"withdraw\" | logfmt | unwrap time [10m]) by (app)",
+ "instant": false,
+ "legendFormat": "withdraw",
+ "range": true,
+ "refId": "A",
+ "resolution": 5
}
],
- "title": "Slow Query Logs",
+ "title": "Average Withdraw Duration (Reservation)",
"type": "timeseries"
},
{
@@ -1659,10 +1581,10 @@
"overrides": []
},
"gridPos": {
- "h": 8,
- "w": 12,
- "x": 12,
- "y": 25
+ "h": 10,
+ "w": 14,
+ "x": 10,
+ "y": 17
},
"id": 38,
"options": {
@@ -1742,12 +1664,13 @@
"overrides": []
},
"gridPos": {
- "h": 8,
- "w": 12,
+ "h": 10,
+ "w": 10,
"x": 0,
- "y": 33
+ "y": 27
},
"id": 43,
+ "maxDataPoints": 500,
"options": {
"legend": {
"calcs": [],
@@ -1763,7 +1686,7 @@
"expr": "avg_over_time({app=\"taler-wallet-cli\"} |~ \"time=\" |~
\"deposit\" | logfmt | unwrap time [10m]) by (app)",
"legendFormat": "deposit",
"refId": "A",
- "resolution": 2
+ "resolution": 5
}
],
"title": "Average Deposit Duration (Iteration)",
@@ -1771,17 +1694,17 @@
},
{
"datasource": "${DS_LOKI}",
- "description": "Average time to withdraw all reserved coins in one
iteration",
+ "description": "",
"fieldConfig": {
"defaults": {
"color": {
- "mode": "palette-classic"
+ "mode": "thresholds"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
- "drawStyle": "line",
+ "drawStyle": "bars",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
@@ -1789,7 +1712,7 @@
"tooltip": false,
"viz": false
},
- "lineInterpolation": "linear",
+ "lineInterpolation": "smooth",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
@@ -1813,23 +1736,26 @@
"color": "green",
"value": null
},
+ {
+ "color": "#EAB839",
+ "value": 5
+ },
{
"color": "red",
- "value": 80
+ "value": 10
}
]
- },
- "unit": "ms"
+ }
},
"overrides": []
},
"gridPos": {
- "h": 8,
- "w": 12,
- "x": 12,
- "y": 33
+ "h": 10,
+ "w": 14,
+ "x": 10,
+ "y": 27
},
- "id": 44,
+ "id": 36,
"options": {
"legend": {
"calcs": [],
@@ -1842,13 +1768,11 @@
},
"targets": [
{
- "expr": "avg_over_time({app=\"taler-wallet-cli\"} |~ \"time=\" |~
\"withdraw\" | logfmt | unwrap time [10m]) by (app)",
- "legendFormat": "withdraw",
- "refId": "A",
- "resolution": 2
+ "expr": "sum(count_over_time({app=\"taler-database\"} |~
\"duration:\" [30s]))",
+ "refId": "A"
}
],
- "title": "Average Withdraw Duration (Reservation)",
+ "title": "Slow Query Logs",
"type": "timeseries"
}
],
@@ -1870,5 +1794,5 @@
"timezone": "",
"title": "Transactions",
"uid": "83vvgKKnk",
- "version": 57
+ "version": 71
}
\ No newline at end of file
diff --git a/experiment/scripts/bank.sh b/experiment/scripts/bank.sh
index bfdc483..feabff3 100755
--- a/experiment/scripts/bank.sh
+++ b/experiment/scripts/bank.sh
@@ -1,7 +1,4 @@
#!/bin/bash
-set -eux
-source ~/scripts/helpers.sh
-
INFO_MSG="
Setup the bank node for the experiments
(Start the taler-fakebank)
@@ -11,6 +8,9 @@ init:
Configure and start the taler-fakebank
"
+set -eux
+source ~/scripts/helpers.sh
+
# Start the taler-fakebank
function init_bank() {
restart_rsyslog
diff --git a/experiment/scripts/benchmark.sh b/experiment/scripts/benchmark.sh
index 7e019a9..f2cb7b2 100755
--- a/experiment/scripts/benchmark.sh
+++ b/experiment/scripts/benchmark.sh
@@ -1,7 +1,4 @@
#!/bin/bash
-set -eu
-source ~/scripts/helpers.sh
-
INFO_MSG="
Start a wallet benchmark loop with 100'000 iterations
"
@@ -11,6 +8,9 @@ OPT_MSG="
If it is dividable by 10 then the wallet will log in INFO level
"
+set -eu
+source ~/scripts/helpers.sh
+
# Start a wallet benchmark loop
function start_wallet_bench() {
LOG_LEVEL=ERROR
diff --git a/experiment/scripts/database.sh b/experiment/scripts/database.sh
index 7bd1901..38aaecb 100755
--- a/experiment/scripts/database.sh
+++ b/experiment/scripts/database.sh
@@ -1,7 +1,4 @@
#!/bin/bash
-set -eux
-source ~/scripts/helpers.sh
-
INFO_MSG="
Setup the database node (start postgresql)
"
@@ -10,6 +7,9 @@ init:
Initialize and start the taler database
"
+set -eux
+source ~/scripts/helpers.sh
+
# move to tmp to prevent change directory errors
cd /tmp
@@ -99,7 +99,7 @@ function setup_config() {
# Increase work mem to lower I/O utilization (max used =~ work_mem *
max_connections)
# NOTE: This formula is not completely correct
- work_mem=256MB
+ work_mem=512MB
maintenance_work_mem=2GB
# 2 min
idle_in_transaction_session_timeout=120000
diff --git a/experiment/scripts/exchange.sh b/experiment/scripts/exchange.sh
index 2d4f5bc..7277211 100755
--- a/experiment/scripts/exchange.sh
+++ b/experiment/scripts/exchange.sh
@@ -1,7 +1,4 @@
#!/bin/bash
-set -eux
-source ~/scripts/helpers.sh
-
INFO_MSG="
Setup the Exchange node
Start taler-exchnage-*
@@ -12,7 +9,6 @@ Start taler-exchnage-*
Each exchange-http daemon, will get its own port starting from 10001,
unless the first, this one will get port 80
"
-
OPT_MSG="
init:
Initialize the applications and start them
@@ -25,6 +21,9 @@ stop NUM:
Stop NUM exchange-httpd daemons
"
+set -eux
+source ~/scripts/helpers.sh
+
# Setup the configuration in /etc/taler
function setup_config() {
sed -i
"s\<DB_URL_HERE>\postgresql://${DB_USER}:${DB_PASSWORD}@${DATABASE_DOMAIN}:${DB_PORT}/${DB_NAME}\g"
\
diff --git a/experiment/scripts/monitor.sh b/experiment/scripts/monitor.sh
index 51de000..292b4ff 100755
--- a/experiment/scripts/monitor.sh
+++ b/experiment/scripts/monitor.sh
@@ -1,7 +1,4 @@
#!/bin/bash
-set -ex
-source ~/scripts/helpers.sh
-
INFO_MSG="
Setup and start the experiment monitoring infrastructure such as
Loki, Promtail, Prometheus and various Prometheus exporters
@@ -18,6 +15,9 @@ stop-exchanges NUM:
Stop NUM exchanges from being monitored
"
+set -ex
+source ~/scripts/helpers.sh
+
# Update a data source on the external grafana instance
# $1: Data-source name (configured in .env)
# $2: Grid5000 external url for the node where the data source is hosted
diff --git a/experiment/scripts/ping.sh b/experiment/scripts/ping.sh
index ff314a1..a766a7d 100755
--- a/experiment/scripts/ping.sh
+++ b/experiment/scripts/ping.sh
@@ -1,6 +1,4 @@
#!/bin/bash
-source ~/scripts/helpers.sh
-
INFO_MSG="
Measure and log round-trip-times between experiment nodes
Logs to promtail directly
@@ -10,6 +8,8 @@ OPT_MSG="
Destination host to ping
"
+source ~/scripts/helpers.sh
+
if [ -z "${1}" ]; then
taler_perf_help $0 "$INFO_MSG" "$OPT_MSG"
fi
diff --git a/experiment/scripts/proxy.sh b/experiment/scripts/proxy.sh
index 11a566e..0c13038 100755
--- a/experiment/scripts/proxy.sh
+++ b/experiment/scripts/proxy.sh
@@ -1,7 +1,4 @@
#!/bin/bash
-set -eux
-source ~/scripts/helpers.sh
-
INFO_MSG="
Confiure and start the nginx proxy server
"
@@ -16,6 +13,9 @@ stop NUM:
Remove NUM exchanges from the list of upstreams
"
+set -eux
+source ~/scripts/helpers.sh
+
# Add N exchanges to the upstream servers in the proxy configuration
# $1: Number of exchanges to add
function add_exchanges() {
diff --git a/experiment/scripts/setup.sh b/experiment/scripts/setup.sh
index 802a735..b6f44a6 100644
--- a/experiment/scripts/setup.sh
+++ b/experiment/scripts/setup.sh
@@ -66,6 +66,8 @@ function setup_environment() {
else
echo "DB_PORT=5432" >> ~/.env
fi
+
+ echo "START_TIME=$(date +%s)" >> ~/.env
# Needed for envsubst to work
export DNS_ZONE=${DNS_ZONE}
diff --git a/experiment/scripts/wallet.sh b/experiment/scripts/wallet.sh
index 86bd7f4..45ba4f4 100755
--- a/experiment/scripts/wallet.sh
+++ b/experiment/scripts/wallet.sh
@@ -1,7 +1,4 @@
#!/bin/bash
-set -eux
-source ~/scripts/helpers.sh
-
INFO_MSG="
Configure and start taler-wallets
"
@@ -16,6 +13,9 @@ stop NUM:
Stop NUM wallet benchmark processes
"
+set -eux
+source ~/scripts/helpers.sh
+
# Enable rsyslog and wait until the exchange is ready
function init_wallets() {
restart_rsyslog
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [taler-grid5k] 38/73: speedup image build, (continued)
- [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, 2021/12/14
- [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 <=
- [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
- [taler-grid5k] 68/73: update grafana dashboards, add option for ram mount in db, gnunet, 2021/12/14