gnunet-svn
[Top][All Lists]
Advanced

[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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]