Add JMeter to performance tests environment 26/108626/1
authorpawel <pawel.kasperkiewicz@nokia.com>
Mon, 1 Jun 2020 12:23:03 +0000 (14:23 +0200)
committerPawel <pawel.kasperkiewicz@nokia.com>
Mon, 1 Jun 2020 12:23:31 +0000 (14:23 +0200)
Add influxdb as datasource, add JMeter with example test scenario

Issue-ID: DCAEGEN2-608
Signed-off-by: Pawel <pawel.kasperkiewicz@nokia.com>
Change-Id: I55656588d8c1f6f373fd3d04a52f39834a396c81

performanceTests/Makefile
performanceTests/README.md
performanceTests/k8s/Makefile
performanceTests/k8s/README.md
performanceTests/k8s/grafana/dashboard.yaml [deleted file]
performanceTests/k8s/grafana/dashboards/dashboard.json [new file with mode: 0644]
performanceTests/k8s/grafana/dashboards/jMeterDashboard.json [new file with mode: 0644]
performanceTests/k8s/grafana/datasource.yaml
performanceTests/k8s/influxdb/deployment.yaml [new file with mode: 0644]
performanceTests/k8s/testScenario/run_jmeter.sh [new file with mode: 0644]
performanceTests/k8s/testScenario/test_scenario.jmx [new file with mode: 0644]

index 5583a61..30a3d2e 100644 (file)
@@ -1,10 +1,14 @@
-all: copy-performanceTests run-performanceTests
+all: copy-performanceTests run-performanceTests copy-jmeter
 
 
 RKE_NODE_USER_AND_HOSTNAME = <RKE_USER>@<RKE_IP> # for example ubuntu@10.183.36.205
 RKE_PRIVATE_KEY = <PEM_PRIVATE_KEY_FILE_PATH> # for example ~/.ssh/onap-5802.pem
 PERFORMANCE_TESTS_DIRECTORY = vesPerformanceTestsEnv
-RKE_KUBECONFIG_FILE_PATH = <KUBECONFIG_FILE_PATH_ON_RKE> # for example /home/ubuntu/.kube/config.onap
+RKE_KUBECONFIG_FILE_PATH = /home/ubuntu/.kube/config.onap
+
+#Configuration for jMeter
+JMETER_VM_USER_AND_HOSTNAME = <RKE_USER>@<VM_IP> # for example root@10.183.36.50
+JMETER_VM_PRIVATE_KEY = <PEM_PRIVATE_KEY_FILE_PATH> # for example ~/.ssh/onap-5802.pem
 
 copy-performanceTests:
        @echo "\n##### Copy performance tests directory to lab environment #####"
@@ -24,4 +28,19 @@ clear-performanceTests:
 remove-performanceTests:
        @echo "\n##### Remove performance tests  #####"
        ssh -i $(RKE_PRIVATE_KEY) $(RKE_NODE_USER_AND_HOSTNAME) 'bash -c "export KUBECONFIG=$(RKE_KUBECONFIG_FILE_PATH) && rm -rf $(PERFORMANCE_TESTS_DIRECTORY)"'
+       @echo "##### DONE #####"
+
+copy-jmeter:
+       @echo "\n##### Copy JMeter #####"
+       scp -r -i $(JMETER_VM_PRIVATE_KEY) ./k8s/testScenario $(JMETER_VM_USER_AND_HOSTNAME):$(PERFORMANCE_TESTS_DIRECTORY)
+       @echo "##### DONE #####"
+
+run-jmeter:
+       @echo "\n##### Run test scenario  #####"
+       ssh -i $(JMETER_VM_PRIVATE_KEY) $(JMETER_VM_USER_AND_HOSTNAME) '/bin/bash ./$(PERFORMANCE_TESTS_DIRECTORY)/run_jmeter.sh'
+       @echo "##### DONE #####"
+
+remove-jmeter:
+       @echo "\n##### Remove JMeter  #####"
+       ssh -i $(JMETER_VM_PRIVATE_KEY) $(JMETER_VM_USER_AND_HOSTNAME) 'rm -rf $(PERFORMANCE_TESTS_DIRECTORY)'
        @echo "##### DONE #####"
\ No newline at end of file
index 70e1e9b..4b09ec6 100644 (file)
@@ -7,10 +7,32 @@ This section describes how to configure VES Performance Tests environment on the
 
 First of all you have to change variable in file **ves/performanceTests/Makefile:**    
 ```
+#Configuration for RKE
 RKE_NODE_USER_AND_HOSTNAME = <RKE_USER>@<RKE_IP>
 RKE_PRIVATE_KEY = <PEM_PRIVATE_KEY_FILE_PATH>
 RKE_KUBECONFIG_FILE_PATH = <KUBECONFIG_FILE_PATH_ON_RKE>
+
+#Configuration for JMeter
+JMETER_VM_USER_AND_HOSTNAME = <RKE_USER>@<VM_IP>
+JMETER_VM_PRIVATE_KEY = <PEM_PRIVATE_KEY_FILE_PATH>
+```
+Secondly change ip (**<WORKER_IP>**) in file **ves/performanceTests/testScenario/test_scenario.jmx:**
 ```
+###Ves collector address
+<stringProp name="HTTPSampler.domain"><WORKER_IP></stringProp>
+<stringProp name="HTTPSampler.port">30417</stringProp>
+<stringProp name="HTTPSampler.protocol">https</stringProp>
+
+###Ves collector address
+<elementProp name="" elementType="Authorization">
+    <stringProp name="Authorization.url">https://<WORKER_IP>:30417/eventListener/v7</stringProp>
+
+### Influxdb address
+<elementProp name="influxdbUrl" elementType="Argument">
+    <stringProp name="Argument.name">influxdbUrl</stringProp>
+    <stringProp name="Argument.value">http://<WORKER_IP>:30002/write?db=jmeter</stringProp>
+```
+
 Important:
 Make sure you have entered the correct configuration path(**RKE_KUBECONFIG_FILE_PATH**),
 because it is necessary for kubectl to work properly on RKE over ssh.
@@ -45,10 +67,14 @@ after saving changes VES Collector pod should restarted automatically
 
 ###Automatic configuration and run performance tests on RKE
 
-In this step, the performance tests environment will be copied to your RKE node and Prometheus and Grafana will be deployed
+In this step, the performance tests environment will be copied to your RKE node and Prometheus, Grafana and Influxdb will be deployed
 ```
 make all
 ```
+###Run test scenario
+```
+make run-jmeter
+```
 ### Step by step configuration performance tests on RKE
 
 ###1. Copy performance tests environment to RKE
@@ -66,4 +92,16 @@ make clear-performanceTests
 ###4. Remove performance tests environment from RKE
 ```
 make remove-performanceTests
+```
+###5. Copy JMeter to VM
+```
+make copy-jmeter
+```
+###6. Run JMeter test scenario on VM
+```
+make run-jmeter
+```
+###7. Remove JMeter from VM
+```
+make remove-jmeter
 ```
\ No newline at end of file
index 0802563..86399cf 100644 (file)
@@ -1,4 +1,4 @@
-all: create-configmaps deploy-prometheus deploy-grafana display-urls
+all: create-configmaps deploy-influxdb deploy-prometheus deploy-grafana display-urls
 
 # Prometheus configuration
 PROMETHEUS_DIRECTORY = ./prometheus
@@ -12,14 +12,19 @@ DATASOURCE_CONFIGMAP = datasource.yaml
 DASHBOARD_PROVIDER_CONFIGMAP  = dashboards-provider.yaml
 DASHBOARD_CONFIGMAP = dashboard.yaml
 
+#INFLUXDB configuration
+INFLUXDB_DIRECTORY = ./influxdb
+INFLUXDB_DEPLOYMENT = deployment.yaml
+
 clear:
        @echo "\n##### Delete configmaps and $(GRAFANA_DEPLOYMENT)(grafana, prometheus)#####"
        kubectl delete -f $(GRAFANA_DIRECTORY)/$(GRAFANA_DEPLOYMENT) || true
        kubectl delete -f $(GRAFANA_DIRECTORY)/$(DASHBOARD_PROVIDER_CONFIGMAP) || true
        kubectl delete -f $(GRAFANA_DIRECTORY)/$(DATASOURCE_CONFIGMAP) || true
-       kubectl delete -f $(GRAFANA_DIRECTORY)/$(DASHBOARD_CONFIGMAP) || true
+       kubectl delete -n onap configmap ves-grafana-dashboards || true
        kubectl delete -f $(PROMETHEUS_DIRECTORY)/$(PROMETHEUS_DEPLOYMENT) || true
        kubectl delete -f $(PROMETHEUS_DIRECTORY)/$(PROMETHEUS_CONFIGMAP) || true
+       kubectl delete -f $(INFLUXDB_DIRECTORY)/$(INFLUXDB_DEPLOYMENT) || true
        @echo "##### DONE #####"
 
 create-configmaps:
@@ -27,7 +32,7 @@ create-configmaps:
        kubectl apply -f $(PROMETHEUS_DIRECTORY)/$(PROMETHEUS_CONFIGMAP)
        kubectl apply -f $(GRAFANA_DIRECTORY)/$(DATASOURCE_CONFIGMAP)
        kubectl apply -f $(GRAFANA_DIRECTORY)/$(DASHBOARD_PROVIDER_CONFIGMAP)
-       kubectl apply -f $(GRAFANA_DIRECTORY)/$(DASHBOARD_CONFIGMAP)
+       kubectl create configmap ves-grafana-dashboards -n onap --from-file grafana/dashboards/
        @echo "##### DONE #####"
 
 deploy-grafana:
@@ -40,6 +45,11 @@ deploy-prometheus:
        kubectl apply -f $(PROMETHEUS_DIRECTORY)/$(PROMETHEUS_DEPLOYMENT)
        @echo "##### DONE #####"
 
+deploy-influxdb:
+       @echo "\n##### Deploy influxdb #####"
+       kubectl apply -f $(INFLUXDB_DIRECTORY)/$(INFLUXDB_DEPLOYMENT)
+       @echo "##### DONE #####"
+
 display-urls:
        @echo "\e[32m##### Prometheus : http://<WORKER_IP>:30069/ #####\e[39m"
        @echo "\e[32m##### Grafana http://<WORKER_IP>:30001/ #####\e[39m"
index fb3bcd4..85251df 100644 (file)
@@ -28,7 +28,11 @@ make deploy-grafana
 ```
 make deploy-prometheus
 ```
-###5. Display URL of the graphical user interface Prometheus and Grafana
+###5. Deploy influxdb
+```
+make deploy-influxdb
+```
+###6. Display URL of the graphical user interface Prometheus and Grafana
 ```
 make display-urls
 ```
\ No newline at end of file
diff --git a/performanceTests/k8s/grafana/dashboard.yaml b/performanceTests/k8s/grafana/dashboard.yaml
deleted file mode 100644 (file)
index 60c422a..0000000
+++ /dev/null
@@ -1,3196 +0,0 @@
-# ============LICENSE_START=======================================================
-# dcaegen2-collectors-ves
-# ================================================================================
-# Copyright (C) 2020 NOKIA
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# ============LICENSE_END=========================================================
-
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: ves-grafana-dashboards
-  namespace: onap
-  labels:
-    name: ves-grafana-dashboards
-data:
-  ves-grafana-dashboard.json: |-
-    {
-    "__inputs": [
-      {
-        "name": "DS_PROMETHEUS",
-        "label": "Prometheus",
-        "description": "",
-        "type": "datasource",
-        "pluginId": "prometheus",
-        "pluginName": "Prometheus"
-      }
-    ],
-    "__requires": [
-      {
-        "type": "grafana",
-        "id": "grafana",
-        "name": "Grafana",
-        "version": "4.6.1"
-      },
-      {
-        "type": "panel",
-        "id": "graph",
-        "name": "Graph",
-        "version": ""
-      },
-      {
-        "type": "datasource",
-        "id": "prometheus",
-        "name": "Prometheus",
-        "version": "1.0.0"
-      },
-      {
-        "type": "panel",
-        "id": "singlestat",
-        "name": "Singlestat",
-        "version": ""
-      }
-    ],
-    "annotations": {
-      "list": [
-        {
-          "builtIn": 1,
-          "datasource": "-- Grafana --",
-          "enable": true,
-          "hide": true,
-          "iconColor": "rgba(0, 211, 255, 1)",
-          "limit": 100,
-          "name": "Annotations & Alerts",
-          "showIn": 0,
-          "type": "dashboard"
-        },
-        {
-          "datasource": "Prometheus",
-          "enable": true,
-          "expr": "resets(process_uptime_seconds{application=\"$application\", instance=\"$instance\"}[1m]) > 0",
-          "iconColor": "rgba(255, 96, 96, 1)",
-          "name": "Restart Detection",
-          "showIn": 0,
-          "step": "1m",
-          "tagKeys": "restart-tag",
-          "textFormat": "uptime reset",
-          "titleFormat": "Restart"
-        }
-      ]
-    },
-    "description": "Dashboard for Micrometer instrumented applications (Java, Spring Boot, Micronaut)",
-    "editable": true,
-    "gnetId": 4701,
-    "graphTooltip": 1,
-    "hideControls": false,
-    "id": null,
-    "links": [],
-    "refresh": "30s",
-    "rows": [
-      {
-        "collapse": false,
-        "height": "100px",
-        "panels": [
-          {
-            "cacheTimeout": null,
-            "colorBackground": false,
-            "colorValue": true,
-            "colors": [
-              "rgba(245, 54, 54, 0.9)",
-              "rgba(237, 129, 40, 0.89)",
-              "rgba(50, 172, 45, 0.97)"
-            ],
-            "datasource": "Prometheus",
-            "decimals": 1,
-            "editable": true,
-            "error": false,
-            "format": "s",
-            "gauge": {
-              "maxValue": 100,
-              "minValue": 0,
-              "show": false,
-              "thresholdLabels": false,
-              "thresholdMarkers": true
-            },
-            "height": "",
-            "id": 63,
-            "interval": null,
-            "links": [],
-            "mappingType": 1,
-            "mappingTypes": [
-              {
-                "name": "value to text",
-                "value": 1
-              },
-              {
-                "name": "range to text",
-                "value": 2
-              }
-            ],
-            "maxDataPoints": 100,
-            "nullPointMode": "connected",
-            "nullText": null,
-            "postfix": "",
-            "postfixFontSize": "50%",
-            "prefix": "",
-            "prefixFontSize": "70%",
-            "rangeMaps": [
-              {
-                "from": "null",
-                "text": "N/A",
-                "to": "null"
-              }
-            ],
-            "span": 3,
-            "sparkline": {
-              "fillColor": "rgba(31, 118, 189, 0.18)",
-              "full": false,
-              "lineColor": "rgb(31, 120, 193)",
-              "show": false
-            },
-            "tableColumn": "",
-            "targets": [
-              {
-                "expr": "process_uptime_seconds{application=\"$application\", instance=\"$instance\"}",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "",
-                "metric": "",
-                "refId": "A",
-                "step": 14400
-              }
-            ],
-            "thresholds": "",
-            "title": "Uptime",
-            "transparent": false,
-            "type": "singlestat",
-            "valueFontSize": "80%",
-            "valueMaps": [
-              {
-                "op": "=",
-                "text": "N/A",
-                "value": "null"
-              }
-            ],
-            "valueName": "current"
-          },
-          {
-            "cacheTimeout": null,
-            "colorBackground": false,
-            "colorValue": true,
-            "colors": [
-              "rgba(245, 54, 54, 0.9)",
-              "rgba(237, 129, 40, 0.89)",
-              "rgba(50, 172, 45, 0.97)"
-            ],
-            "datasource": "Prometheus",
-            "decimals": null,
-            "editable": true,
-            "error": false,
-            "format": "dateTimeAsIso",
-            "gauge": {
-              "maxValue": 100,
-              "minValue": 0,
-              "show": false,
-              "thresholdLabels": false,
-              "thresholdMarkers": true
-            },
-            "height": "",
-            "id": 92,
-            "interval": null,
-            "links": [],
-            "mappingType": 1,
-            "mappingTypes": [
-              {
-                "name": "value to text",
-                "value": 1
-              },
-              {
-                "name": "range to text",
-                "value": 2
-              }
-            ],
-            "maxDataPoints": 100,
-            "nullPointMode": "connected",
-            "nullText": null,
-            "postfix": "",
-            "postfixFontSize": "50%",
-            "prefix": "",
-            "prefixFontSize": "70%",
-            "rangeMaps": [
-              {
-                "from": "null",
-                "text": "N/A",
-                "to": "null"
-              }
-            ],
-            "span": 3,
-            "sparkline": {
-              "fillColor": "rgba(31, 118, 189, 0.18)",
-              "full": false,
-              "lineColor": "rgb(31, 120, 193)",
-              "show": false
-            },
-            "tableColumn": "",
-            "targets": [
-              {
-                "expr": "process_start_time_seconds{application=\"$application\", instance=\"$instance\"}*1000",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "",
-                "metric": "",
-                "refId": "A",
-                "step": 14400
-              }
-            ],
-            "thresholds": "",
-            "title": "Start time",
-            "transparent": false,
-            "type": "singlestat",
-            "valueFontSize": "70%",
-            "valueMaps": [
-              {
-                "op": "=",
-                "text": "N/A",
-                "value": "null"
-              }
-            ],
-            "valueName": "current"
-          },
-          {
-            "cacheTimeout": null,
-            "colorBackground": false,
-            "colorValue": true,
-            "colors": [
-              "rgba(50, 172, 45, 0.97)",
-              "rgba(237, 129, 40, 0.89)",
-              "rgba(245, 54, 54, 0.9)"
-            ],
-            "datasource": "Prometheus",
-            "decimals": 2,
-            "editable": true,
-            "error": false,
-            "format": "percent",
-            "gauge": {
-              "maxValue": 100,
-              "minValue": 0,
-              "show": false,
-              "thresholdLabels": false,
-              "thresholdMarkers": true
-            },
-            "id": 65,
-            "interval": null,
-            "links": [],
-            "mappingType": 1,
-            "mappingTypes": [
-              {
-                "name": "value to text",
-                "value": 1
-              },
-              {
-                "name": "range to text",
-                "value": 2
-              }
-            ],
-            "maxDataPoints": 100,
-            "nullPointMode": "connected",
-            "nullText": null,
-            "postfix": "",
-            "postfixFontSize": "50%",
-            "prefix": "",
-            "prefixFontSize": "70%",
-            "rangeMaps": [
-              {
-                "from": "null",
-                "text": "N/A",
-                "to": "null"
-              }
-            ],
-            "span": 3,
-            "sparkline": {
-              "fillColor": "rgba(31, 118, 189, 0.18)",
-              "full": false,
-              "lineColor": "rgb(31, 120, 193)",
-              "show": false
-            },
-            "tableColumn": "",
-            "targets": [
-              {
-                "expr": "sum(jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", area=\"heap\"})*100/sum(jvm_memory_max_bytes{application=\"$application\",instance=\"$instance\", area=\"heap\"})",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "",
-                "refId": "A",
-                "step": 14400
-              }
-            ],
-            "thresholds": "70,90",
-            "title": "Heap used",
-            "type": "singlestat",
-            "valueFontSize": "80%",
-            "valueMaps": [
-              {
-                "op": "=",
-                "text": "N/A",
-                "value": "null"
-              }
-            ],
-            "valueName": "current"
-          },
-          {
-            "cacheTimeout": null,
-            "colorBackground": false,
-            "colorValue": true,
-            "colors": [
-              "rgba(50, 172, 45, 0.97)",
-              "rgba(237, 129, 40, 0.89)",
-              "rgba(245, 54, 54, 0.9)"
-            ],
-            "datasource": "Prometheus",
-            "decimals": 2,
-            "editable": true,
-            "error": false,
-            "format": "percent",
-            "gauge": {
-              "maxValue": 100,
-              "minValue": 0,
-              "show": false,
-              "thresholdLabels": false,
-              "thresholdMarkers": true
-            },
-            "id": 75,
-            "interval": null,
-            "links": [],
-            "mappingType": 2,
-            "mappingTypes": [
-              {
-                "name": "value to text",
-                "value": 1
-              },
-              {
-                "name": "range to text",
-                "value": 2
-              }
-            ],
-            "maxDataPoints": 100,
-            "nullPointMode": "connected",
-            "nullText": null,
-            "postfix": "",
-            "postfixFontSize": "50%",
-            "prefix": "",
-            "prefixFontSize": "70%",
-            "rangeMaps": [
-              {
-                "from": "null",
-                "text": "N/A",
-                "to": "null"
-              },
-              {
-                "from": "-99999999999999999999999999999999",
-                "text": "N/A",
-                "to": "0"
-              }
-            ],
-            "span": 3,
-            "sparkline": {
-              "fillColor": "rgba(31, 118, 189, 0.18)",
-              "full": false,
-              "lineColor": "rgb(31, 120, 193)",
-              "show": false
-            },
-            "tableColumn": "",
-            "targets": [
-              {
-                "expr": "sum(jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", area=\"nonheap\"})*100/sum(jvm_memory_max_bytes{application=\"$application\",instance=\"$instance\", area=\"nonheap\"})",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "",
-                "refId": "A",
-                "step": 14400
-              }
-            ],
-            "thresholds": "70,90",
-            "title": "Non-Heap used",
-            "type": "singlestat",
-            "valueFontSize": "80%",
-            "valueMaps": [
-              {
-                "op": "=",
-                "text": "N/A",
-                "value": "null"
-              },
-              {
-                "op": "=",
-                "text": "x",
-                "value": ""
-              }
-            ],
-            "valueName": "current"
-          }
-        ],
-        "repeat": null,
-        "repeatIteration": null,
-        "repeatRowId": null,
-        "showTitle": true,
-        "title": "Quick Facts",
-        "titleSize": "h6"
-      },
-      {
-        "collapse": false,
-        "height": 250,
-        "panels": [
-          {
-            "aliasColors": {},
-            "bars": false,
-            "dashLength": 10,
-            "dashes": false,
-            "datasource": "Prometheus",
-            "fill": 1,
-            "id": 111,
-            "legend": {
-              "avg": false,
-              "current": true,
-              "max": false,
-              "min": false,
-              "show": true,
-              "total": false,
-              "values": true
-            },
-            "lines": true,
-            "linewidth": 1,
-            "links": [],
-            "nullPointMode": "null",
-            "percentage": false,
-            "pointradius": 5,
-            "points": false,
-            "renderer": "flot",
-            "seriesOverrides": [],
-            "spaceLength": 10,
-            "span": 3,
-            "stack": false,
-            "steppedLine": false,
-            "targets": [
-              {
-                "expr": "sum(rate(http_server_requests_seconds_count{application=\"$application\", instance=\"$instance\"}[1m]))",
-                "format": "time_series",
-                "intervalFactor": 1,
-                "legendFormat": "HTTP",
-                "refId": "A"
-              }
-            ],
-            "thresholds": [],
-            "timeFrom": null,
-            "timeShift": null,
-            "title": "Rate",
-            "tooltip": {
-              "shared": true,
-              "sort": 0,
-              "value_type": "individual"
-            },
-            "type": "graph",
-            "xaxis": {
-              "buckets": null,
-              "mode": "time",
-              "name": null,
-              "show": true,
-              "values": []
-            },
-            "yaxes": [
-              {
-                "decimals": null,
-                "format": "ops",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": "0",
-                "show": true
-              },
-              {
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              }
-            ]
-          },
-          {
-            "aliasColors": {
-              "HTTP": "#890f02",
-              "HTTP - 5xx": "#bf1b00"
-            },
-            "bars": false,
-            "dashLength": 10,
-            "dashes": false,
-            "datasource": "Prometheus",
-            "fill": 1,
-            "id": 112,
-            "legend": {
-              "avg": false,
-              "current": true,
-              "max": false,
-              "min": false,
-              "show": true,
-              "total": false,
-              "values": true
-            },
-            "lines": true,
-            "linewidth": 1,
-            "links": [],
-            "nullPointMode": "null",
-            "percentage": false,
-            "pointradius": 5,
-            "points": false,
-            "renderer": "flot",
-            "seriesOverrides": [],
-            "spaceLength": 10,
-            "span": 3,
-            "stack": false,
-            "steppedLine": false,
-            "targets": [
-              {
-                "expr": "sum(rate(http_server_requests_seconds_count{application=\"$application\", instance=\"$instance\", status=~\"5..\"}[1m]))",
-                "format": "time_series",
-                "intervalFactor": 1,
-                "legendFormat": "HTTP - 5xx",
-                "refId": "A"
-              }
-            ],
-            "thresholds": [],
-            "timeFrom": null,
-            "timeShift": null,
-            "title": "Errors",
-            "tooltip": {
-              "shared": true,
-              "sort": 0,
-              "value_type": "individual"
-            },
-            "type": "graph",
-            "xaxis": {
-              "buckets": null,
-              "mode": "time",
-              "name": null,
-              "show": true,
-              "values": []
-            },
-            "yaxes": [
-              {
-                "decimals": null,
-                "format": "ops",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": "0",
-                "show": true
-              },
-              {
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              }
-            ]
-          },
-          {
-            "aliasColors": {},
-            "bars": false,
-            "dashLength": 10,
-            "dashes": false,
-            "datasource": "Prometheus",
-            "fill": 1,
-            "id": 113,
-            "legend": {
-              "avg": false,
-              "current": true,
-              "max": false,
-              "min": false,
-              "show": true,
-              "total": false,
-              "values": true
-            },
-            "lines": true,
-            "linewidth": 1,
-            "links": [],
-            "nullPointMode": "null",
-            "percentage": false,
-            "pointradius": 5,
-            "points": false,
-            "renderer": "flot",
-            "seriesOverrides": [],
-            "spaceLength": 10,
-            "span": 3,
-            "stack": false,
-            "steppedLine": false,
-            "targets": [
-              {
-                "expr": "sum(rate(http_server_requests_seconds_sum{application=\"$application\", instance=\"$instance\", status!~\"5..\"}[1m]))/sum(rate(http_server_requests_seconds_count{application=\"$application\", instance=\"$instance\", status!~\"5..\"}[1m]))",
-                "format": "time_series",
-                "hide": false,
-                "intervalFactor": 1,
-                "legendFormat": "HTTP - AVG",
-                "refId": "A"
-              },
-              {
-                "expr": "max(http_server_requests_seconds_max{application=\"$application\", instance=\"$instance\", status!~\"5..\"})",
-                "format": "time_series",
-                "hide": false,
-                "intervalFactor": 1,
-                "legendFormat": "HTTP - MAX",
-                "refId": "B"
-              }
-            ],
-            "thresholds": [],
-            "timeFrom": null,
-            "timeShift": null,
-            "title": "Duration",
-            "tooltip": {
-              "shared": true,
-              "sort": 0,
-              "value_type": "individual"
-            },
-            "type": "graph",
-            "xaxis": {
-              "buckets": null,
-              "mode": "time",
-              "name": null,
-              "show": true,
-              "values": []
-            },
-            "yaxes": [
-              {
-                "format": "s",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": "0",
-                "show": true
-              },
-              {
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              }
-            ]
-          },
-          {
-            "aliasColors": {},
-            "bars": false,
-            "dashLength": 10,
-            "dashes": false,
-            "datasource": "Prometheus",
-            "description": "",
-            "fill": 1,
-            "id": 119,
-            "legend": {
-              "alignAsTable": false,
-              "avg": false,
-              "current": true,
-              "max": false,
-              "min": false,
-              "show": true,
-              "total": false,
-              "values": true
-            },
-            "lines": true,
-            "linewidth": 1,
-            "links": [],
-            "nullPointMode": "null",
-            "percentage": false,
-            "pointradius": 5,
-            "points": false,
-            "renderer": "flot",
-            "seriesOverrides": [],
-            "spaceLength": 10,
-            "span": 3,
-            "stack": false,
-            "steppedLine": false,
-            "targets": [
-              {
-                "expr": "tomcat_threads_busy_threads{application=\"$application\", instance=\"$instance\"}",
-                "format": "time_series",
-                "hide": false,
-                "intervalFactor": 2,
-                "legendFormat": "TOMCAT - BSY",
-                "refId": "A"
-              },
-              {
-                "expr": "tomcat_threads_current_threads{application=\"$application\", instance=\"$instance\"}",
-                "format": "time_series",
-                "hide": false,
-                "intervalFactor": 2,
-                "legendFormat": "TOMCAT - CUR",
-                "refId": "B"
-              },
-              {
-                "expr": "tomcat_threads_config_max_threads{application=\"$application\", instance=\"$instance\"}",
-                "format": "time_series",
-                "hide": false,
-                "intervalFactor": 2,
-                "legendFormat": "TOMCAT - MAX",
-                "refId": "C"
-              },
-              {
-                "expr": "jetty_threads_busy{application=\"$application\", instance=\"$instance\"}",
-                "format": "time_series",
-                "hide": false,
-                "intervalFactor": 2,
-                "legendFormat": "JETTY - BSY",
-                "refId": "D"
-              },
-              {
-                "expr": "jetty_threads_current{application=\"$application\", instance=\"$instance\"}",
-                "format": "time_series",
-                "hide": false,
-                "intervalFactor": 2,
-                "legendFormat": "JETTY - CUR",
-                "refId": "E"
-              },
-              {
-                "expr": "jetty_threads_config_max{application=\"$application\", instance=\"$instance\"}",
-                "format": "time_series",
-                "hide": false,
-                "intervalFactor": 2,
-                "legendFormat": "JETTY - MAX",
-                "refId": "F"
-              }
-            ],
-            "thresholds": [],
-            "timeFrom": null,
-            "timeShift": null,
-            "title": "Utilisation",
-            "tooltip": {
-              "shared": true,
-              "sort": 0,
-              "value_type": "individual"
-            },
-            "type": "graph",
-            "xaxis": {
-              "buckets": null,
-              "mode": "time",
-              "name": null,
-              "show": true,
-              "values": []
-            },
-            "yaxes": [
-              {
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": "0",
-                "show": true
-              },
-              {
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              }
-            ]
-          }
-        ],
-        "repeat": null,
-        "repeatIteration": null,
-        "repeatRowId": null,
-        "showTitle": true,
-        "title": "I/O Overview",
-        "titleSize": "h6"
-      },
-      {
-        "collapse": false,
-        "height": "250px",
-        "panels": [
-          {
-            "aliasColors": {},
-            "bars": false,
-            "dashLength": 10,
-            "dashes": false,
-            "datasource": "Prometheus",
-            "editable": true,
-            "error": false,
-            "fill": 1,
-            "grid": {
-              "leftLogBase": 1,
-              "leftMax": null,
-              "leftMin": null,
-              "rightLogBase": 1,
-              "rightMax": null,
-              "rightMin": null
-            },
-            "id": 24,
-            "legend": {
-              "avg": false,
-              "current": true,
-              "max": true,
-              "min": false,
-              "show": true,
-              "total": false,
-              "values": true
-            },
-            "lines": true,
-            "linewidth": 1,
-            "links": [],
-            "nullPointMode": "null",
-            "percentage": false,
-            "pointradius": 5,
-            "points": false,
-            "renderer": "flot",
-            "seriesOverrides": [],
-            "spaceLength": 10,
-            "span": 3,
-            "stack": false,
-            "steppedLine": false,
-            "targets": [
-              {
-                "expr": "sum(jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", area=\"heap\"})",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "used",
-                "metric": "",
-                "refId": "A",
-                "step": 2400
-              },
-              {
-                "expr": "sum(jvm_memory_committed_bytes{application=\"$application\", instance=\"$instance\", area=\"heap\"})",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "committed",
-                "refId": "B",
-                "step": 2400
-              },
-              {
-                "expr": "sum(jvm_memory_max_bytes{application=\"$application\", instance=\"$instance\", area=\"heap\"})",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "max",
-                "refId": "C",
-                "step": 2400
-              }
-            ],
-            "thresholds": [],
-            "timeFrom": null,
-            "timeShift": null,
-            "title": "JVM Heap",
-            "tooltip": {
-              "msResolution": false,
-              "shared": true,
-              "sort": 0,
-              "value_type": "cumulative"
-            },
-            "type": "graph",
-            "x-axis": true,
-            "xaxis": {
-              "buckets": null,
-              "mode": "time",
-              "name": null,
-              "show": true,
-              "values": []
-            },
-            "y-axis": true,
-            "y_formats": [
-              "mbytes",
-              "short"
-            ],
-            "yaxes": [
-              {
-                "format": "bytes",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": 0,
-                "show": true
-              },
-              {
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              }
-            ]
-          },
-          {
-            "aliasColors": {},
-            "bars": false,
-            "dashLength": 10,
-            "dashes": false,
-            "datasource": "Prometheus",
-            "editable": true,
-            "error": false,
-            "fill": 1,
-            "grid": {
-              "leftLogBase": 1,
-              "leftMax": null,
-              "leftMin": null,
-              "rightLogBase": 1,
-              "rightMax": null,
-              "rightMin": null
-            },
-            "id": 25,
-            "legend": {
-              "avg": false,
-              "current": true,
-              "max": true,
-              "min": false,
-              "show": true,
-              "total": false,
-              "values": true
-            },
-            "lines": true,
-            "linewidth": 1,
-            "links": [],
-            "nullPointMode": "null",
-            "percentage": false,
-            "pointradius": 5,
-            "points": false,
-            "renderer": "flot",
-            "seriesOverrides": [],
-            "spaceLength": 10,
-            "span": 3,
-            "stack": false,
-            "steppedLine": false,
-            "targets": [
-              {
-                "expr": "sum(jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", area=\"nonheap\"})",
-                "format": "time_series",
-                "interval": "",
-                "intervalFactor": 2,
-                "legendFormat": "used",
-                "metric": "",
-                "refId": "A",
-                "step": 2400
-              },
-              {
-                "expr": "sum(jvm_memory_committed_bytes{application=\"$application\", instance=\"$instance\", area=\"nonheap\"})",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "committed",
-                "refId": "B",
-                "step": 2400
-              },
-              {
-                "expr": "sum(jvm_memory_max_bytes{application=\"$application\", instance=\"$instance\", area=\"nonheap\"})",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "max",
-                "refId": "C",
-                "step": 2400
-              }
-            ],
-            "thresholds": [],
-            "timeFrom": null,
-            "timeShift": null,
-            "title": "JVM Non-Heap",
-            "tooltip": {
-              "msResolution": false,
-              "shared": true,
-              "sort": 0,
-              "value_type": "cumulative"
-            },
-            "type": "graph",
-            "x-axis": true,
-            "xaxis": {
-              "buckets": null,
-              "mode": "time",
-              "name": null,
-              "show": true,
-              "values": []
-            },
-            "y-axis": true,
-            "y_formats": [
-              "mbytes",
-              "short"
-            ],
-            "yaxes": [
-              {
-                "format": "bytes",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": 0,
-                "show": true
-              },
-              {
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              }
-            ]
-          },
-          {
-            "aliasColors": {},
-            "bars": false,
-            "dashLength": 10,
-            "dashes": false,
-            "datasource": "Prometheus",
-            "editable": true,
-            "error": false,
-            "fill": 1,
-            "grid": {
-              "leftLogBase": 1,
-              "leftMax": null,
-              "leftMin": null,
-              "rightLogBase": 1,
-              "rightMax": null,
-              "rightMin": null
-            },
-            "id": 26,
-            "legend": {
-              "alignAsTable": false,
-              "avg": false,
-              "current": true,
-              "max": true,
-              "min": false,
-              "show": true,
-              "total": false,
-              "values": true
-            },
-            "lines": true,
-            "linewidth": 1,
-            "links": [],
-            "nullPointMode": "null",
-            "percentage": false,
-            "pointradius": 5,
-            "points": false,
-            "renderer": "flot",
-            "seriesOverrides": [],
-            "spaceLength": 10,
-            "span": 3,
-            "stack": false,
-            "steppedLine": false,
-            "targets": [
-              {
-                "expr": "sum(jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\"})",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "used",
-                "metric": "",
-                "refId": "A",
-                "step": 2400
-              },
-              {
-                "expr": "sum(jvm_memory_committed_bytes{application=\"$application\", instance=\"$instance\"})",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "committed",
-                "refId": "B",
-                "step": 2400
-              },
-              {
-                "expr": "sum(jvm_memory_max_bytes{application=\"$application\", instance=\"$instance\"})",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "max",
-                "refId": "C",
-                "step": 2400
-              }
-            ],
-            "thresholds": [],
-            "timeFrom": null,
-            "timeShift": null,
-            "title": "JVM Total",
-            "tooltip": {
-              "msResolution": false,
-              "shared": true,
-              "sort": 0,
-              "value_type": "cumulative"
-            },
-            "type": "graph",
-            "x-axis": true,
-            "xaxis": {
-              "buckets": null,
-              "mode": "time",
-              "name": null,
-              "show": true,
-              "values": []
-            },
-            "y-axis": true,
-            "y_formats": [
-              "mbytes",
-              "short"
-            ],
-            "yaxes": [
-              {
-                "format": "bytes",
-                "label": "",
-                "logBase": 1,
-                "max": null,
-                "min": 0,
-                "show": true
-              },
-              {
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              }
-            ]
-          },
-          {
-            "aliasColors": {},
-            "bars": false,
-            "dashLength": 10,
-            "dashes": false,
-            "datasource": "Prometheus",
-            "editable": true,
-            "error": false,
-            "fill": 1,
-            "grid": {
-              "leftLogBase": 1,
-              "leftMax": null,
-              "leftMin": null,
-              "rightLogBase": 1,
-              "rightMax": null,
-              "rightMin": null
-            },
-            "id": 86,
-            "legend": {
-              "avg": false,
-              "current": true,
-              "max": true,
-              "min": false,
-              "show": true,
-              "total": false,
-              "values": true
-            },
-            "lines": true,
-            "linewidth": 1,
-            "links": [],
-            "nullPointMode": "null",
-            "percentage": false,
-            "pointradius": 5,
-            "points": false,
-            "renderer": "flot",
-            "seriesOverrides": [],
-            "spaceLength": 10,
-            "span": 3,
-            "stack": false,
-            "steppedLine": false,
-            "targets": [
-              {
-                "expr": "process_memory_vss_bytes{application=\"$application\", instance=\"$instance\"}",
-                "format": "time_series",
-                "hide": true,
-                "intervalFactor": 2,
-                "legendFormat": "vss",
-                "metric": "",
-                "refId": "A",
-                "step": 2400
-              },
-              {
-                "expr": "process_memory_rss_bytes{application=\"$application\", instance=\"$instance\"}",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "rss",
-                "refId": "B"
-              },
-              {
-                "expr": "process_memory_swap_bytes{application=\"$application\", instance=\"$instance\"}",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "swap",
-                "refId": "C"
-              },
-              {
-                "expr": "process_memory_rss_bytes{application=\"$application\", instance=\"$instance\"} + process_memory_swap_bytes{application=\"$application\", instance=\"$instance\"}",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "total",
-                "refId": "D"
-              }
-            ],
-            "thresholds": [],
-            "timeFrom": null,
-            "timeShift": null,
-            "title": "JVM Process Memory",
-            "tooltip": {
-              "msResolution": false,
-              "shared": true,
-              "sort": 0,
-              "value_type": "cumulative"
-            },
-            "type": "graph",
-            "x-axis": true,
-            "xaxis": {
-              "buckets": null,
-              "mode": "time",
-              "name": null,
-              "show": true,
-              "values": []
-            },
-            "y-axis": true,
-            "y_formats": [
-              "mbytes",
-              "short"
-            ],
-            "yaxes": [
-              {
-                "format": "bytes",
-                "label": "",
-                "logBase": 1,
-                "max": null,
-                "min": "0",
-                "show": true
-              },
-              {
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              }
-            ]
-          }
-        ],
-        "repeat": null,
-        "repeatIteration": null,
-        "repeatRowId": null,
-        "showTitle": true,
-        "title": "JVM Memory",
-        "titleSize": "h6"
-      },
-      {
-        "collapse": false,
-        "height": 250,
-        "panels": [
-          {
-            "aliasColors": {},
-            "bars": false,
-            "dashLength": 10,
-            "dashes": false,
-            "datasource": "Prometheus",
-            "editable": true,
-            "error": false,
-            "fill": 1,
-            "grid": {
-              "leftLogBase": 1,
-              "leftMax": null,
-              "leftMin": null,
-              "rightLogBase": 1,
-              "rightMax": null,
-              "rightMin": null
-            },
-            "id": 106,
-            "legend": {
-              "avg": false,
-              "current": true,
-              "max": true,
-              "min": false,
-              "show": true,
-              "total": false,
-              "values": true
-            },
-            "lines": true,
-            "linewidth": 1,
-            "links": [],
-            "nullPointMode": "null",
-            "percentage": false,
-            "pointradius": 5,
-            "points": false,
-            "renderer": "flot",
-            "seriesOverrides": [],
-            "spaceLength": 10,
-            "span": 3,
-            "stack": false,
-            "steppedLine": false,
-            "targets": [
-              {
-                "expr": "system_cpu_usage{application=\"$application\", instance=\"$instance\"}",
-                "format": "time_series",
-                "hide": false,
-                "intervalFactor": 1,
-                "legendFormat": "system",
-                "metric": "",
-                "refId": "A",
-                "step": 2400
-              },
-              {
-                "expr": "process_cpu_usage{application=\"$application\", instance=\"$instance\"}",
-                "format": "time_series",
-                "hide": false,
-                "intervalFactor": 1,
-                "legendFormat": "process",
-                "refId": "B"
-              },
-              {
-                "expr": "avg_over_time(process_cpu_usage{application=\"$application\", instance=\"$instance\"}[1h])",
-                "format": "time_series",
-                "hide": false,
-                "intervalFactor": 1,
-                "legendFormat": "process-1h",
-                "refId": "C"
-              }
-            ],
-            "thresholds": [],
-            "timeFrom": null,
-            "timeShift": null,
-            "title": "CPU Usage",
-            "tooltip": {
-              "msResolution": false,
-              "shared": true,
-              "sort": 0,
-              "value_type": "cumulative"
-            },
-            "type": "graph",
-            "x-axis": true,
-            "xaxis": {
-              "buckets": null,
-              "mode": "time",
-              "name": null,
-              "show": true,
-              "values": []
-            },
-            "y-axis": true,
-            "y_formats": [
-              "short",
-              "short"
-            ],
-            "yaxes": [
-              {
-                "decimals": 1,
-                "format": "percentunit",
-                "label": "",
-                "logBase": 1,
-                "max": "1",
-                "min": 0,
-                "show": true
-              },
-              {
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              }
-            ]
-          },
-          {
-            "aliasColors": {},
-            "bars": false,
-            "dashLength": 10,
-            "dashes": false,
-            "datasource": "Prometheus",
-            "editable": true,
-            "error": false,
-            "fill": 1,
-            "grid": {
-              "leftLogBase": 1,
-              "leftMax": null,
-              "leftMin": null,
-              "rightLogBase": 1,
-              "rightMax": null,
-              "rightMin": null
-            },
-            "id": 93,
-            "legend": {
-              "avg": false,
-              "current": true,
-              "max": true,
-              "min": false,
-              "show": true,
-              "total": false,
-              "values": true
-            },
-            "lines": true,
-            "linewidth": 1,
-            "links": [],
-            "nullPointMode": "null",
-            "percentage": false,
-            "pointradius": 5,
-            "points": false,
-            "renderer": "flot",
-            "seriesOverrides": [],
-            "spaceLength": 10,
-            "span": 3,
-            "stack": false,
-            "steppedLine": false,
-            "targets": [
-              {
-                "expr": "system_load_average_1m{application=\"$application\", instance=\"$instance\"}",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "system-1m",
-                "metric": "",
-                "refId": "A",
-                "step": 2400
-              },
-              {
-                "expr": "system_cpu_count{application=\"$application\", instance=\"$instance\"}",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "cpus",
-                "refId": "B"
-              }
-            ],
-            "thresholds": [],
-            "timeFrom": null,
-            "timeShift": null,
-            "title": "Load",
-            "tooltip": {
-              "msResolution": false,
-              "shared": true,
-              "sort": 0,
-              "value_type": "cumulative"
-            },
-            "type": "graph",
-            "x-axis": true,
-            "xaxis": {
-              "buckets": null,
-              "mode": "time",
-              "name": null,
-              "show": true,
-              "values": []
-            },
-            "y-axis": true,
-            "y_formats": [
-              "short",
-              "short"
-            ],
-            "yaxes": [
-              {
-                "decimals": 1,
-                "format": "short",
-                "label": "",
-                "logBase": 1,
-                "max": null,
-                "min": 0,
-                "show": true
-              },
-              {
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              }
-            ]
-          },
-          {
-            "aliasColors": {},
-            "bars": false,
-            "dashLength": 10,
-            "dashes": false,
-            "datasource": "Prometheus",
-            "editable": true,
-            "error": false,
-            "fill": 1,
-            "grid": {
-              "leftLogBase": 1,
-              "leftMax": null,
-              "leftMin": null,
-              "rightLogBase": 1,
-              "rightMax": null,
-              "rightMin": null
-            },
-            "id": 32,
-            "legend": {
-              "avg": false,
-              "current": true,
-              "max": true,
-              "min": false,
-              "show": true,
-              "total": false,
-              "values": true
-            },
-            "lines": true,
-            "linewidth": 1,
-            "links": [],
-            "nullPointMode": "null",
-            "percentage": false,
-            "pointradius": 5,
-            "points": false,
-            "renderer": "flot",
-            "seriesOverrides": [],
-            "spaceLength": 10,
-            "span": 3,
-            "stack": false,
-            "steppedLine": false,
-            "targets": [
-              {
-                "expr": "jvm_threads_live_threads{application=\"$application\", instance=\"$instance\"}",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "live",
-                "metric": "",
-                "refId": "A",
-                "step": 2400
-              },
-              {
-                "expr": "jvm_threads_daemon_threads{application=\"$application\", instance=\"$instance\"}",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "daemon",
-                "metric": "",
-                "refId": "B",
-                "step": 2400
-              },
-              {
-                "expr": "jvm_threads_peak_threads{application=\"$application\", instance=\"$instance\"}",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "peak",
-                "refId": "C",
-                "step": 2400
-              },
-              {
-                "expr": "process_threads{application=\"$application\", instance=\"$instance\"}",
-                "format": "time_series",
-                "interval": "",
-                "intervalFactor": 2,
-                "legendFormat": "process",
-                "refId": "D",
-                "step": 2400
-              }
-            ],
-            "thresholds": [],
-            "timeFrom": null,
-            "timeShift": null,
-            "title": "Threads",
-            "tooltip": {
-              "msResolution": false,
-              "shared": true,
-              "sort": 0,
-              "value_type": "cumulative"
-            },
-            "type": "graph",
-            "x-axis": true,
-            "xaxis": {
-              "buckets": null,
-              "mode": "time",
-              "name": null,
-              "show": true,
-              "values": []
-            },
-            "y-axis": true,
-            "y_formats": [
-              "short",
-              "short"
-            ],
-            "yaxes": [
-              {
-                "decimals": 0,
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": 0,
-                "show": true
-              },
-              {
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              }
-            ]
-          },
-          {
-            "aliasColors": {
-              "blocked": "#bf1b00",
-              "new": "#fce2de",
-              "runnable": "#7eb26d",
-              "terminated": "#511749",
-              "timed-waiting": "#c15c17",
-              "waiting": "#eab839"
-            },
-            "bars": false,
-            "dashLength": 10,
-            "dashes": false,
-            "datasource": "Prometheus",
-            "fill": 1,
-            "id": 124,
-            "legend": {
-              "alignAsTable": false,
-              "avg": false,
-              "current": true,
-              "max": true,
-              "min": false,
-              "rightSide": false,
-              "show": true,
-              "total": false,
-              "values": true
-            },
-            "lines": true,
-            "linewidth": 1,
-            "links": [],
-            "nullPointMode": "null",
-            "percentage": false,
-            "pointradius": 5,
-            "points": false,
-            "renderer": "flot",
-            "seriesOverrides": [],
-            "spaceLength": 10,
-            "span": 3,
-            "stack": false,
-            "steppedLine": false,
-            "targets": [
-              {
-                "expr": "jvm_threads_states_threads{application=\"$application\", instance=\"$instance\"}",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "{{state}}",
-                "refId": "A"
-              }
-            ],
-            "thresholds": [],
-            "timeFrom": null,
-            "timeShift": null,
-            "title": "Thread States",
-            "tooltip": {
-              "shared": true,
-              "sort": 0,
-              "value_type": "individual"
-            },
-            "type": "graph",
-            "xaxis": {
-              "buckets": null,
-              "mode": "time",
-              "name": null,
-              "show": true,
-              "values": []
-            },
-            "yaxes": [
-              {
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              },
-              {
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              }
-            ]
-          },
-          {
-            "aliasColors": {
-              "debug": "#1F78C1",
-              "error": "#BF1B00",
-              "info": "#508642",
-              "trace": "#6ED0E0",
-              "warn": "#EAB839"
-            },
-            "bars": false,
-            "dashLength": 10,
-            "dashes": false,
-            "datasource": "Prometheus",
-            "editable": true,
-            "error": false,
-            "fill": 1,
-            "grid": {
-              "leftLogBase": 1,
-              "leftMax": null,
-              "leftMin": null,
-              "rightLogBase": 1,
-              "rightMax": null,
-              "rightMin": null
-            },
-            "height": "",
-            "id": 91,
-            "legend": {
-              "alignAsTable": false,
-              "avg": false,
-              "current": true,
-              "hideEmpty": false,
-              "hideZero": false,
-              "max": true,
-              "min": false,
-              "rightSide": false,
-              "show": true,
-              "total": false,
-              "values": true
-            },
-            "lines": true,
-            "linewidth": 1,
-            "links": [],
-            "nullPointMode": "null",
-            "percentage": true,
-            "pointradius": 5,
-            "points": false,
-            "renderer": "flot",
-            "seriesOverrides": [
-              {
-                "alias": "error",
-                "yaxis": 1
-              },
-              {
-                "alias": "warn",
-                "yaxis": 1
-              }
-            ],
-            "spaceLength": 10,
-            "span": 9,
-            "stack": false,
-            "steppedLine": false,
-            "targets": [
-              {
-                "expr": "increase(logback_events_total{application=\"$application\", instance=\"$instance\"}[1m])",
-                "format": "time_series",
-                "interval": "",
-                "intervalFactor": 2,
-                "legendFormat": "{{level}}",
-                "metric": "",
-                "refId": "A",
-                "step": 1200
-              }
-            ],
-            "thresholds": [],
-            "timeFrom": null,
-            "timeShift": null,
-            "title": "Log Events",
-            "tooltip": {
-              "msResolution": false,
-              "shared": true,
-              "sort": 0,
-              "value_type": "individual"
-            },
-            "transparent": false,
-            "type": "graph",
-            "x-axis": true,
-            "xaxis": {
-              "buckets": null,
-              "mode": "time",
-              "name": null,
-              "show": true,
-              "values": []
-            },
-            "y-axis": true,
-            "y_formats": [
-              "short",
-              "short"
-            ],
-            "yaxes": [
-              {
-                "decimals": 0,
-                "format": "opm",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": "0",
-                "show": true
-              },
-              {
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              }
-            ]
-          },
-          {
-            "aliasColors": {},
-            "bars": false,
-            "dashLength": 10,
-            "dashes": false,
-            "datasource": "Prometheus",
-            "editable": true,
-            "error": false,
-            "fill": 1,
-            "grid": {
-              "leftLogBase": 1,
-              "leftMax": null,
-              "leftMin": null,
-              "rightLogBase": 1,
-              "rightMax": null,
-              "rightMin": null
-            },
-            "id": 61,
-            "legend": {
-              "avg": false,
-              "current": true,
-              "max": true,
-              "min": false,
-              "show": true,
-              "total": false,
-              "values": true
-            },
-            "lines": true,
-            "linewidth": 1,
-            "links": [],
-            "nullPointMode": "null",
-            "percentage": false,
-            "pointradius": 5,
-            "points": false,
-            "renderer": "flot",
-            "seriesOverrides": [],
-            "spaceLength": 10,
-            "span": 3,
-            "stack": false,
-            "steppedLine": false,
-            "targets": [
-              {
-                "expr": "process_files_open_files{application=\"$application\", instance=\"$instance\"}",
-                "format": "time_series",
-                "hide": false,
-                "intervalFactor": 2,
-                "legendFormat": "open",
-                "metric": "",
-                "refId": "A",
-                "step": 2400
-              },
-              {
-                "expr": "process_files_max_files{application=\"$application\", instance=\"$instance\"}",
-                "format": "time_series",
-                "hide": false,
-                "intervalFactor": 2,
-                "legendFormat": "max",
-                "metric": "",
-                "refId": "B",
-                "step": 2400
-              }
-            ],
-            "thresholds": [],
-            "timeFrom": null,
-            "timeShift": null,
-            "title": "File Descriptors",
-            "tooltip": {
-              "msResolution": false,
-              "shared": true,
-              "sort": 0,
-              "value_type": "cumulative"
-            },
-            "type": "graph",
-            "x-axis": true,
-            "xaxis": {
-              "buckets": null,
-              "mode": "time",
-              "name": null,
-              "show": true,
-              "values": []
-            },
-            "y-axis": true,
-            "y_formats": [
-              "short",
-              "short"
-            ],
-            "yaxes": [
-              {
-                "decimals": 0,
-                "format": "short",
-                "label": null,
-                "logBase": 10,
-                "max": null,
-                "min": 0,
-                "show": true
-              },
-              {
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              }
-            ]
-          }
-        ],
-        "repeat": null,
-        "repeatIteration": null,
-        "repeatRowId": null,
-        "showTitle": true,
-        "title": "JVM Misc",
-        "titleSize": "h6"
-      },
-      {
-        "collapse": false,
-        "height": "250px",
-        "panels": [
-          {
-            "aliasColors": {},
-            "bars": false,
-            "dashLength": 10,
-            "dashes": false,
-            "datasource": "Prometheus",
-            "editable": true,
-            "error": false,
-            "fill": 1,
-            "grid": {
-              "leftLogBase": 1,
-              "leftMax": null,
-              "leftMin": null,
-              "rightLogBase": 1,
-              "rightMax": null,
-              "rightMin": null
-            },
-            "id": 3,
-            "legend": {
-              "alignAsTable": false,
-              "avg": false,
-              "current": true,
-              "max": true,
-              "min": false,
-              "rightSide": false,
-              "show": true,
-              "total": false,
-              "values": true
-            },
-            "lines": true,
-            "linewidth": 1,
-            "links": [],
-            "minSpan": 4,
-            "nullPointMode": "null",
-            "percentage": false,
-            "pointradius": 5,
-            "points": false,
-            "renderer": "flot",
-            "repeat": "jvm_memory_pool_heap",
-            "seriesOverrides": [],
-            "spaceLength": 10,
-            "span": 4,
-            "stack": false,
-            "steppedLine": false,
-            "targets": [
-              {
-                "expr": "jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", id=~\"$jvm_memory_pool_heap\"}",
-                "format": "time_series",
-                "hide": false,
-                "interval": "",
-                "intervalFactor": 2,
-                "legendFormat": "used",
-                "metric": "",
-                "refId": "A",
-                "step": 1800
-              },
-              {
-                "expr": "jvm_memory_committed_bytes{application=\"$application\", instance=\"$instance\", id=~\"$jvm_memory_pool_heap\"}",
-                "format": "time_series",
-                "hide": false,
-                "interval": "",
-                "intervalFactor": 2,
-                "legendFormat": "commited",
-                "metric": "",
-                "refId": "B",
-                "step": 1800
-              },
-              {
-                "expr": "jvm_memory_max_bytes{application=\"$application\", instance=\"$instance\", id=~\"$jvm_memory_pool_heap\"}",
-                "format": "time_series",
-                "hide": false,
-                "interval": "",
-                "intervalFactor": 2,
-                "legendFormat": "max",
-                "metric": "",
-                "refId": "C",
-                "step": 1800
-              }
-            ],
-            "thresholds": [],
-            "timeFrom": null,
-            "timeShift": null,
-            "title": "$jvm_memory_pool_heap",
-            "tooltip": {
-              "msResolution": false,
-              "shared": true,
-              "sort": 0,
-              "value_type": "cumulative"
-            },
-            "type": "graph",
-            "x-axis": true,
-            "xaxis": {
-              "buckets": null,
-              "mode": "time",
-              "name": null,
-              "show": true,
-              "values": []
-            },
-            "y-axis": true,
-            "y_formats": [
-              "mbytes",
-              "short"
-            ],
-            "yaxes": [
-              {
-                "format": "bytes",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": 0,
-                "show": true
-              },
-              {
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              }
-            ]
-          }
-        ],
-        "repeat": "persistence_counts",
-        "repeatIteration": null,
-        "repeatRowId": null,
-        "showTitle": true,
-        "title": "JVM Memory Pools (Heap)",
-        "titleSize": "h6"
-      },
-      {
-        "collapse": false,
-        "height": 250,
-        "panels": [
-          {
-            "aliasColors": {},
-            "bars": false,
-            "dashLength": 10,
-            "dashes": false,
-            "datasource": "Prometheus",
-            "editable": true,
-            "error": false,
-            "fill": 1,
-            "grid": {
-              "leftLogBase": 1,
-              "leftMax": null,
-              "leftMin": null,
-              "rightLogBase": 1,
-              "rightMax": null,
-              "rightMin": null
-            },
-            "id": 78,
-            "legend": {
-              "alignAsTable": false,
-              "avg": false,
-              "current": true,
-              "max": true,
-              "min": false,
-              "rightSide": false,
-              "show": true,
-              "total": false,
-              "values": true
-            },
-            "lines": true,
-            "linewidth": 1,
-            "links": [],
-            "minSpan": 4,
-            "nullPointMode": "null",
-            "percentage": false,
-            "pointradius": 5,
-            "points": false,
-            "renderer": "flot",
-            "repeat": "jvm_memory_pool_nonheap",
-            "seriesOverrides": [],
-            "spaceLength": 10,
-            "span": 4,
-            "stack": false,
-            "steppedLine": false,
-            "targets": [
-              {
-                "expr": "jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", id=~\"$jvm_memory_pool_nonheap\"}",
-                "format": "time_series",
-                "hide": false,
-                "interval": "",
-                "intervalFactor": 2,
-                "legendFormat": "used",
-                "metric": "",
-                "refId": "A",
-                "step": 1800
-              },
-              {
-                "expr": "jvm_memory_committed_bytes{application=\"$application\", instance=\"$instance\", id=~\"$jvm_memory_pool_nonheap\"}",
-                "format": "time_series",
-                "hide": false,
-                "interval": "",
-                "intervalFactor": 2,
-                "legendFormat": "commited",
-                "metric": "",
-                "refId": "B",
-                "step": 1800
-              },
-              {
-                "expr": "jvm_memory_max_bytes{application=\"$application\", instance=\"$instance\", id=~\"$jvm_memory_pool_nonheap\"}",
-                "format": "time_series",
-                "hide": false,
-                "interval": "",
-                "intervalFactor": 2,
-                "legendFormat": "max",
-                "metric": "",
-                "refId": "C",
-                "step": 1800
-              }
-            ],
-            "thresholds": [],
-            "timeFrom": null,
-            "timeShift": null,
-            "title": "$jvm_memory_pool_nonheap",
-            "tooltip": {
-              "msResolution": false,
-              "shared": true,
-              "sort": 0,
-              "value_type": "cumulative"
-            },
-            "type": "graph",
-            "x-axis": true,
-            "xaxis": {
-              "buckets": null,
-              "mode": "time",
-              "name": null,
-              "show": true,
-              "values": []
-            },
-            "y-axis": true,
-            "y_formats": [
-              "mbytes",
-              "short"
-            ],
-            "yaxes": [
-              {
-                "format": "bytes",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": 0,
-                "show": true
-              },
-              {
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              }
-            ]
-          }
-        ],
-        "repeat": null,
-        "repeatIteration": null,
-        "repeatRowId": null,
-        "showTitle": true,
-        "title": "JVM Memory Pools (Non-Heap)",
-        "titleSize": "h6"
-      },
-      {
-        "collapse": false,
-        "height": 250,
-        "panels": [
-          {
-            "aliasColors": {},
-            "bars": false,
-            "dashLength": 10,
-            "dashes": false,
-            "datasource": "Prometheus",
-            "fill": 1,
-            "id": 98,
-            "legend": {
-              "avg": false,
-              "current": false,
-              "max": false,
-              "min": false,
-              "show": true,
-              "total": false,
-              "values": false
-            },
-            "lines": true,
-            "linewidth": 1,
-            "links": [],
-            "nullPointMode": "null",
-            "percentage": false,
-            "pointradius": 5,
-            "points": false,
-            "renderer": "flot",
-            "seriesOverrides": [],
-            "spaceLength": 10,
-            "span": 4,
-            "stack": false,
-            "steppedLine": false,
-            "targets": [
-              {
-                "expr": "rate(jvm_gc_pause_seconds_count{application=\"$application\", instance=\"$instance\"}[1m])",
-                "format": "time_series",
-                "hide": false,
-                "intervalFactor": 1,
-                "legendFormat": "{{action}} ({{cause}})",
-                "refId": "A"
-              }
-            ],
-            "thresholds": [],
-            "timeFrom": null,
-            "timeShift": null,
-            "title": "Collections",
-            "tooltip": {
-              "shared": true,
-              "sort": 0,
-              "value_type": "individual"
-            },
-            "type": "graph",
-            "xaxis": {
-              "buckets": null,
-              "mode": "time",
-              "name": null,
-              "show": true,
-              "values": []
-            },
-            "yaxes": [
-              {
-                "format": "ops",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": "0",
-                "show": true
-              },
-              {
-                "format": "short",
-                "label": "",
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              }
-            ]
-          },
-          {
-            "aliasColors": {},
-            "bars": false,
-            "dashLength": 10,
-            "dashes": false,
-            "datasource": "Prometheus",
-            "fill": 1,
-            "id": 101,
-            "legend": {
-              "avg": false,
-              "current": false,
-              "max": false,
-              "min": false,
-              "show": true,
-              "total": false,
-              "values": false
-            },
-            "lines": true,
-            "linewidth": 1,
-            "links": [],
-            "nullPointMode": "null",
-            "percentage": false,
-            "pointradius": 5,
-            "points": false,
-            "renderer": "flot",
-            "seriesOverrides": [],
-            "spaceLength": 10,
-            "span": 4,
-            "stack": false,
-            "steppedLine": false,
-            "targets": [
-              {
-                "expr": "rate(jvm_gc_pause_seconds_sum{application=\"$application\", instance=\"$instance\"}[1m])/rate(jvm_gc_pause_seconds_count{application=\"$application\", instance=\"$instance\"}[1m])",
-                "format": "time_series",
-                "hide": false,
-                "instant": false,
-                "intervalFactor": 1,
-                "legendFormat": "avg {{action}} ({{cause}})",
-                "refId": "A"
-              },
-              {
-                "expr": "jvm_gc_pause_seconds_max{application=\"$application\", instance=\"$instance\"}",
-                "format": "time_series",
-                "hide": false,
-                "instant": false,
-                "intervalFactor": 1,
-                "legendFormat": "max {{action}} ({{cause}})",
-                "refId": "B"
-              }
-            ],
-            "thresholds": [],
-            "timeFrom": null,
-            "timeShift": null,
-            "title": "Pause Durations",
-            "tooltip": {
-              "shared": true,
-              "sort": 0,
-              "value_type": "individual"
-            },
-            "type": "graph",
-            "xaxis": {
-              "buckets": null,
-              "mode": "time",
-              "name": null,
-              "show": true,
-              "values": []
-            },
-            "yaxes": [
-              {
-                "format": "s",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": "0",
-                "show": true
-              },
-              {
-                "format": "short",
-                "label": "",
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              }
-            ]
-          },
-          {
-            "aliasColors": {},
-            "bars": false,
-            "dashLength": 10,
-            "dashes": false,
-            "datasource": "Prometheus",
-            "fill": 1,
-            "id": 99,
-            "legend": {
-              "avg": false,
-              "current": false,
-              "max": false,
-              "min": false,
-              "show": true,
-              "total": false,
-              "values": false
-            },
-            "lines": true,
-            "linewidth": 1,
-            "links": [],
-            "nullPointMode": "null",
-            "percentage": false,
-            "pointradius": 5,
-            "points": false,
-            "renderer": "flot",
-            "seriesOverrides": [],
-            "spaceLength": 10,
-            "span": 4,
-            "stack": false,
-            "steppedLine": false,
-            "targets": [
-              {
-                "expr": "rate(jvm_gc_memory_allocated_bytes_total{application=\"$application\", instance=\"$instance\"}[1m])",
-                "format": "time_series",
-                "interval": "",
-                "intervalFactor": 1,
-                "legendFormat": "allocated",
-                "refId": "A"
-              },
-              {
-                "expr": "rate(jvm_gc_memory_promoted_bytes_total{application=\"$application\", instance=\"$instance\"}[1m])",
-                "format": "time_series",
-                "interval": "",
-                "intervalFactor": 1,
-                "legendFormat": "promoted",
-                "refId": "B"
-              }
-            ],
-            "thresholds": [],
-            "timeFrom": null,
-            "timeShift": null,
-            "title": "Allocated/Promoted",
-            "tooltip": {
-              "shared": true,
-              "sort": 0,
-              "value_type": "individual"
-            },
-            "type": "graph",
-            "xaxis": {
-              "buckets": null,
-              "mode": "time",
-              "name": null,
-              "show": true,
-              "values": []
-            },
-            "yaxes": [
-              {
-                "format": "Bps",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": "0",
-                "show": true
-              },
-              {
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              }
-            ]
-          }
-        ],
-        "repeat": null,
-        "repeatIteration": null,
-        "repeatRowId": null,
-        "showTitle": true,
-        "title": "Garbage Collection",
-        "titleSize": "h6"
-      },
-      {
-        "collapse": false,
-        "height": "250px",
-        "panels": [
-          {
-            "aliasColors": {},
-            "bars": false,
-            "dashLength": 10,
-            "dashes": false,
-            "datasource": "Prometheus",
-            "editable": true,
-            "error": false,
-            "fill": 1,
-            "grid": {
-              "leftLogBase": 1,
-              "leftMax": null,
-              "leftMin": null,
-              "rightLogBase": 1,
-              "rightMax": null,
-              "rightMin": null
-            },
-            "id": 37,
-            "legend": {
-              "avg": false,
-              "current": false,
-              "max": false,
-              "min": false,
-              "show": true,
-              "total": false,
-              "values": false
-            },
-            "lines": true,
-            "linewidth": 1,
-            "links": [],
-            "nullPointMode": "null",
-            "percentage": false,
-            "pointradius": 5,
-            "points": false,
-            "renderer": "flot",
-            "seriesOverrides": [],
-            "spaceLength": 10,
-            "span": 6,
-            "stack": false,
-            "steppedLine": false,
-            "targets": [
-              {
-                "expr": "jvm_classes_loaded_classes{application=\"$application\", instance=\"$instance\"}",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "loaded",
-                "metric": "",
-                "refId": "A",
-                "step": 1200
-              }
-            ],
-            "thresholds": [],
-            "timeFrom": null,
-            "timeShift": null,
-            "title": "Classes loaded",
-            "tooltip": {
-              "msResolution": false,
-              "shared": true,
-              "sort": 0,
-              "value_type": "cumulative"
-            },
-            "type": "graph",
-            "x-axis": true,
-            "xaxis": {
-              "buckets": null,
-              "mode": "time",
-              "name": null,
-              "show": true,
-              "values": []
-            },
-            "y-axis": true,
-            "y_formats": [
-              "short",
-              "short"
-            ],
-            "yaxes": [
-              {
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": 0,
-                "show": true
-              },
-              {
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              }
-            ]
-          },
-          {
-            "aliasColors": {},
-            "bars": false,
-            "dashLength": 10,
-            "dashes": false,
-            "datasource": "Prometheus",
-            "editable": true,
-            "error": false,
-            "fill": 1,
-            "grid": {
-              "leftLogBase": 1,
-              "leftMax": null,
-              "leftMin": null,
-              "rightLogBase": 1,
-              "rightMax": null,
-              "rightMin": null
-            },
-            "id": 38,
-            "legend": {
-              "avg": false,
-              "current": false,
-              "max": false,
-              "min": false,
-              "show": true,
-              "total": false,
-              "values": false
-            },
-            "lines": true,
-            "linewidth": 1,
-            "links": [],
-            "nullPointMode": "null",
-            "percentage": false,
-            "pointradius": 5,
-            "points": false,
-            "renderer": "flot",
-            "seriesOverrides": [],
-            "spaceLength": 10,
-            "span": 6,
-            "stack": false,
-            "steppedLine": false,
-            "targets": [
-              {
-                "expr": "delta(jvm_classes_loaded_classes{application=\"$application\",instance=\"$instance\"}[1m])",
-                "format": "time_series",
-                "hide": false,
-                "interval": "",
-                "intervalFactor": 1,
-                "legendFormat": "delta-1m",
-                "metric": "",
-                "refId": "A",
-                "step": 1200
-              }
-            ],
-            "thresholds": [],
-            "timeFrom": null,
-            "timeShift": null,
-            "title": "Class delta",
-            "tooltip": {
-              "msResolution": false,
-              "shared": true,
-              "sort": 0,
-              "value_type": "cumulative"
-            },
-            "type": "graph",
-            "x-axis": true,
-            "xaxis": {
-              "buckets": null,
-              "mode": "time",
-              "name": null,
-              "show": true,
-              "values": []
-            },
-            "y-axis": true,
-            "y_formats": [
-              "ops",
-              "short"
-            ],
-            "yaxes": [
-              {
-                "decimals": null,
-                "format": "short",
-                "label": "",
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              },
-              {
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              }
-            ]
-          }
-        ],
-        "repeat": null,
-        "repeatIteration": null,
-        "repeatRowId": null,
-        "showTitle": true,
-        "title": "Classloading",
-        "titleSize": "h6"
-      },
-      {
-        "collapse": false,
-        "height": "250px",
-        "panels": [
-          {
-            "aliasColors": {},
-            "bars": false,
-            "dashLength": 10,
-            "dashes": false,
-            "datasource": "Prometheus",
-            "editable": true,
-            "error": false,
-            "fill": 1,
-            "grid": {
-              "leftLogBase": 1,
-              "leftMax": null,
-              "leftMin": null,
-              "rightLogBase": 1,
-              "rightMax": null,
-              "rightMin": null
-            },
-            "id": 33,
-            "legend": {
-              "avg": false,
-              "current": false,
-              "max": false,
-              "min": false,
-              "show": true,
-              "total": false,
-              "values": false
-            },
-            "lines": true,
-            "linewidth": 1,
-            "links": [],
-            "nullPointMode": "null",
-            "percentage": false,
-            "pointradius": 5,
-            "points": false,
-            "renderer": "flot",
-            "seriesOverrides": [],
-            "spaceLength": 10,
-            "span": 3,
-            "stack": false,
-            "steppedLine": false,
-            "targets": [
-              {
-                "expr": "jvm_buffer_memory_used_bytes{application=\"$application\", instance=\"$instance\", id=\"direct\"}",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "used",
-                "metric": "",
-                "refId": "A",
-                "step": 2400
-              },
-              {
-                "expr": "jvm_buffer_total_capacity_bytes{application=\"$application\", instance=\"$instance\", id=\"direct\"}",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "capacity",
-                "metric": "",
-                "refId": "B",
-                "step": 2400
-              }
-            ],
-            "thresholds": [],
-            "timeFrom": null,
-            "timeShift": null,
-            "title": "Direct Buffers",
-            "tooltip": {
-              "msResolution": false,
-              "shared": true,
-              "sort": 0,
-              "value_type": "cumulative"
-            },
-            "type": "graph",
-            "x-axis": true,
-            "xaxis": {
-              "buckets": null,
-              "mode": "time",
-              "name": null,
-              "show": true,
-              "values": []
-            },
-            "y-axis": true,
-            "y_formats": [
-              "short",
-              "short"
-            ],
-            "yaxes": [
-              {
-                "format": "bytes",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": 0,
-                "show": true
-              },
-              {
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              }
-            ]
-          },
-          {
-            "aliasColors": {},
-            "bars": false,
-            "dashLength": 10,
-            "dashes": false,
-            "datasource": "Prometheus",
-            "editable": true,
-            "error": false,
-            "fill": 1,
-            "grid": {
-              "leftLogBase": 1,
-              "leftMax": null,
-              "leftMin": null,
-              "rightLogBase": 1,
-              "rightMax": null,
-              "rightMin": null
-            },
-            "id": 83,
-            "legend": {
-              "avg": false,
-              "current": false,
-              "max": false,
-              "min": false,
-              "show": true,
-              "total": false,
-              "values": false
-            },
-            "lines": true,
-            "linewidth": 1,
-            "links": [],
-            "nullPointMode": "null",
-            "percentage": false,
-            "pointradius": 5,
-            "points": false,
-            "renderer": "flot",
-            "seriesOverrides": [],
-            "spaceLength": 10,
-            "span": 3,
-            "stack": false,
-            "steppedLine": false,
-            "targets": [
-              {
-                "expr": "jvm_buffer_count_buffers{application=\"$application\", instance=\"$instance\", id=\"direct\"}",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "count",
-                "metric": "",
-                "refId": "A",
-                "step": 2400
-              }
-            ],
-            "thresholds": [],
-            "timeFrom": null,
-            "timeShift": null,
-            "title": "Direct Buffers",
-            "tooltip": {
-              "msResolution": false,
-              "shared": true,
-              "sort": 0,
-              "value_type": "cumulative"
-            },
-            "type": "graph",
-            "x-axis": true,
-            "xaxis": {
-              "buckets": null,
-              "mode": "time",
-              "name": null,
-              "show": true,
-              "values": []
-            },
-            "y-axis": true,
-            "y_formats": [
-              "short",
-              "short"
-            ],
-            "yaxes": [
-              {
-                "decimals": 0,
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": 0,
-                "show": true
-              },
-              {
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              }
-            ]
-          },
-          {
-            "aliasColors": {},
-            "bars": false,
-            "dashLength": 10,
-            "dashes": false,
-            "datasource": "Prometheus",
-            "editable": true,
-            "error": false,
-            "fill": 1,
-            "grid": {
-              "leftLogBase": 1,
-              "leftMax": null,
-              "leftMin": null,
-              "rightLogBase": 1,
-              "rightMax": null,
-              "rightMin": null
-            },
-            "id": 85,
-            "legend": {
-              "avg": false,
-              "current": false,
-              "max": false,
-              "min": false,
-              "show": true,
-              "total": false,
-              "values": false
-            },
-            "lines": true,
-            "linewidth": 1,
-            "links": [],
-            "nullPointMode": "null",
-            "percentage": false,
-            "pointradius": 5,
-            "points": false,
-            "renderer": "flot",
-            "seriesOverrides": [],
-            "spaceLength": 10,
-            "span": 3,
-            "stack": false,
-            "steppedLine": false,
-            "targets": [
-              {
-                "expr": "jvm_buffer_memory_used_bytes{application=\"$application\", instance=\"$instance\", id=\"mapped\"}",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "used",
-                "metric": "",
-                "refId": "A",
-                "step": 2400
-              },
-              {
-                "expr": "jvm_buffer_total_capacity_bytes{application=\"$application\", instance=\"$instance\", id=\"mapped\"}",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "capacity",
-                "metric": "",
-                "refId": "B",
-                "step": 2400
-              }
-            ],
-            "thresholds": [],
-            "timeFrom": null,
-            "timeShift": null,
-            "title": "Mapped Buffers",
-            "tooltip": {
-              "msResolution": false,
-              "shared": true,
-              "sort": 0,
-              "value_type": "cumulative"
-            },
-            "type": "graph",
-            "x-axis": true,
-            "xaxis": {
-              "buckets": null,
-              "mode": "time",
-              "name": null,
-              "show": true,
-              "values": []
-            },
-            "y-axis": true,
-            "y_formats": [
-              "short",
-              "short"
-            ],
-            "yaxes": [
-              {
-                "format": "bytes",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": 0,
-                "show": true
-              },
-              {
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              }
-            ]
-          },
-          {
-            "aliasColors": {},
-            "bars": false,
-            "dashLength": 10,
-            "dashes": false,
-            "datasource": "Prometheus",
-            "editable": true,
-            "error": false,
-            "fill": 1,
-            "grid": {
-              "leftLogBase": 1,
-              "leftMax": null,
-              "leftMin": null,
-              "rightLogBase": 1,
-              "rightMax": null,
-              "rightMin": null
-            },
-            "id": 84,
-            "legend": {
-              "avg": false,
-              "current": false,
-              "max": false,
-              "min": false,
-              "show": true,
-              "total": false,
-              "values": false
-            },
-            "lines": true,
-            "linewidth": 1,
-            "links": [],
-            "nullPointMode": "null",
-            "percentage": false,
-            "pointradius": 5,
-            "points": false,
-            "renderer": "flot",
-            "seriesOverrides": [],
-            "spaceLength": 10,
-            "span": 3,
-            "stack": false,
-            "steppedLine": false,
-            "targets": [
-              {
-                "expr": "jvm_buffer_count_buffers{application=\"$application\", instance=\"$instance\", id=\"mapped\"}",
-                "format": "time_series",
-                "intervalFactor": 2,
-                "legendFormat": "count",
-                "metric": "",
-                "refId": "A",
-                "step": 2400
-              }
-            ],
-            "thresholds": [],
-            "timeFrom": null,
-            "timeShift": null,
-            "title": "Mapped Buffers",
-            "tooltip": {
-              "msResolution": false,
-              "shared": true,
-              "sort": 0,
-              "value_type": "cumulative"
-            },
-            "type": "graph",
-            "x-axis": true,
-            "xaxis": {
-              "buckets": null,
-              "mode": "time",
-              "name": null,
-              "show": true,
-              "values": []
-            },
-            "y-axis": true,
-            "y_formats": [
-              "short",
-              "short"
-            ],
-            "yaxes": [
-              {
-                "decimals": 0,
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": 0,
-                "show": true
-              },
-              {
-                "format": "short",
-                "label": null,
-                "logBase": 1,
-                "max": null,
-                "min": null,
-                "show": true
-              }
-            ]
-          }
-        ],
-        "repeat": null,
-        "repeatIteration": null,
-        "repeatRowId": null,
-        "showTitle": true,
-        "title": "Buffer Pools",
-        "titleSize": "h6"
-      }
-    ],
-    "schemaVersion": 14,
-    "style": "dark",
-    "tags": [],
-    "templating": {
-      "list": [
-        {
-          "allValue": null,
-          "current": {},
-          "datasource": "Prometheus",
-          "hide": 0,
-          "includeAll": false,
-          "label": "Application",
-          "multi": false,
-          "name": "application",
-          "options": [],
-          "query": "label_values(application)",
-          "refresh": 2,
-          "regex": "",
-          "sort": 0,
-          "tagValuesQuery": "",
-          "tags": [],
-          "tagsQuery": "",
-          "type": "query",
-          "useTags": false
-        },
-        {
-          "allFormat": "glob",
-          "allValue": null,
-          "current": {},
-          "datasource": "Prometheus",
-          "hide": 0,
-          "includeAll": false,
-          "label": "Instance",
-          "multi": false,
-          "multiFormat": "glob",
-          "name": "instance",
-          "options": [],
-          "query": "label_values(jvm_memory_used_bytes{application=\"$application\"}, instance)",
-          "refresh": 2,
-          "regex": "",
-          "sort": 0,
-          "tagValuesQuery": "",
-          "tags": [],
-          "tagsQuery": "",
-          "type": "query",
-          "useTags": false
-        },
-        {
-          "allFormat": "glob",
-          "allValue": null,
-          "current": {},
-          "datasource": "Prometheus",
-          "hide": 0,
-          "includeAll": true,
-          "label": "JVM Memory Pools Heap",
-          "multi": false,
-          "multiFormat": "glob",
-          "name": "jvm_memory_pool_heap",
-          "options": [],
-          "query": "label_values(jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", area=\"heap\"},id)",
-          "refresh": 1,
-          "regex": "",
-          "sort": 1,
-          "tagValuesQuery": "",
-          "tags": [],
-          "tagsQuery": "",
-          "type": "query",
-          "useTags": false
-        },
-        {
-          "allFormat": "glob",
-          "allValue": null,
-          "current": {},
-          "datasource": "Prometheus",
-          "hide": 0,
-          "includeAll": true,
-          "label": "JVM Memory Pools Non-Heap",
-          "multi": false,
-          "multiFormat": "glob",
-          "name": "jvm_memory_pool_nonheap",
-          "options": [],
-          "query": "label_values(jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", area=\"nonheap\"},id)",
-          "refresh": 1,
-          "regex": "",
-          "sort": 2,
-          "tagValuesQuery": "",
-          "tags": [],
-          "tagsQuery": "",
-          "type": "query",
-          "useTags": false
-        }
-      ]
-    },
-    "time": {
-      "from": "now-24h",
-      "to": "now"
-    },
-    "timepicker": {
-      "now": true,
-      "refresh_intervals": [
-        "5s",
-        "10s",
-        "30s",
-        "1m",
-        "5m",
-        "15m",
-        "30m",
-        "1h",
-        "2h",
-        "1d"
-      ],
-      "time_options": [
-        "5m",
-        "15m",
-        "1h",
-        "6h",
-        "12h",
-        "24h",
-        "2d",
-        "7d",
-        "30d"
-      ]
-    },
-    "timezone": "browser",
-    "title": "JVM (Ves dashboard)",
-    "version": 24
-    }
diff --git a/performanceTests/k8s/grafana/dashboards/dashboard.json b/performanceTests/k8s/grafana/dashboards/dashboard.json
new file mode 100644 (file)
index 0000000..91007b3
--- /dev/null
@@ -0,0 +1,3169 @@
+{
+  "__inputs": [
+  {
+    "name": "DS_PROMETHEUS",
+    "label": "Prometheus",
+    "description": "",
+    "type": "datasource",
+    "pluginId": "prometheus",
+    "pluginName": "Prometheus"
+  }
+  ],
+  "__requires": [
+  {
+    "type": "grafana",
+    "id": "grafana",
+    "name": "Grafana",
+    "version": "4.6.1"
+  },
+  {
+    "type": "panel",
+    "id": "graph",
+    "name": "Graph",
+    "version": ""
+  },
+  {
+    "type": "datasource",
+    "id": "prometheus",
+    "name": "Prometheus",
+    "version": "1.0.0"
+  },
+  {
+    "type": "panel",
+    "id": "singlestat",
+    "name": "Singlestat",
+    "version": ""
+  }
+  ],
+  "annotations": {
+    "list": [
+    {
+      "builtIn": 1,
+      "datasource": "-- Grafana --",
+      "enable": true,
+      "hide": true,
+      "iconColor": "rgba(0, 211, 255, 1)",
+      "limit": 100,
+      "name": "Annotations & Alerts",
+      "showIn": 0,
+      "type": "dashboard"
+    },
+    {
+      "datasource": "Prometheus",
+      "enable": true,
+      "expr": "resets(process_uptime_seconds{application=\"$application\", instance=\"$instance\"}[1m]) > 0",
+      "iconColor": "rgba(255, 96, 96, 1)",
+      "name": "Restart Detection",
+      "showIn": 0,
+      "step": "1m",
+      "tagKeys": "restart-tag",
+      "textFormat": "uptime reset",
+      "titleFormat": "Restart"
+    }
+    ]
+  },
+  "description": "Dashboard for Micrometer instrumented applications (Java, Spring Boot, Micronaut)",
+  "editable": true,
+  "gnetId": 4701,
+  "graphTooltip": 1,
+  "hideControls": false,
+  "id": null,
+  "links": [],
+  "refresh": "30s",
+  "rows": [
+  {
+    "collapse": false,
+    "height": "100px",
+    "panels": [
+    {
+      "cacheTimeout": null,
+      "colorBackground": false,
+      "colorValue": true,
+      "colors": [
+        "rgba(245, 54, 54, 0.9)",
+        "rgba(237, 129, 40, 0.89)",
+        "rgba(50, 172, 45, 0.97)"
+      ],
+      "datasource": "Prometheus",
+      "decimals": 1,
+      "editable": true,
+      "error": false,
+      "format": "s",
+      "gauge": {
+        "maxValue": 100,
+        "minValue": 0,
+        "show": false,
+        "thresholdLabels": false,
+        "thresholdMarkers": true
+      },
+      "height": "",
+      "id": 63,
+      "interval": null,
+      "links": [],
+      "mappingType": 1,
+      "mappingTypes": [
+      {
+        "name": "value to text",
+        "value": 1
+      },
+      {
+        "name": "range to text",
+        "value": 2
+      }
+      ],
+      "maxDataPoints": 100,
+      "nullPointMode": "connected",
+      "nullText": null,
+      "postfix": "",
+      "postfixFontSize": "50%",
+      "prefix": "",
+      "prefixFontSize": "70%",
+      "rangeMaps": [
+      {
+        "from": "null",
+        "text": "N/A",
+        "to": "null"
+      }
+      ],
+      "span": 3,
+      "sparkline": {
+        "fillColor": "rgba(31, 118, 189, 0.18)",
+        "full": false,
+        "lineColor": "rgb(31, 120, 193)",
+        "show": false
+      },
+      "tableColumn": "",
+      "targets": [
+      {
+        "expr": "process_uptime_seconds{application=\"$application\", instance=\"$instance\"}",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "",
+        "metric": "",
+        "refId": "A",
+        "step": 14400
+      }
+      ],
+      "thresholds": "",
+      "title": "Uptime",
+      "transparent": false,
+      "type": "singlestat",
+      "valueFontSize": "80%",
+      "valueMaps": [
+      {
+        "op": "=",
+        "text": "N/A",
+        "value": "null"
+      }
+      ],
+      "valueName": "current"
+    },
+    {
+      "cacheTimeout": null,
+      "colorBackground": false,
+      "colorValue": true,
+      "colors": [
+        "rgba(245, 54, 54, 0.9)",
+        "rgba(237, 129, 40, 0.89)",
+        "rgba(50, 172, 45, 0.97)"
+      ],
+      "datasource": "Prometheus",
+      "decimals": null,
+      "editable": true,
+      "error": false,
+      "format": "dateTimeAsIso",
+      "gauge": {
+        "maxValue": 100,
+        "minValue": 0,
+        "show": false,
+        "thresholdLabels": false,
+        "thresholdMarkers": true
+      },
+      "height": "",
+      "id": 92,
+      "interval": null,
+      "links": [],
+      "mappingType": 1,
+      "mappingTypes": [
+      {
+        "name": "value to text",
+        "value": 1
+      },
+      {
+        "name": "range to text",
+        "value": 2
+      }
+      ],
+      "maxDataPoints": 100,
+      "nullPointMode": "connected",
+      "nullText": null,
+      "postfix": "",
+      "postfixFontSize": "50%",
+      "prefix": "",
+      "prefixFontSize": "70%",
+      "rangeMaps": [
+      {
+        "from": "null",
+        "text": "N/A",
+        "to": "null"
+      }
+      ],
+      "span": 3,
+      "sparkline": {
+        "fillColor": "rgba(31, 118, 189, 0.18)",
+        "full": false,
+        "lineColor": "rgb(31, 120, 193)",
+        "show": false
+      },
+      "tableColumn": "",
+      "targets": [
+      {
+        "expr": "process_start_time_seconds{application=\"$application\", instance=\"$instance\"}*1000",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "",
+        "metric": "",
+        "refId": "A",
+        "step": 14400
+      }
+      ],
+      "thresholds": "",
+      "title": "Start time",
+      "transparent": false,
+      "type": "singlestat",
+      "valueFontSize": "70%",
+      "valueMaps": [
+      {
+        "op": "=",
+        "text": "N/A",
+        "value": "null"
+      }
+      ],
+      "valueName": "current"
+    },
+    {
+      "cacheTimeout": null,
+      "colorBackground": false,
+      "colorValue": true,
+      "colors": [
+        "rgba(50, 172, 45, 0.97)",
+        "rgba(237, 129, 40, 0.89)",
+        "rgba(245, 54, 54, 0.9)"
+      ],
+      "datasource": "Prometheus",
+      "decimals": 2,
+      "editable": true,
+      "error": false,
+      "format": "percent",
+      "gauge": {
+        "maxValue": 100,
+        "minValue": 0,
+        "show": false,
+        "thresholdLabels": false,
+        "thresholdMarkers": true
+      },
+      "id": 65,
+      "interval": null,
+      "links": [],
+      "mappingType": 1,
+      "mappingTypes": [
+      {
+        "name": "value to text",
+        "value": 1
+      },
+      {
+        "name": "range to text",
+        "value": 2
+      }
+      ],
+      "maxDataPoints": 100,
+      "nullPointMode": "connected",
+      "nullText": null,
+      "postfix": "",
+      "postfixFontSize": "50%",
+      "prefix": "",
+      "prefixFontSize": "70%",
+      "rangeMaps": [
+      {
+        "from": "null",
+        "text": "N/A",
+        "to": "null"
+      }
+      ],
+      "span": 3,
+      "sparkline": {
+        "fillColor": "rgba(31, 118, 189, 0.18)",
+        "full": false,
+        "lineColor": "rgb(31, 120, 193)",
+        "show": false
+      },
+      "tableColumn": "",
+      "targets": [
+      {
+        "expr": "sum(jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", area=\"heap\"})*100/sum(jvm_memory_max_bytes{application=\"$application\",instance=\"$instance\", area=\"heap\"})",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "",
+        "refId": "A",
+        "step": 14400
+      }
+      ],
+      "thresholds": "70,90",
+      "title": "Heap used",
+      "type": "singlestat",
+      "valueFontSize": "80%",
+      "valueMaps": [
+      {
+        "op": "=",
+        "text": "N/A",
+        "value": "null"
+      }
+      ],
+      "valueName": "current"
+    },
+    {
+      "cacheTimeout": null,
+      "colorBackground": false,
+      "colorValue": true,
+      "colors": [
+        "rgba(50, 172, 45, 0.97)",
+        "rgba(237, 129, 40, 0.89)",
+        "rgba(245, 54, 54, 0.9)"
+      ],
+      "datasource": "Prometheus",
+      "decimals": 2,
+      "editable": true,
+      "error": false,
+      "format": "percent",
+      "gauge": {
+        "maxValue": 100,
+        "minValue": 0,
+        "show": false,
+        "thresholdLabels": false,
+        "thresholdMarkers": true
+      },
+      "id": 75,
+      "interval": null,
+      "links": [],
+      "mappingType": 2,
+      "mappingTypes": [
+      {
+        "name": "value to text",
+        "value": 1
+      },
+      {
+        "name": "range to text",
+        "value": 2
+      }
+      ],
+      "maxDataPoints": 100,
+      "nullPointMode": "connected",
+      "nullText": null,
+      "postfix": "",
+      "postfixFontSize": "50%",
+      "prefix": "",
+      "prefixFontSize": "70%",
+      "rangeMaps": [
+      {
+        "from": "null",
+        "text": "N/A",
+        "to": "null"
+      },
+      {
+        "from": "-99999999999999999999999999999999",
+        "text": "N/A",
+        "to": "0"
+      }
+      ],
+      "span": 3,
+      "sparkline": {
+        "fillColor": "rgba(31, 118, 189, 0.18)",
+        "full": false,
+        "lineColor": "rgb(31, 120, 193)",
+        "show": false
+      },
+      "tableColumn": "",
+      "targets": [
+      {
+        "expr": "sum(jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", area=\"nonheap\"})*100/sum(jvm_memory_max_bytes{application=\"$application\",instance=\"$instance\", area=\"nonheap\"})",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "",
+        "refId": "A",
+        "step": 14400
+      }
+      ],
+      "thresholds": "70,90",
+      "title": "Non-Heap used",
+      "type": "singlestat",
+      "valueFontSize": "80%",
+      "valueMaps": [
+      {
+        "op": "=",
+        "text": "N/A",
+        "value": "null"
+      },
+      {
+        "op": "=",
+        "text": "x",
+        "value": ""
+      }
+      ],
+      "valueName": "current"
+    }
+    ],
+    "repeat": null,
+    "repeatIteration": null,
+    "repeatRowId": null,
+    "showTitle": true,
+    "title": "Quick Facts",
+    "titleSize": "h6"
+  },
+  {
+    "collapse": false,
+    "height": 250,
+    "panels": [
+    {
+      "aliasColors": {},
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": "Prometheus",
+      "fill": 1,
+      "id": 111,
+      "legend": {
+        "avg": false,
+        "current": true,
+        "max": false,
+        "min": false,
+        "show": true,
+        "total": false,
+        "values": true
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "span": 3,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+      {
+        "expr": "sum(rate(http_server_requests_seconds_count{application=\"$application\", instance=\"$instance\"}[1m]))",
+        "format": "time_series",
+        "intervalFactor": 1,
+        "legendFormat": "HTTP",
+        "refId": "A"
+      }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "Rate",
+      "tooltip": {
+        "shared": true,
+        "sort": 0,
+        "value_type": "individual"
+      },
+      "type": "graph",
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "yaxes": [
+      {
+        "decimals": null,
+        "format": "ops",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": "0",
+        "show": true
+      },
+      {
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      }
+      ]
+    },
+    {
+      "aliasColors": {
+        "HTTP": "#890f02",
+        "HTTP - 5xx": "#bf1b00"
+      },
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": "Prometheus",
+      "fill": 1,
+      "id": 112,
+      "legend": {
+        "avg": false,
+        "current": true,
+        "max": false,
+        "min": false,
+        "show": true,
+        "total": false,
+        "values": true
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "span": 3,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+      {
+        "expr": "sum(rate(http_server_requests_seconds_count{application=\"$application\", instance=\"$instance\", status=~\"5..\"}[1m]))",
+        "format": "time_series",
+        "intervalFactor": 1,
+        "legendFormat": "HTTP - 5xx",
+        "refId": "A"
+      }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "Errors",
+      "tooltip": {
+        "shared": true,
+        "sort": 0,
+        "value_type": "individual"
+      },
+      "type": "graph",
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "yaxes": [
+      {
+        "decimals": null,
+        "format": "ops",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": "0",
+        "show": true
+      },
+      {
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      }
+      ]
+    },
+    {
+      "aliasColors": {},
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": "Prometheus",
+      "fill": 1,
+      "id": 113,
+      "legend": {
+        "avg": false,
+        "current": true,
+        "max": false,
+        "min": false,
+        "show": true,
+        "total": false,
+        "values": true
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "span": 3,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+      {
+        "expr": "sum(rate(http_server_requests_seconds_sum{application=\"$application\", instance=\"$instance\", status!~\"5..\"}[1m]))/sum(rate(http_server_requests_seconds_count{application=\"$application\", instance=\"$instance\", status!~\"5..\"}[1m]))",
+        "format": "time_series",
+        "hide": false,
+        "intervalFactor": 1,
+        "legendFormat": "HTTP - AVG",
+        "refId": "A"
+      },
+      {
+        "expr": "max(http_server_requests_seconds_max{application=\"$application\", instance=\"$instance\", status!~\"5..\"})",
+        "format": "time_series",
+        "hide": false,
+        "intervalFactor": 1,
+        "legendFormat": "HTTP - MAX",
+        "refId": "B"
+      }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "Duration",
+      "tooltip": {
+        "shared": true,
+        "sort": 0,
+        "value_type": "individual"
+      },
+      "type": "graph",
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "yaxes": [
+      {
+        "format": "s",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": "0",
+        "show": true
+      },
+      {
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      }
+      ]
+    },
+    {
+      "aliasColors": {},
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": "Prometheus",
+      "description": "",
+      "fill": 1,
+      "id": 119,
+      "legend": {
+        "alignAsTable": false,
+        "avg": false,
+        "current": true,
+        "max": false,
+        "min": false,
+        "show": true,
+        "total": false,
+        "values": true
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "span": 3,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+      {
+        "expr": "tomcat_threads_busy_threads{application=\"$application\", instance=\"$instance\"}",
+        "format": "time_series",
+        "hide": false,
+        "intervalFactor": 2,
+        "legendFormat": "TOMCAT - BSY",
+        "refId": "A"
+      },
+      {
+        "expr": "tomcat_threads_current_threads{application=\"$application\", instance=\"$instance\"}",
+        "format": "time_series",
+        "hide": false,
+        "intervalFactor": 2,
+        "legendFormat": "TOMCAT - CUR",
+        "refId": "B"
+      },
+      {
+        "expr": "tomcat_threads_config_max_threads{application=\"$application\", instance=\"$instance\"}",
+        "format": "time_series",
+        "hide": false,
+        "intervalFactor": 2,
+        "legendFormat": "TOMCAT - MAX",
+        "refId": "C"
+      },
+      {
+        "expr": "jetty_threads_busy{application=\"$application\", instance=\"$instance\"}",
+        "format": "time_series",
+        "hide": false,
+        "intervalFactor": 2,
+        "legendFormat": "JETTY - BSY",
+        "refId": "D"
+      },
+      {
+        "expr": "jetty_threads_current{application=\"$application\", instance=\"$instance\"}",
+        "format": "time_series",
+        "hide": false,
+        "intervalFactor": 2,
+        "legendFormat": "JETTY - CUR",
+        "refId": "E"
+      },
+      {
+        "expr": "jetty_threads_config_max{application=\"$application\", instance=\"$instance\"}",
+        "format": "time_series",
+        "hide": false,
+        "intervalFactor": 2,
+        "legendFormat": "JETTY - MAX",
+        "refId": "F"
+      }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "Utilisation",
+      "tooltip": {
+        "shared": true,
+        "sort": 0,
+        "value_type": "individual"
+      },
+      "type": "graph",
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "yaxes": [
+      {
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": "0",
+        "show": true
+      },
+      {
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      }
+      ]
+    }
+    ],
+    "repeat": null,
+    "repeatIteration": null,
+    "repeatRowId": null,
+    "showTitle": true,
+    "title": "I/O Overview",
+    "titleSize": "h6"
+  },
+  {
+    "collapse": false,
+    "height": "250px",
+    "panels": [
+    {
+      "aliasColors": {},
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": "Prometheus",
+      "editable": true,
+      "error": false,
+      "fill": 1,
+      "grid": {
+        "leftLogBase": 1,
+        "leftMax": null,
+        "leftMin": null,
+        "rightLogBase": 1,
+        "rightMax": null,
+        "rightMin": null
+      },
+      "id": 24,
+      "legend": {
+        "avg": false,
+        "current": true,
+        "max": true,
+        "min": false,
+        "show": true,
+        "total": false,
+        "values": true
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "span": 3,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+      {
+        "expr": "sum(jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", area=\"heap\"})",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "used",
+        "metric": "",
+        "refId": "A",
+        "step": 2400
+      },
+      {
+        "expr": "sum(jvm_memory_committed_bytes{application=\"$application\", instance=\"$instance\", area=\"heap\"})",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "committed",
+        "refId": "B",
+        "step": 2400
+      },
+      {
+        "expr": "sum(jvm_memory_max_bytes{application=\"$application\", instance=\"$instance\", area=\"heap\"})",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "max",
+        "refId": "C",
+        "step": 2400
+      }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "JVM Heap",
+      "tooltip": {
+        "msResolution": false,
+        "shared": true,
+        "sort": 0,
+        "value_type": "cumulative"
+      },
+      "type": "graph",
+      "x-axis": true,
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "y-axis": true,
+      "y_formats": [
+        "mbytes",
+        "short"
+      ],
+      "yaxes": [
+      {
+        "format": "bytes",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": 0,
+        "show": true
+      },
+      {
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      }
+      ]
+    },
+    {
+      "aliasColors": {},
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": "Prometheus",
+      "editable": true,
+      "error": false,
+      "fill": 1,
+      "grid": {
+        "leftLogBase": 1,
+        "leftMax": null,
+        "leftMin": null,
+        "rightLogBase": 1,
+        "rightMax": null,
+        "rightMin": null
+      },
+      "id": 25,
+      "legend": {
+        "avg": false,
+        "current": true,
+        "max": true,
+        "min": false,
+        "show": true,
+        "total": false,
+        "values": true
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "span": 3,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+      {
+        "expr": "sum(jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", area=\"nonheap\"})",
+        "format": "time_series",
+        "interval": "",
+        "intervalFactor": 2,
+        "legendFormat": "used",
+        "metric": "",
+        "refId": "A",
+        "step": 2400
+      },
+      {
+        "expr": "sum(jvm_memory_committed_bytes{application=\"$application\", instance=\"$instance\", area=\"nonheap\"})",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "committed",
+        "refId": "B",
+        "step": 2400
+      },
+      {
+        "expr": "sum(jvm_memory_max_bytes{application=\"$application\", instance=\"$instance\", area=\"nonheap\"})",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "max",
+        "refId": "C",
+        "step": 2400
+      }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "JVM Non-Heap",
+      "tooltip": {
+        "msResolution": false,
+        "shared": true,
+        "sort": 0,
+        "value_type": "cumulative"
+      },
+      "type": "graph",
+      "x-axis": true,
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "y-axis": true,
+      "y_formats": [
+        "mbytes",
+        "short"
+      ],
+      "yaxes": [
+      {
+        "format": "bytes",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": 0,
+        "show": true
+      },
+      {
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      }
+      ]
+    },
+    {
+      "aliasColors": {},
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": "Prometheus",
+      "editable": true,
+      "error": false,
+      "fill": 1,
+      "grid": {
+        "leftLogBase": 1,
+        "leftMax": null,
+        "leftMin": null,
+        "rightLogBase": 1,
+        "rightMax": null,
+        "rightMin": null
+      },
+      "id": 26,
+      "legend": {
+        "alignAsTable": false,
+        "avg": false,
+        "current": true,
+        "max": true,
+        "min": false,
+        "show": true,
+        "total": false,
+        "values": true
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "span": 3,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+      {
+        "expr": "sum(jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\"})",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "used",
+        "metric": "",
+        "refId": "A",
+        "step": 2400
+      },
+      {
+        "expr": "sum(jvm_memory_committed_bytes{application=\"$application\", instance=\"$instance\"})",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "committed",
+        "refId": "B",
+        "step": 2400
+      },
+      {
+        "expr": "sum(jvm_memory_max_bytes{application=\"$application\", instance=\"$instance\"})",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "max",
+        "refId": "C",
+        "step": 2400
+      }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "JVM Total",
+      "tooltip": {
+        "msResolution": false,
+        "shared": true,
+        "sort": 0,
+        "value_type": "cumulative"
+      },
+      "type": "graph",
+      "x-axis": true,
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "y-axis": true,
+      "y_formats": [
+        "mbytes",
+        "short"
+      ],
+      "yaxes": [
+      {
+        "format": "bytes",
+        "label": "",
+        "logBase": 1,
+        "max": null,
+        "min": 0,
+        "show": true
+      },
+      {
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      }
+      ]
+    },
+    {
+      "aliasColors": {},
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": "Prometheus",
+      "editable": true,
+      "error": false,
+      "fill": 1,
+      "grid": {
+        "leftLogBase": 1,
+        "leftMax": null,
+        "leftMin": null,
+        "rightLogBase": 1,
+        "rightMax": null,
+        "rightMin": null
+      },
+      "id": 86,
+      "legend": {
+        "avg": false,
+        "current": true,
+        "max": true,
+        "min": false,
+        "show": true,
+        "total": false,
+        "values": true
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "span": 3,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+      {
+        "expr": "process_memory_vss_bytes{application=\"$application\", instance=\"$instance\"}",
+        "format": "time_series",
+        "hide": true,
+        "intervalFactor": 2,
+        "legendFormat": "vss",
+        "metric": "",
+        "refId": "A",
+        "step": 2400
+      },
+      {
+        "expr": "process_memory_rss_bytes{application=\"$application\", instance=\"$instance\"}",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "rss",
+        "refId": "B"
+      },
+      {
+        "expr": "process_memory_swap_bytes{application=\"$application\", instance=\"$instance\"}",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "swap",
+        "refId": "C"
+      },
+      {
+        "expr": "process_memory_rss_bytes{application=\"$application\", instance=\"$instance\"} + process_memory_swap_bytes{application=\"$application\", instance=\"$instance\"}",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "total",
+        "refId": "D"
+      }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "JVM Process Memory",
+      "tooltip": {
+        "msResolution": false,
+        "shared": true,
+        "sort": 0,
+        "value_type": "cumulative"
+      },
+      "type": "graph",
+      "x-axis": true,
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "y-axis": true,
+      "y_formats": [
+        "mbytes",
+        "short"
+      ],
+      "yaxes": [
+      {
+        "format": "bytes",
+        "label": "",
+        "logBase": 1,
+        "max": null,
+        "min": "0",
+        "show": true
+      },
+      {
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      }
+      ]
+    }
+    ],
+    "repeat": null,
+    "repeatIteration": null,
+    "repeatRowId": null,
+    "showTitle": true,
+    "title": "JVM Memory",
+    "titleSize": "h6"
+  },
+  {
+    "collapse": false,
+    "height": 250,
+    "panels": [
+    {
+      "aliasColors": {},
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": "Prometheus",
+      "editable": true,
+      "error": false,
+      "fill": 1,
+      "grid": {
+        "leftLogBase": 1,
+        "leftMax": null,
+        "leftMin": null,
+        "rightLogBase": 1,
+        "rightMax": null,
+        "rightMin": null
+      },
+      "id": 106,
+      "legend": {
+        "avg": false,
+        "current": true,
+        "max": true,
+        "min": false,
+        "show": true,
+        "total": false,
+        "values": true
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "span": 3,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+      {
+        "expr": "system_cpu_usage{application=\"$application\", instance=\"$instance\"}",
+        "format": "time_series",
+        "hide": false,
+        "intervalFactor": 1,
+        "legendFormat": "system",
+        "metric": "",
+        "refId": "A",
+        "step": 2400
+      },
+      {
+        "expr": "process_cpu_usage{application=\"$application\", instance=\"$instance\"}",
+        "format": "time_series",
+        "hide": false,
+        "intervalFactor": 1,
+        "legendFormat": "process",
+        "refId": "B"
+      },
+      {
+        "expr": "avg_over_time(process_cpu_usage{application=\"$application\", instance=\"$instance\"}[1h])",
+        "format": "time_series",
+        "hide": false,
+        "intervalFactor": 1,
+        "legendFormat": "process-1h",
+        "refId": "C"
+      }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "CPU Usage",
+      "tooltip": {
+        "msResolution": false,
+        "shared": true,
+        "sort": 0,
+        "value_type": "cumulative"
+      },
+      "type": "graph",
+      "x-axis": true,
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "y-axis": true,
+      "y_formats": [
+        "short",
+        "short"
+      ],
+      "yaxes": [
+      {
+        "decimals": 1,
+        "format": "percentunit",
+        "label": "",
+        "logBase": 1,
+        "max": "1",
+        "min": 0,
+        "show": true
+      },
+      {
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      }
+      ]
+    },
+    {
+      "aliasColors": {},
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": "Prometheus",
+      "editable": true,
+      "error": false,
+      "fill": 1,
+      "grid": {
+        "leftLogBase": 1,
+        "leftMax": null,
+        "leftMin": null,
+        "rightLogBase": 1,
+        "rightMax": null,
+        "rightMin": null
+      },
+      "id": 93,
+      "legend": {
+        "avg": false,
+        "current": true,
+        "max": true,
+        "min": false,
+        "show": true,
+        "total": false,
+        "values": true
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "span": 3,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+      {
+        "expr": "system_load_average_1m{application=\"$application\", instance=\"$instance\"}",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "system-1m",
+        "metric": "",
+        "refId": "A",
+        "step": 2400
+      },
+      {
+        "expr": "system_cpu_count{application=\"$application\", instance=\"$instance\"}",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "cpus",
+        "refId": "B"
+      }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "Load",
+      "tooltip": {
+        "msResolution": false,
+        "shared": true,
+        "sort": 0,
+        "value_type": "cumulative"
+      },
+      "type": "graph",
+      "x-axis": true,
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "y-axis": true,
+      "y_formats": [
+        "short",
+        "short"
+      ],
+      "yaxes": [
+      {
+        "decimals": 1,
+        "format": "short",
+        "label": "",
+        "logBase": 1,
+        "max": null,
+        "min": 0,
+        "show": true
+      },
+      {
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      }
+      ]
+    },
+    {
+      "aliasColors": {},
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": "Prometheus",
+      "editable": true,
+      "error": false,
+      "fill": 1,
+      "grid": {
+        "leftLogBase": 1,
+        "leftMax": null,
+        "leftMin": null,
+        "rightLogBase": 1,
+        "rightMax": null,
+        "rightMin": null
+      },
+      "id": 32,
+      "legend": {
+        "avg": false,
+        "current": true,
+        "max": true,
+        "min": false,
+        "show": true,
+        "total": false,
+        "values": true
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "span": 3,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+      {
+        "expr": "jvm_threads_live_threads{application=\"$application\", instance=\"$instance\"}",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "live",
+        "metric": "",
+        "refId": "A",
+        "step": 2400
+      },
+      {
+        "expr": "jvm_threads_daemon_threads{application=\"$application\", instance=\"$instance\"}",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "daemon",
+        "metric": "",
+        "refId": "B",
+        "step": 2400
+      },
+      {
+        "expr": "jvm_threads_peak_threads{application=\"$application\", instance=\"$instance\"}",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "peak",
+        "refId": "C",
+        "step": 2400
+      },
+      {
+        "expr": "process_threads{application=\"$application\", instance=\"$instance\"}",
+        "format": "time_series",
+        "interval": "",
+        "intervalFactor": 2,
+        "legendFormat": "process",
+        "refId": "D",
+        "step": 2400
+      }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "Threads",
+      "tooltip": {
+        "msResolution": false,
+        "shared": true,
+        "sort": 0,
+        "value_type": "cumulative"
+      },
+      "type": "graph",
+      "x-axis": true,
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "y-axis": true,
+      "y_formats": [
+        "short",
+        "short"
+      ],
+      "yaxes": [
+      {
+        "decimals": 0,
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": 0,
+        "show": true
+      },
+      {
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      }
+      ]
+    },
+    {
+      "aliasColors": {
+        "blocked": "#bf1b00",
+        "new": "#fce2de",
+        "runnable": "#7eb26d",
+        "terminated": "#511749",
+        "timed-waiting": "#c15c17",
+        "waiting": "#eab839"
+      },
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": "Prometheus",
+      "fill": 1,
+      "id": 124,
+      "legend": {
+        "alignAsTable": false,
+        "avg": false,
+        "current": true,
+        "max": true,
+        "min": false,
+        "rightSide": false,
+        "show": true,
+        "total": false,
+        "values": true
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "span": 3,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+      {
+        "expr": "jvm_threads_states_threads{application=\"$application\", instance=\"$instance\"}",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "{{state}}",
+        "refId": "A"
+      }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "Thread States",
+      "tooltip": {
+        "shared": true,
+        "sort": 0,
+        "value_type": "individual"
+      },
+      "type": "graph",
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "yaxes": [
+      {
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      },
+      {
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      }
+      ]
+    },
+    {
+      "aliasColors": {
+        "debug": "#1F78C1",
+        "error": "#BF1B00",
+        "info": "#508642",
+        "trace": "#6ED0E0",
+        "warn": "#EAB839"
+      },
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": "Prometheus",
+      "editable": true,
+      "error": false,
+      "fill": 1,
+      "grid": {
+        "leftLogBase": 1,
+        "leftMax": null,
+        "leftMin": null,
+        "rightLogBase": 1,
+        "rightMax": null,
+        "rightMin": null
+      },
+      "height": "",
+      "id": 91,
+      "legend": {
+        "alignAsTable": false,
+        "avg": false,
+        "current": true,
+        "hideEmpty": false,
+        "hideZero": false,
+        "max": true,
+        "min": false,
+        "rightSide": false,
+        "show": true,
+        "total": false,
+        "values": true
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "nullPointMode": "null",
+      "percentage": true,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [
+      {
+        "alias": "error",
+        "yaxis": 1
+      },
+      {
+        "alias": "warn",
+        "yaxis": 1
+      }
+      ],
+      "spaceLength": 10,
+      "span": 9,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+      {
+        "expr": "increase(logback_events_total{application=\"$application\", instance=\"$instance\"}[1m])",
+        "format": "time_series",
+        "interval": "",
+        "intervalFactor": 2,
+        "legendFormat": "{{level}}",
+        "metric": "",
+        "refId": "A",
+        "step": 1200
+      }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "Log Events",
+      "tooltip": {
+        "msResolution": false,
+        "shared": true,
+        "sort": 0,
+        "value_type": "individual"
+      },
+      "transparent": false,
+      "type": "graph",
+      "x-axis": true,
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "y-axis": true,
+      "y_formats": [
+        "short",
+        "short"
+      ],
+      "yaxes": [
+      {
+        "decimals": 0,
+        "format": "opm",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": "0",
+        "show": true
+      },
+      {
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      }
+      ]
+    },
+    {
+      "aliasColors": {},
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": "Prometheus",
+      "editable": true,
+      "error": false,
+      "fill": 1,
+      "grid": {
+        "leftLogBase": 1,
+        "leftMax": null,
+        "leftMin": null,
+        "rightLogBase": 1,
+        "rightMax": null,
+        "rightMin": null
+      },
+      "id": 61,
+      "legend": {
+        "avg": false,
+        "current": true,
+        "max": true,
+        "min": false,
+        "show": true,
+        "total": false,
+        "values": true
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "span": 3,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+      {
+        "expr": "process_files_open_files{application=\"$application\", instance=\"$instance\"}",
+        "format": "time_series",
+        "hide": false,
+        "intervalFactor": 2,
+        "legendFormat": "open",
+        "metric": "",
+        "refId": "A",
+        "step": 2400
+      },
+      {
+        "expr": "process_files_max_files{application=\"$application\", instance=\"$instance\"}",
+        "format": "time_series",
+        "hide": false,
+        "intervalFactor": 2,
+        "legendFormat": "max",
+        "metric": "",
+        "refId": "B",
+        "step": 2400
+      }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "File Descriptors",
+      "tooltip": {
+        "msResolution": false,
+        "shared": true,
+        "sort": 0,
+        "value_type": "cumulative"
+      },
+      "type": "graph",
+      "x-axis": true,
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "y-axis": true,
+      "y_formats": [
+        "short",
+        "short"
+      ],
+      "yaxes": [
+      {
+        "decimals": 0,
+        "format": "short",
+        "label": null,
+        "logBase": 10,
+        "max": null,
+        "min": 0,
+        "show": true
+      },
+      {
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      }
+      ]
+    }
+    ],
+    "repeat": null,
+    "repeatIteration": null,
+    "repeatRowId": null,
+    "showTitle": true,
+    "title": "JVM Misc",
+    "titleSize": "h6"
+  },
+  {
+    "collapse": false,
+    "height": "250px",
+    "panels": [
+    {
+      "aliasColors": {},
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": "Prometheus",
+      "editable": true,
+      "error": false,
+      "fill": 1,
+      "grid": {
+        "leftLogBase": 1,
+        "leftMax": null,
+        "leftMin": null,
+        "rightLogBase": 1,
+        "rightMax": null,
+        "rightMin": null
+      },
+      "id": 3,
+      "legend": {
+        "alignAsTable": false,
+        "avg": false,
+        "current": true,
+        "max": true,
+        "min": false,
+        "rightSide": false,
+        "show": true,
+        "total": false,
+        "values": true
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "minSpan": 4,
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "repeat": "jvm_memory_pool_heap",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "span": 4,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+      {
+        "expr": "jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", id=~\"$jvm_memory_pool_heap\"}",
+        "format": "time_series",
+        "hide": false,
+        "interval": "",
+        "intervalFactor": 2,
+        "legendFormat": "used",
+        "metric": "",
+        "refId": "A",
+        "step": 1800
+      },
+      {
+        "expr": "jvm_memory_committed_bytes{application=\"$application\", instance=\"$instance\", id=~\"$jvm_memory_pool_heap\"}",
+        "format": "time_series",
+        "hide": false,
+        "interval": "",
+        "intervalFactor": 2,
+        "legendFormat": "commited",
+        "metric": "",
+        "refId": "B",
+        "step": 1800
+      },
+      {
+        "expr": "jvm_memory_max_bytes{application=\"$application\", instance=\"$instance\", id=~\"$jvm_memory_pool_heap\"}",
+        "format": "time_series",
+        "hide": false,
+        "interval": "",
+        "intervalFactor": 2,
+        "legendFormat": "max",
+        "metric": "",
+        "refId": "C",
+        "step": 1800
+      }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "$jvm_memory_pool_heap",
+      "tooltip": {
+        "msResolution": false,
+        "shared": true,
+        "sort": 0,
+        "value_type": "cumulative"
+      },
+      "type": "graph",
+      "x-axis": true,
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "y-axis": true,
+      "y_formats": [
+        "mbytes",
+        "short"
+      ],
+      "yaxes": [
+      {
+        "format": "bytes",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": 0,
+        "show": true
+      },
+      {
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      }
+      ]
+    }
+    ],
+    "repeat": "persistence_counts",
+    "repeatIteration": null,
+    "repeatRowId": null,
+    "showTitle": true,
+    "title": "JVM Memory Pools (Heap)",
+    "titleSize": "h6"
+  },
+  {
+    "collapse": false,
+    "height": 250,
+    "panels": [
+    {
+      "aliasColors": {},
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": "Prometheus",
+      "editable": true,
+      "error": false,
+      "fill": 1,
+      "grid": {
+        "leftLogBase": 1,
+        "leftMax": null,
+        "leftMin": null,
+        "rightLogBase": 1,
+        "rightMax": null,
+        "rightMin": null
+      },
+      "id": 78,
+      "legend": {
+        "alignAsTable": false,
+        "avg": false,
+        "current": true,
+        "max": true,
+        "min": false,
+        "rightSide": false,
+        "show": true,
+        "total": false,
+        "values": true
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "minSpan": 4,
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "repeat": "jvm_memory_pool_nonheap",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "span": 4,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+      {
+        "expr": "jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", id=~\"$jvm_memory_pool_nonheap\"}",
+        "format": "time_series",
+        "hide": false,
+        "interval": "",
+        "intervalFactor": 2,
+        "legendFormat": "used",
+        "metric": "",
+        "refId": "A",
+        "step": 1800
+      },
+      {
+        "expr": "jvm_memory_committed_bytes{application=\"$application\", instance=\"$instance\", id=~\"$jvm_memory_pool_nonheap\"}",
+        "format": "time_series",
+        "hide": false,
+        "interval": "",
+        "intervalFactor": 2,
+        "legendFormat": "commited",
+        "metric": "",
+        "refId": "B",
+        "step": 1800
+      },
+      {
+        "expr": "jvm_memory_max_bytes{application=\"$application\", instance=\"$instance\", id=~\"$jvm_memory_pool_nonheap\"}",
+        "format": "time_series",
+        "hide": false,
+        "interval": "",
+        "intervalFactor": 2,
+        "legendFormat": "max",
+        "metric": "",
+        "refId": "C",
+        "step": 1800
+      }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "$jvm_memory_pool_nonheap",
+      "tooltip": {
+        "msResolution": false,
+        "shared": true,
+        "sort": 0,
+        "value_type": "cumulative"
+      },
+      "type": "graph",
+      "x-axis": true,
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "y-axis": true,
+      "y_formats": [
+        "mbytes",
+        "short"
+      ],
+      "yaxes": [
+      {
+        "format": "bytes",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": 0,
+        "show": true
+      },
+      {
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      }
+      ]
+    }
+    ],
+    "repeat": null,
+    "repeatIteration": null,
+    "repeatRowId": null,
+    "showTitle": true,
+    "title": "JVM Memory Pools (Non-Heap)",
+    "titleSize": "h6"
+  },
+  {
+    "collapse": false,
+    "height": 250,
+    "panels": [
+    {
+      "aliasColors": {},
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": "Prometheus",
+      "fill": 1,
+      "id": 98,
+      "legend": {
+        "avg": false,
+        "current": false,
+        "max": false,
+        "min": false,
+        "show": true,
+        "total": false,
+        "values": false
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "span": 4,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+      {
+        "expr": "rate(jvm_gc_pause_seconds_count{application=\"$application\", instance=\"$instance\"}[1m])",
+        "format": "time_series",
+        "hide": false,
+        "intervalFactor": 1,
+        "legendFormat": "{{action}} ({{cause}})",
+        "refId": "A"
+      }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "Collections",
+      "tooltip": {
+        "shared": true,
+        "sort": 0,
+        "value_type": "individual"
+      },
+      "type": "graph",
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "yaxes": [
+      {
+        "format": "ops",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": "0",
+        "show": true
+      },
+      {
+        "format": "short",
+        "label": "",
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      }
+      ]
+    },
+    {
+      "aliasColors": {},
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": "Prometheus",
+      "fill": 1,
+      "id": 101,
+      "legend": {
+        "avg": false,
+        "current": false,
+        "max": false,
+        "min": false,
+        "show": true,
+        "total": false,
+        "values": false
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "span": 4,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+      {
+        "expr": "rate(jvm_gc_pause_seconds_sum{application=\"$application\", instance=\"$instance\"}[1m])/rate(jvm_gc_pause_seconds_count{application=\"$application\", instance=\"$instance\"}[1m])",
+        "format": "time_series",
+        "hide": false,
+        "instant": false,
+        "intervalFactor": 1,
+        "legendFormat": "avg {{action}} ({{cause}})",
+        "refId": "A"
+      },
+      {
+        "expr": "jvm_gc_pause_seconds_max{application=\"$application\", instance=\"$instance\"}",
+        "format": "time_series",
+        "hide": false,
+        "instant": false,
+        "intervalFactor": 1,
+        "legendFormat": "max {{action}} ({{cause}})",
+        "refId": "B"
+      }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "Pause Durations",
+      "tooltip": {
+        "shared": true,
+        "sort": 0,
+        "value_type": "individual"
+      },
+      "type": "graph",
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "yaxes": [
+      {
+        "format": "s",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": "0",
+        "show": true
+      },
+      {
+        "format": "short",
+        "label": "",
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      }
+      ]
+    },
+    {
+      "aliasColors": {},
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": "Prometheus",
+      "fill": 1,
+      "id": 99,
+      "legend": {
+        "avg": false,
+        "current": false,
+        "max": false,
+        "min": false,
+        "show": true,
+        "total": false,
+        "values": false
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "span": 4,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+      {
+        "expr": "rate(jvm_gc_memory_allocated_bytes_total{application=\"$application\", instance=\"$instance\"}[1m])",
+        "format": "time_series",
+        "interval": "",
+        "intervalFactor": 1,
+        "legendFormat": "allocated",
+        "refId": "A"
+      },
+      {
+        "expr": "rate(jvm_gc_memory_promoted_bytes_total{application=\"$application\", instance=\"$instance\"}[1m])",
+        "format": "time_series",
+        "interval": "",
+        "intervalFactor": 1,
+        "legendFormat": "promoted",
+        "refId": "B"
+      }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "Allocated/Promoted",
+      "tooltip": {
+        "shared": true,
+        "sort": 0,
+        "value_type": "individual"
+      },
+      "type": "graph",
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "yaxes": [
+      {
+        "format": "Bps",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": "0",
+        "show": true
+      },
+      {
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      }
+      ]
+    }
+    ],
+    "repeat": null,
+    "repeatIteration": null,
+    "repeatRowId": null,
+    "showTitle": true,
+    "title": "Garbage Collection",
+    "titleSize": "h6"
+  },
+  {
+    "collapse": false,
+    "height": "250px",
+    "panels": [
+    {
+      "aliasColors": {},
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": "Prometheus",
+      "editable": true,
+      "error": false,
+      "fill": 1,
+      "grid": {
+        "leftLogBase": 1,
+        "leftMax": null,
+        "leftMin": null,
+        "rightLogBase": 1,
+        "rightMax": null,
+        "rightMin": null
+      },
+      "id": 37,
+      "legend": {
+        "avg": false,
+        "current": false,
+        "max": false,
+        "min": false,
+        "show": true,
+        "total": false,
+        "values": false
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "span": 6,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+      {
+        "expr": "jvm_classes_loaded_classes{application=\"$application\", instance=\"$instance\"}",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "loaded",
+        "metric": "",
+        "refId": "A",
+        "step": 1200
+      }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "Classes loaded",
+      "tooltip": {
+        "msResolution": false,
+        "shared": true,
+        "sort": 0,
+        "value_type": "cumulative"
+      },
+      "type": "graph",
+      "x-axis": true,
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "y-axis": true,
+      "y_formats": [
+        "short",
+        "short"
+      ],
+      "yaxes": [
+      {
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": 0,
+        "show": true
+      },
+      {
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      }
+      ]
+    },
+    {
+      "aliasColors": {},
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": "Prometheus",
+      "editable": true,
+      "error": false,
+      "fill": 1,
+      "grid": {
+        "leftLogBase": 1,
+        "leftMax": null,
+        "leftMin": null,
+        "rightLogBase": 1,
+        "rightMax": null,
+        "rightMin": null
+      },
+      "id": 38,
+      "legend": {
+        "avg": false,
+        "current": false,
+        "max": false,
+        "min": false,
+        "show": true,
+        "total": false,
+        "values": false
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "span": 6,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+      {
+        "expr": "delta(jvm_classes_loaded_classes{application=\"$application\",instance=\"$instance\"}[1m])",
+        "format": "time_series",
+        "hide": false,
+        "interval": "",
+        "intervalFactor": 1,
+        "legendFormat": "delta-1m",
+        "metric": "",
+        "refId": "A",
+        "step": 1200
+      }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "Class delta",
+      "tooltip": {
+        "msResolution": false,
+        "shared": true,
+        "sort": 0,
+        "value_type": "cumulative"
+      },
+      "type": "graph",
+      "x-axis": true,
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "y-axis": true,
+      "y_formats": [
+        "ops",
+        "short"
+      ],
+      "yaxes": [
+      {
+        "decimals": null,
+        "format": "short",
+        "label": "",
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      },
+      {
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      }
+      ]
+    }
+    ],
+    "repeat": null,
+    "repeatIteration": null,
+    "repeatRowId": null,
+    "showTitle": true,
+    "title": "Classloading",
+    "titleSize": "h6"
+  },
+  {
+    "collapse": false,
+    "height": "250px",
+    "panels": [
+    {
+      "aliasColors": {},
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": "Prometheus",
+      "editable": true,
+      "error": false,
+      "fill": 1,
+      "grid": {
+        "leftLogBase": 1,
+        "leftMax": null,
+        "leftMin": null,
+        "rightLogBase": 1,
+        "rightMax": null,
+        "rightMin": null
+      },
+      "id": 33,
+      "legend": {
+        "avg": false,
+        "current": false,
+        "max": false,
+        "min": false,
+        "show": true,
+        "total": false,
+        "values": false
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "span": 3,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+      {
+        "expr": "jvm_buffer_memory_used_bytes{application=\"$application\", instance=\"$instance\", id=\"direct\"}",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "used",
+        "metric": "",
+        "refId": "A",
+        "step": 2400
+      },
+      {
+        "expr": "jvm_buffer_total_capacity_bytes{application=\"$application\", instance=\"$instance\", id=\"direct\"}",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "capacity",
+        "metric": "",
+        "refId": "B",
+        "step": 2400
+      }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "Direct Buffers",
+      "tooltip": {
+        "msResolution": false,
+        "shared": true,
+        "sort": 0,
+        "value_type": "cumulative"
+      },
+      "type": "graph",
+      "x-axis": true,
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "y-axis": true,
+      "y_formats": [
+        "short",
+        "short"
+      ],
+      "yaxes": [
+      {
+        "format": "bytes",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": 0,
+        "show": true
+      },
+      {
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      }
+      ]
+    },
+    {
+      "aliasColors": {},
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": "Prometheus",
+      "editable": true,
+      "error": false,
+      "fill": 1,
+      "grid": {
+        "leftLogBase": 1,
+        "leftMax": null,
+        "leftMin": null,
+        "rightLogBase": 1,
+        "rightMax": null,
+        "rightMin": null
+      },
+      "id": 83,
+      "legend": {
+        "avg": false,
+        "current": false,
+        "max": false,
+        "min": false,
+        "show": true,
+        "total": false,
+        "values": false
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "span": 3,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+      {
+        "expr": "jvm_buffer_count_buffers{application=\"$application\", instance=\"$instance\", id=\"direct\"}",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "count",
+        "metric": "",
+        "refId": "A",
+        "step": 2400
+      }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "Direct Buffers",
+      "tooltip": {
+        "msResolution": false,
+        "shared": true,
+        "sort": 0,
+        "value_type": "cumulative"
+      },
+      "type": "graph",
+      "x-axis": true,
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "y-axis": true,
+      "y_formats": [
+        "short",
+        "short"
+      ],
+      "yaxes": [
+      {
+        "decimals": 0,
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": 0,
+        "show": true
+      },
+      {
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      }
+      ]
+    },
+    {
+      "aliasColors": {},
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": "Prometheus",
+      "editable": true,
+      "error": false,
+      "fill": 1,
+      "grid": {
+        "leftLogBase": 1,
+        "leftMax": null,
+        "leftMin": null,
+        "rightLogBase": 1,
+        "rightMax": null,
+        "rightMin": null
+      },
+      "id": 85,
+      "legend": {
+        "avg": false,
+        "current": false,
+        "max": false,
+        "min": false,
+        "show": true,
+        "total": false,
+        "values": false
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "span": 3,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+      {
+        "expr": "jvm_buffer_memory_used_bytes{application=\"$application\", instance=\"$instance\", id=\"mapped\"}",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "used",
+        "metric": "",
+        "refId": "A",
+        "step": 2400
+      },
+      {
+        "expr": "jvm_buffer_total_capacity_bytes{application=\"$application\", instance=\"$instance\", id=\"mapped\"}",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "capacity",
+        "metric": "",
+        "refId": "B",
+        "step": 2400
+      }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "Mapped Buffers",
+      "tooltip": {
+        "msResolution": false,
+        "shared": true,
+        "sort": 0,
+        "value_type": "cumulative"
+      },
+      "type": "graph",
+      "x-axis": true,
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "y-axis": true,
+      "y_formats": [
+        "short",
+        "short"
+      ],
+      "yaxes": [
+      {
+        "format": "bytes",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": 0,
+        "show": true
+      },
+      {
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      }
+      ]
+    },
+    {
+      "aliasColors": {},
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": "Prometheus",
+      "editable": true,
+      "error": false,
+      "fill": 1,
+      "grid": {
+        "leftLogBase": 1,
+        "leftMax": null,
+        "leftMin": null,
+        "rightLogBase": 1,
+        "rightMax": null,
+        "rightMin": null
+      },
+      "id": 84,
+      "legend": {
+        "avg": false,
+        "current": false,
+        "max": false,
+        "min": false,
+        "show": true,
+        "total": false,
+        "values": false
+      },
+      "lines": true,
+      "linewidth": 1,
+      "links": [],
+      "nullPointMode": "null",
+      "percentage": false,
+      "pointradius": 5,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "span": 3,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+      {
+        "expr": "jvm_buffer_count_buffers{application=\"$application\", instance=\"$instance\", id=\"mapped\"}",
+        "format": "time_series",
+        "intervalFactor": 2,
+        "legendFormat": "count",
+        "metric": "",
+        "refId": "A",
+        "step": 2400
+      }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeShift": null,
+      "title": "Mapped Buffers",
+      "tooltip": {
+        "msResolution": false,
+        "shared": true,
+        "sort": 0,
+        "value_type": "cumulative"
+      },
+      "type": "graph",
+      "x-axis": true,
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "y-axis": true,
+      "y_formats": [
+        "short",
+        "short"
+      ],
+      "yaxes": [
+      {
+        "decimals": 0,
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": 0,
+        "show": true
+      },
+      {
+        "format": "short",
+        "label": null,
+        "logBase": 1,
+        "max": null,
+        "min": null,
+        "show": true
+      }
+      ]
+    }
+    ],
+    "repeat": null,
+    "repeatIteration": null,
+    "repeatRowId": null,
+    "showTitle": true,
+    "title": "Buffer Pools",
+    "titleSize": "h6"
+  }
+  ],
+  "schemaVersion": 14,
+  "style": "dark",
+  "tags": [],
+  "templating": {
+    "list": [
+    {
+      "allValue": null,
+      "current": {},
+      "datasource": "Prometheus",
+      "hide": 0,
+      "includeAll": false,
+      "label": "Application",
+      "multi": false,
+      "name": "application",
+      "options": [],
+      "query": "label_values(application)",
+      "refresh": 2,
+      "regex": "",
+      "sort": 0,
+      "tagValuesQuery": "",
+      "tags": [],
+      "tagsQuery": "",
+      "type": "query",
+      "useTags": false
+    },
+    {
+      "allFormat": "glob",
+      "allValue": null,
+      "current": {},
+      "datasource": "Prometheus",
+      "hide": 0,
+      "includeAll": false,
+      "label": "Instance",
+      "multi": false,
+      "multiFormat": "glob",
+      "name": "instance",
+      "options": [],
+      "query": "label_values(jvm_memory_used_bytes{application=\"$application\"}, instance)",
+      "refresh": 2,
+      "regex": "",
+      "sort": 0,
+      "tagValuesQuery": "",
+      "tags": [],
+      "tagsQuery": "",
+      "type": "query",
+      "useTags": false
+    },
+    {
+      "allFormat": "glob",
+      "allValue": null,
+      "current": {},
+      "datasource": "Prometheus",
+      "hide": 0,
+      "includeAll": true,
+      "label": "JVM Memory Pools Heap",
+      "multi": false,
+      "multiFormat": "glob",
+      "name": "jvm_memory_pool_heap",
+      "options": [],
+      "query": "label_values(jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", area=\"heap\"},id)",
+      "refresh": 1,
+      "regex": "",
+      "sort": 1,
+      "tagValuesQuery": "",
+      "tags": [],
+      "tagsQuery": "",
+      "type": "query",
+      "useTags": false
+    },
+    {
+      "allFormat": "glob",
+      "allValue": null,
+      "current": {},
+      "datasource": "Prometheus",
+      "hide": 0,
+      "includeAll": true,
+      "label": "JVM Memory Pools Non-Heap",
+      "multi": false,
+      "multiFormat": "glob",
+      "name": "jvm_memory_pool_nonheap",
+      "options": [],
+      "query": "label_values(jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", area=\"nonheap\"},id)",
+      "refresh": 1,
+      "regex": "",
+      "sort": 2,
+      "tagValuesQuery": "",
+      "tags": [],
+      "tagsQuery": "",
+      "type": "query",
+      "useTags": false
+    }
+    ]
+  },
+  "time": {
+    "from": "now-24h",
+    "to": "now"
+  },
+  "timepicker": {
+    "now": true,
+    "refresh_intervals": [
+      "5s",
+      "10s",
+      "30s",
+      "1m",
+      "5m",
+      "15m",
+      "30m",
+      "1h",
+      "2h",
+      "1d"
+    ],
+    "time_options": [
+      "5m",
+      "15m",
+      "1h",
+      "6h",
+      "12h",
+      "24h",
+      "2d",
+      "7d",
+      "30d"
+    ]
+  },
+  "timezone": "browser",
+  "title": "JVM (Ves dashboard)",
+  "version": 24
+}
\ No newline at end of file
diff --git a/performanceTests/k8s/grafana/dashboards/jMeterDashboard.json b/performanceTests/k8s/grafana/dashboards/jMeterDashboard.json
new file mode 100644 (file)
index 0000000..7dbb024
--- /dev/null
@@ -0,0 +1,2476 @@
+{
+  "annotations": {
+    "list": [
+    {
+      "builtIn": 1,
+      "datasource": "jmeter",
+      "enable": false,
+      "hide": false,
+      "iconColor": "rgba(0, 211, 255, 1)",
+      "limit": 100,
+      "name": "Start/stop marker",
+      "query": "select text from events where $timeFilter",
+      "showIn": 0,
+      "textColumn": "",
+      "type": "dashboard"
+    }
+    ]
+  },
+  "description": "Monitor your JMeter load test in real time with InfluxDB and Grafana.",
+  "editable": true,
+  "gnetId": 4026,
+  "graphTooltip": 0,
+  "id": 2,
+  "iteration": 1590743584322,
+  "links": [],
+  "panels": [
+  {
+    "collapsed": false,
+    "datasource": null,
+    "gridPos": {
+      "h": 1,
+      "w": 24,
+      "x": 0,
+      "y": 0
+    },
+    "id": 33,
+    "panels": [],
+    "repeat": null,
+    "title": "Summary",
+    "type": "row"
+  },
+  {
+    "cacheTimeout": null,
+    "colorBackground": false,
+    "colorValue": true,
+    "colors": [
+      "#299c46",
+      "#e5ac0e",
+      "#d44a3a"
+    ],
+    "datasource": "jmeter",
+    "decimals": 0,
+    "fieldConfig": {
+      "defaults": {
+        "custom": {}
+      },
+      "overrides": []
+    },
+    "format": "none",
+    "gauge": {
+      "maxValue": 100,
+      "minValue": 0,
+      "show": false,
+      "thresholdLabels": false,
+      "thresholdMarkers": true
+    },
+    "gridPos": {
+      "h": 7,
+      "w": 8,
+      "x": 0,
+      "y": 1
+    },
+    "height": "",
+    "id": 26,
+    "interval": "[[send_interval]]s",
+    "links": [],
+    "mappingType": 1,
+    "mappingTypes": [
+    {
+      "name": "value to text",
+      "value": 1
+    },
+    {
+      "name": "range to text",
+      "value": 2
+    }
+    ],
+    "maxDataPoints": 100,
+    "nullPointMode": "connected",
+    "nullText": null,
+    "postfix": " Requests",
+    "postfixFontSize": "50%",
+    "prefix": "",
+    "prefixFontSize": "50%",
+    "rangeMaps": [
+    {
+      "from": "null",
+      "text": "N/A",
+      "to": "null"
+    }
+    ],
+    "sparkline": {
+      "fillColor": "rgba(31, 118, 189, 0.18)",
+      "full": false,
+      "lineColor": "#e5ac0e",
+      "show": false
+    },
+    "tableColumn": "",
+    "targets": [
+    {
+      "dsType": "influxdb",
+      "groupBy": [
+      {
+        "params": [
+          "$__interval"
+        ],
+        "type": "time"
+      },
+      {
+        "params": [
+          "null"
+        ],
+        "type": "fill"
+      }
+      ],
+      "orderByTime": "ASC",
+      "policy": "default",
+      "query": "SELECT sum(\"count\")  FROM \"$measurement_name\" WHERE (\"application\" =~ /^$application$/ AND \"transaction\" = 'all') AND $timeFilter GROUP BY time($__interval) fill(null)",
+      "rawQuery": true,
+      "refId": "A",
+      "resultFormat": "time_series",
+      "select": [
+      [
+      {
+        "params": [
+          "value"
+        ],
+        "type": "field"
+      },
+      {
+        "params": [],
+        "type": "mean"
+      }
+      ]
+      ],
+      "tags": []
+    }
+    ],
+    "thresholds": "",
+    "title": "Total Requests",
+    "type": "singlestat",
+    "valueFontSize": "80%",
+    "valueMaps": [
+    {
+      "op": "=",
+      "text": "0",
+      "value": "null"
+    }
+    ],
+    "valueName": "total"
+  },
+  {
+    "cacheTimeout": null,
+    "colorBackground": false,
+    "colorValue": true,
+    "colors": [
+      "#299c46",
+      "#e24d42",
+      "#d44a3a"
+    ],
+    "datasource": "jmeter",
+    "decimals": 0,
+    "fieldConfig": {
+      "defaults": {
+        "custom": {}
+      },
+      "overrides": []
+    },
+    "format": "none",
+    "gauge": {
+      "maxValue": 100,
+      "minValue": 0,
+      "show": false,
+      "thresholdLabels": false,
+      "thresholdMarkers": true
+    },
+    "gridPos": {
+      "h": 7,
+      "w": 8,
+      "x": 8,
+      "y": 1
+    },
+    "height": "",
+    "id": 28,
+    "interval": "[[send_interval]]s",
+    "links": [],
+    "mappingType": 1,
+    "mappingTypes": [
+    {
+      "name": "value to text",
+      "value": 1
+    },
+    {
+      "name": "range to text",
+      "value": 2
+    }
+    ],
+    "maxDataPoints": 100,
+    "nullPointMode": "connected",
+    "nullText": null,
+    "postfix": " Failed",
+    "postfixFontSize": "50%",
+    "prefix": "",
+    "prefixFontSize": "50%",
+    "rangeMaps": [
+    {
+      "from": "null",
+      "text": "N/A",
+      "to": "null"
+    }
+    ],
+    "sparkline": {
+      "fillColor": "rgba(31, 118, 189, 0.18)",
+      "full": false,
+      "lineColor": "#bf1b00",
+      "show": false
+    },
+    "tableColumn": "",
+    "targets": [
+    {
+      "dsType": "influxdb",
+      "groupBy": [
+      {
+        "params": [
+          "$__interval"
+        ],
+        "type": "time"
+      },
+      {
+        "params": [
+          "null"
+        ],
+        "type": "fill"
+      }
+      ],
+      "orderByTime": "ASC",
+      "policy": "default",
+      "query": "SELECT sum(\"countError\") FROM \"$measurement_name\" WHERE (\"transaction\" = 'all' AND \"application\" =~ /^$application$/) AND $timeFilter GROUP BY time($__interval) fill(null)",
+      "rawQuery": true,
+      "refId": "A",
+      "resultFormat": "time_series",
+      "select": [
+      [
+      {
+        "params": [
+          "value"
+        ],
+        "type": "field"
+      },
+      {
+        "params": [],
+        "type": "mean"
+      }
+      ]
+      ],
+      "tags": []
+    }
+    ],
+    "thresholds": "",
+    "title": "Failed Requests",
+    "type": "singlestat",
+    "valueFontSize": "80%",
+    "valueMaps": [
+    {
+      "op": "=",
+      "text": "0",
+      "value": "null"
+    }
+    ],
+    "valueName": "total"
+  },
+  {
+    "cacheTimeout": null,
+    "colorBackground": false,
+    "colorValue": true,
+    "colors": [
+      "#299c46",
+      "#ef843c",
+      "#e24d42"
+    ],
+    "datasource": "jmeter",
+    "decimals": 2,
+    "fieldConfig": {
+      "defaults": {
+        "custom": {}
+      },
+      "overrides": []
+    },
+    "format": "percentunit",
+    "gauge": {
+      "maxValue": 1,
+      "minValue": 0,
+      "show": true,
+      "thresholdLabels": false,
+      "thresholdMarkers": true
+    },
+    "gridPos": {
+      "h": 7,
+      "w": 8,
+      "x": 16,
+      "y": 1
+    },
+    "id": 29,
+    "interval": "[[send_interval]]s",
+    "links": [],
+    "mappingType": 1,
+    "mappingTypes": [
+    {
+      "name": "value to text",
+      "value": 1
+    },
+    {
+      "name": "range to text",
+      "value": 2
+    }
+    ],
+    "maxDataPoints": 100,
+    "nullPointMode": "connected",
+    "nullText": null,
+    "postfix": "",
+    "postfixFontSize": "50%",
+    "prefix": "",
+    "prefixFontSize": "50%",
+    "rangeMaps": [
+    {
+      "from": "null",
+      "text": "N/A",
+      "to": "null"
+    }
+    ],
+    "sparkline": {
+      "fillColor": "rgba(31, 118, 189, 0.18)",
+      "full": false,
+      "lineColor": "rgb(31, 120, 193)",
+      "show": false
+    },
+    "tableColumn": "",
+    "targets": [
+    {
+      "dsType": "influxdb",
+      "groupBy": [
+      {
+        "params": [
+          "$__interval"
+        ],
+        "type": "time"
+      },
+      {
+        "params": [
+          "null"
+        ],
+        "type": "fill"
+      }
+      ],
+      "orderByTime": "ASC",
+      "policy": "default",
+      "query": "SELECT sum(\"error\") / sum(\"all\") FROM (SELECT sum(\"count\") AS \"all\" FROM \"$measurement_name\" WHERE \"transaction\" = 'all' AND \"application\" =~ /^$application$/ AND $timeFilter GROUP BY time($__interval) fill(null)), (SELECT sum(\"countError\") AS \"error\" FROM \"$measurement_name\" WHERE \"transaction\" = 'all' AND \"application\" =~ /^$application$/ AND $timeFilter GROUP BY time($__interval) fill(null))",
+      "rawQuery": true,
+      "refId": "A",
+      "resultFormat": "time_series",
+      "select": [
+      [
+      {
+        "params": [
+          "value"
+        ],
+        "type": "field"
+      },
+      {
+        "params": [],
+        "type": "mean"
+      }
+      ]
+      ],
+      "tags": []
+    }
+    ],
+    "thresholds": "0,0.01",
+    "title": "Error Rate %",
+    "type": "singlestat",
+    "valueFontSize": "50%",
+    "valueMaps": [
+    {
+      "op": "=",
+      "text": "0",
+      "value": "null"
+    }
+    ],
+    "valueName": "total"
+  },
+  {
+    "aliasColors": {
+      "No of Errors": "#6ED0E0",
+      "Req / s": "#6ed0e0",
+      "Req / sec": "#65c5db"
+    },
+    "bars": false,
+    "dashLength": 10,
+    "dashes": false,
+    "datasource": "jmeter",
+    "decimals": 2,
+    "editable": true,
+    "error": false,
+    "fieldConfig": {
+      "defaults": {
+        "custom": {}
+      },
+      "overrides": []
+    },
+    "fill": 7,
+    "fillGradient": 0,
+    "gridPos": {
+      "h": 7,
+      "w": 8,
+      "x": 0,
+      "y": 8
+    },
+    "hiddenSeries": false,
+    "id": 4,
+    "interval": "[[send_interval]]s",
+    "legend": {
+      "alignAsTable": true,
+      "avg": true,
+      "current": false,
+      "max": true,
+      "min": true,
+      "rightSide": false,
+      "show": true,
+      "sort": null,
+      "sortDesc": null,
+      "total": false,
+      "values": true
+    },
+    "lines": true,
+    "linewidth": 1,
+    "links": [],
+    "nullPointMode": "null",
+    "options": {
+      "dataLinks": []
+    },
+    "percentage": false,
+    "pointradius": 1,
+    "points": false,
+    "renderer": "flot",
+    "seriesOverrides": [],
+    "spaceLength": 10,
+    "stack": false,
+    "steppedLine": false,
+    "targets": [
+    {
+      "alias": "Req / s",
+      "dsType": "influxdb",
+      "groupBy": [
+      {
+        "params": [
+          "$__interval"
+        ],
+        "type": "time"
+      }
+      ],
+      "measurement": "jmeter",
+      "orderByTime": "ASC",
+      "policy": "default",
+      "query": "SELECT mean(\"count\") / $send_interval FROM \"$measurement_name\" WHERE (\"transaction\" = 'all' AND \"application\" =~ /^$application$/) AND $timeFilter GROUP BY time($__interval) fill(null)",
+      "rawQuery": true,
+      "refId": "B",
+      "resultFormat": "time_series",
+      "select": [
+      [
+      {
+        "params": [
+          "count"
+        ],
+        "type": "field"
+      },
+      {
+        "params": [],
+        "type": "last"
+      }
+      ]
+      ],
+      "tags": [
+      {
+        "key": "transaction",
+        "operator": "=",
+        "value": "all"
+      },
+      {
+        "condition": "AND",
+        "key": "application",
+        "operator": "=~",
+        "value": "/^$application$/"
+      }
+      ]
+    }
+    ],
+    "thresholds": [],
+    "timeFrom": null,
+    "timeRegions": [],
+    "timeShift": null,
+    "title": "Total Throughput",
+    "tooltip": {
+      "msResolution": false,
+      "shared": true,
+      "sort": 0,
+      "value_type": "individual"
+    },
+    "type": "graph",
+    "xaxis": {
+      "buckets": null,
+      "mode": "time",
+      "name": null,
+      "show": true,
+      "values": []
+    },
+    "yaxes": [
+    {
+      "format": "short",
+      "label": null,
+      "logBase": 1,
+      "max": null,
+      "min": null,
+      "show": true
+    },
+    {
+      "format": "short",
+      "label": null,
+      "logBase": 1,
+      "max": null,
+      "min": null,
+      "show": false
+    }
+    ],
+    "yaxis": {
+      "align": false,
+      "alignLevel": null
+    }
+  },
+  {
+    "aliasColors": {
+      "No of Errors": "#BF1B00",
+      "Num of Errors": "#bf1b00"
+    },
+    "bars": false,
+    "dashLength": 10,
+    "dashes": false,
+    "datasource": "jmeter",
+    "decimals": 0,
+    "editable": true,
+    "error": false,
+    "fieldConfig": {
+      "defaults": {
+        "custom": {}
+      },
+      "overrides": []
+    },
+    "fill": 7,
+    "fillGradient": 0,
+    "gridPos": {
+      "h": 7,
+      "w": 8,
+      "x": 8,
+      "y": 8
+    },
+    "hiddenSeries": false,
+    "id": 2,
+    "interval": "[[send_interval]]s",
+    "legend": {
+      "alignAsTable": true,
+      "avg": false,
+      "current": false,
+      "max": false,
+      "min": false,
+      "rightSide": false,
+      "show": true,
+      "total": true,
+      "values": true
+    },
+    "lines": true,
+    "linewidth": 1,
+    "links": [],
+    "nullPointMode": "null",
+    "options": {
+      "dataLinks": []
+    },
+    "percentage": false,
+    "pointradius": 1,
+    "points": false,
+    "renderer": "flot",
+    "seriesOverrides": [],
+    "spaceLength": 10,
+    "stack": false,
+    "steppedLine": false,
+    "targets": [
+    {
+      "alias": "Num of Errors",
+      "dsType": "influxdb",
+      "groupBy": [
+      {
+        "params": [
+          "$aggregation"
+        ],
+        "type": "time"
+      },
+      {
+        "params": [
+          "null"
+        ],
+        "type": "fill"
+      }
+      ],
+      "measurement": "jmeter",
+      "orderByTime": "ASC",
+      "policy": "default",
+      "query": "SELECT sum(\"countError\") FROM \"$measurement_name\" WHERE (\"transaction\" = 'all' AND \"application\" =~ /^$application$/) AND $timeFilter GROUP BY time($__interval) fill(null)",
+      "rawQuery": true,
+      "refId": "B",
+      "resultFormat": "time_series",
+      "select": [
+      [
+      {
+        "params": [
+          "countError"
+        ],
+        "type": "field"
+      },
+      {
+        "params": [],
+        "type": "sum"
+      }
+      ]
+      ],
+      "tags": [
+      {
+        "key": "transaction",
+        "operator": "=",
+        "value": "all"
+      },
+      {
+        "condition": "AND",
+        "key": "application",
+        "operator": "=~",
+        "value": "/^$application$/"
+      }
+      ]
+    }
+    ],
+    "thresholds": [],
+    "timeFrom": null,
+    "timeRegions": [],
+    "timeShift": null,
+    "title": "Total Errors",
+    "tooltip": {
+      "msResolution": false,
+      "shared": true,
+      "sort": 0,
+      "value_type": "individual"
+    },
+    "type": "graph",
+    "xaxis": {
+      "buckets": null,
+      "mode": "time",
+      "name": null,
+      "show": true,
+      "values": []
+    },
+    "yaxes": [
+    {
+      "decimals": 0,
+      "format": "short",
+      "label": null,
+      "logBase": 1,
+      "max": null,
+      "min": null,
+      "show": true
+    },
+    {
+      "format": "short",
+      "label": null,
+      "logBase": 1,
+      "max": null,
+      "min": null,
+      "show": false
+    }
+    ],
+    "yaxis": {
+      "align": false,
+      "alignLevel": null
+    }
+  },
+  {
+    "aliasColors": {
+      "Threads": "#614d93",
+      "threads": "#614d93"
+    },
+    "bars": false,
+    "dashLength": 10,
+    "dashes": false,
+    "datasource": "jmeter",
+    "decimals": 0,
+    "fieldConfig": {
+      "defaults": {
+        "custom": {}
+      },
+      "overrides": []
+    },
+    "fill": 7,
+    "fillGradient": 0,
+    "gridPos": {
+      "h": 7,
+      "w": 8,
+      "x": 16,
+      "y": 8
+    },
+    "hiddenSeries": false,
+    "id": 31,
+    "interval": "[[send_interval]]s",
+    "legend": {
+      "alignAsTable": true,
+      "avg": false,
+      "current": true,
+      "max": false,
+      "min": false,
+      "show": true,
+      "total": false,
+      "values": true
+    },
+    "lines": true,
+    "linewidth": 1,
+    "links": [],
+    "nullPointMode": "null",
+    "options": {
+      "dataLinks": []
+    },
+    "percentage": false,
+    "pointradius": 5,
+    "points": false,
+    "renderer": "flot",
+    "seriesOverrides": [],
+    "spaceLength": 10,
+    "stack": false,
+    "steppedLine": false,
+    "targets": [
+    {
+      "alias": "Threads",
+      "dsType": "influxdb",
+      "groupBy": [
+      {
+        "params": [
+          "$__interval"
+        ],
+        "type": "time"
+      },
+      {
+        "params": [
+          "null"
+        ],
+        "type": "fill"
+      }
+      ],
+      "orderByTime": "ASC",
+      "policy": "default",
+      "query": "SELECT last(\"maxAT\") FROM \"$measurement_name\" WHERE (\"transaction\" = 'internal' AND \"application\" =~ /^$application$/) AND $timeFilter GROUP BY time($__interval) fill(null)",
+      "rawQuery": true,
+      "refId": "A",
+      "resultFormat": "time_series",
+      "select": [
+      [
+      {
+        "params": [
+          "value"
+        ],
+        "type": "field"
+      },
+      {
+        "params": [],
+        "type": "mean"
+      }
+      ]
+      ],
+      "tags": []
+    }
+    ],
+    "thresholds": [],
+    "timeFrom": null,
+    "timeRegions": [],
+    "timeShift": null,
+    "title": "Active Threads",
+    "tooltip": {
+      "shared": true,
+      "sort": 0,
+      "value_type": "individual"
+    },
+    "type": "graph",
+    "xaxis": {
+      "buckets": null,
+      "mode": "time",
+      "name": null,
+      "show": true,
+      "values": []
+    },
+    "yaxes": [
+    {
+      "decimals": 0,
+      "format": "short",
+      "label": null,
+      "logBase": 1,
+      "max": null,
+      "min": null,
+      "show": true
+    },
+    {
+      "format": "short",
+      "label": null,
+      "logBase": 1,
+      "max": null,
+      "min": null,
+      "show": true
+    }
+    ],
+    "yaxis": {
+      "align": false,
+      "alignLevel": null
+    }
+  },
+  {
+    "aliasColors": {
+      "banner": "#508642"
+    },
+    "bars": false,
+    "dashLength": 10,
+    "dashes": false,
+    "datasource": "jmeter",
+    "decimals": 2,
+    "editable": true,
+    "error": false,
+    "fieldConfig": {
+      "defaults": {
+        "custom": {}
+      },
+      "overrides": []
+    },
+    "fill": 1,
+    "fillGradient": 0,
+    "gridPos": {
+      "h": 7,
+      "w": 24,
+      "x": 0,
+      "y": 15
+    },
+    "height": "",
+    "hiddenSeries": false,
+    "id": 23,
+    "interval": "[[send_interval]]s",
+    "legend": {
+      "alignAsTable": true,
+      "avg": true,
+      "current": false,
+      "hideEmpty": false,
+      "hideZero": false,
+      "max": true,
+      "min": false,
+      "rightSide": true,
+      "show": true,
+      "total": false,
+      "values": true
+    },
+    "lines": true,
+    "linewidth": 1,
+    "links": [],
+    "nullPointMode": "null",
+    "options": {
+      "dataLinks": []
+    },
+    "percentage": false,
+    "pointradius": 1,
+    "points": false,
+    "renderer": "flot",
+    "seriesOverrides": [],
+    "spaceLength": 10,
+    "stack": false,
+    "steppedLine": false,
+    "targets": [
+    {
+      "alias": "$tag_transaction",
+      "dsType": "influxdb",
+      "groupBy": [
+      {
+        "params": [
+          "transaction"
+        ],
+        "type": "tag"
+      }
+      ],
+      "measurement": "jmeter",
+      "orderByTime": "ASC",
+      "policy": "default",
+      "query": "SELECT mean(\"pct95.0\") FROM \"$measurement_name\" WHERE (\"statut\" = 'ok' AND \"application\" =~ /^$application$/) AND $timeFilter GROUP BY \"transaction\", time($__interval) fill(null)",
+      "rawQuery": true,
+      "refId": "B",
+      "resultFormat": "time_series",
+      "select": [
+      [
+      {
+        "params": [
+          "pct95.0"
+        ],
+        "type": "field"
+      }
+      ]
+      ],
+      "tags": [
+      {
+        "key": "statut",
+        "operator": "=",
+        "value": "ok"
+      },
+      {
+        "condition": "AND",
+        "key": "application",
+        "operator": "=~",
+        "value": "/^$application$/"
+      }
+      ]
+    }
+    ],
+    "thresholds": [
+    {
+      "colorMode": "ok",
+      "fill": true,
+      "line": true,
+      "op": "lt",
+      "value": 500
+    },
+    {
+      "colorMode": "warning",
+      "fill": false,
+      "line": true,
+      "op": "gt",
+      "value": 1500
+    },
+    {
+      "colorMode": "critical",
+      "fill": true,
+      "line": true,
+      "op": "gt",
+      "value": 5000
+    }
+    ],
+    "timeFrom": null,
+    "timeRegions": [],
+    "timeShift": null,
+    "title": "Transactions Response Times (95th pct)",
+    "tooltip": {
+      "msResolution": false,
+      "shared": true,
+      "sort": 0,
+      "value_type": "individual"
+    },
+    "type": "graph",
+    "xaxis": {
+      "buckets": null,
+      "mode": "time",
+      "name": null,
+      "show": true,
+      "values": []
+    },
+    "yaxes": [
+    {
+      "format": "ms",
+      "label": null,
+      "logBase": 1,
+      "max": null,
+      "min": null,
+      "show": true
+    },
+    {
+      "format": "short",
+      "label": null,
+      "logBase": 1,
+      "max": null,
+      "min": null,
+      "show": false
+    }
+    ],
+    "yaxis": {
+      "align": false,
+      "alignLevel": null
+    }
+  },
+  {
+    "collapsed": true,
+    "datasource": null,
+    "gridPos": {
+      "h": 1,
+      "w": 24,
+      "x": 0,
+      "y": 22
+    },
+    "id": 34,
+    "panels": [
+    {
+      "columns": [],
+      "datasource": "jmeter",
+      "fontSize": "100%",
+      "gridPos": {
+        "h": 7,
+        "w": 8,
+        "x": 0,
+        "y": 23
+      },
+      "height": "",
+      "id": 25,
+      "interval": "[[send_interval]]s",
+      "links": [],
+      "pageSize": null,
+      "scroll": true,
+      "showHeader": true,
+      "sort": {
+        "col": 2,
+        "desc": true
+      },
+      "styles": [
+      {
+        "alias": "Time",
+        "align": "auto",
+        "dateFormat": "YYYY-MM-DD HH:mm:ss",
+        "pattern": "Time",
+        "type": "hidden"
+      },
+      {
+        "alias": "",
+        "align": "auto",
+        "colorMode": null,
+        "colors": [
+          "rgba(245, 54, 54, 0.9)",
+          "rgba(237, 129, 40, 0.89)",
+          "rgba(50, 172, 45, 0.97)"
+        ],
+        "decimals": 0,
+        "pattern": "/.*/",
+        "thresholds": [],
+        "type": "number",
+        "unit": "short"
+      }
+      ],
+      "targets": [
+      {
+        "alias": "$tag_transaction",
+        "dsType": "influxdb",
+        "groupBy": [
+        {
+          "params": [
+            "transaction"
+          ],
+          "type": "tag"
+        }
+        ],
+        "measurement": "jmeter",
+        "orderByTime": "ASC",
+        "policy": "default",
+        "query": "SELECT sum(\"count\") FROM \"$measurement_name\" WHERE (\"application\" =~ /^$application$/ AND \"statut\" = 'ko') AND $timeFilter GROUP BY \"transaction\"",
+        "rawQuery": true,
+        "refId": "A",
+        "resultFormat": "table",
+        "select": [
+        [
+        {
+          "params": [
+            "count"
+          ],
+          "type": "field"
+        },
+        {
+          "params": [],
+          "type": "sum"
+        }
+        ]
+        ],
+        "tags": [
+        {
+          "key": "application",
+          "operator": "=~",
+          "value": "/^$application$/"
+        },
+        {
+          "condition": "AND",
+          "key": "statut",
+          "operator": "=",
+          "value": "ko"
+        }
+        ]
+      }
+      ],
+      "title": "Errors per Transaction",
+      "transform": "table",
+      "type": "table-old"
+    },
+    {
+      "columns": [],
+      "datasource": "jmeter",
+      "fontSize": "100%",
+      "gridPos": {
+        "h": 7,
+        "w": 16,
+        "x": 8,
+        "y": 23
+      },
+      "id": 27,
+      "interval": "[[send_interval]]s",
+      "links": [],
+      "pageSize": null,
+      "scroll": true,
+      "showHeader": true,
+      "sort": {
+        "col": 0,
+        "desc": true
+      },
+      "styles": [
+      {
+        "alias": "Time",
+        "align": "auto",
+        "dateFormat": "YYYY-MM-DD HH:mm:ss",
+        "pattern": "Time",
+        "type": "hidden"
+      },
+      {
+        "alias": "",
+        "align": "auto",
+        "colorMode": null,
+        "colors": [
+          "rgba(245, 54, 54, 0.9)",
+          "rgba(237, 129, 40, 0.89)",
+          "rgba(50, 172, 45, 0.97)"
+        ],
+        "decimals": 0,
+        "pattern": "/.*/",
+        "thresholds": [],
+        "type": "number",
+        "unit": "short"
+      }
+      ],
+      "targets": [
+      {
+        "alias": "$tag_responseCode",
+        "dsType": "influxdb",
+        "groupBy": [
+        {
+          "params": [
+            "responseCode"
+          ],
+          "type": "tag"
+        }
+        ],
+        "measurement": "jmeter",
+        "orderByTime": "ASC",
+        "policy": "default",
+        "query": "SELECT sum(\"count\") FROM \"$measurement_name\" WHERE (\"application\" =~ /^$application$/ AND \"responseCode\" !~ /^$/) AND $timeFilter GROUP BY \"responseCode\",\"responseMessage\"",
+        "rawQuery": true,
+        "refId": "A",
+        "resultFormat": "table",
+        "select": [
+        [
+        {
+          "params": [
+            "count"
+          ],
+          "type": "field"
+        }
+        ],
+        [
+        {
+          "params": [
+            "responseMessage"
+          ],
+          "type": "field"
+        }
+        ]
+        ],
+        "tags": [
+        {
+          "key": "application",
+          "operator": "=~",
+          "value": "/^$application$/"
+        },
+        {
+          "condition": "AND",
+          "key": "responseCode",
+          "operator": "!~",
+          "value": "/^$/"
+        }
+        ]
+      }
+      ],
+      "title": "Error Info",
+      "transform": "table",
+      "type": "table-old"
+    }
+    ],
+    "repeat": null,
+    "title": "Errors",
+    "type": "row"
+  },
+  {
+    "collapsed": false,
+    "datasource": null,
+    "gridPos": {
+      "h": 1,
+      "w": 24,
+      "x": 0,
+      "y": 23
+    },
+    "id": 35,
+    "panels": [],
+    "repeat": null,
+    "title": "Individual Transaction - $transaction",
+    "type": "row"
+  },
+  {
+    "cacheTimeout": null,
+    "colorBackground": false,
+    "colorValue": true,
+    "colors": [
+      "rgba(245, 54, 54, 0.9)",
+      "#e5ac0e",
+      "rgba(50, 172, 45, 0.97)"
+    ],
+    "datasource": "jmeter",
+    "decimals": 0,
+    "editable": true,
+    "error": false,
+    "fieldConfig": {
+      "defaults": {
+        "custom": {}
+      },
+      "overrides": []
+    },
+    "format": "none",
+    "gauge": {
+      "maxValue": 100,
+      "minValue": 0,
+      "show": false,
+      "thresholdLabels": false,
+      "thresholdMarkers": true
+    },
+    "gridPos": {
+      "h": 7,
+      "w": 8,
+      "x": 0,
+      "y": 24
+    },
+    "id": 9,
+    "interval": "[[send_interval]]s",
+    "links": [],
+    "mappingType": 1,
+    "mappingTypes": [
+    {
+      "name": "value to text",
+      "value": 1
+    },
+    {
+      "name": "range to text",
+      "value": 2
+    }
+    ],
+    "maxDataPoints": 100,
+    "nullPointMode": "connected",
+    "nullText": null,
+    "postfix": " Requests",
+    "postfixFontSize": "50%",
+    "prefix": "",
+    "prefixFontSize": "50%",
+    "rangeMaps": [
+    {
+      "from": "null",
+      "text": "N/A",
+      "to": "null"
+    }
+    ],
+    "sparkline": {
+      "fillColor": "rgba(31, 118, 189, 0.18)",
+      "full": false,
+      "lineColor": "#e5ac0e",
+      "show": false
+    },
+    "tableColumn": "",
+    "targets": [
+    {
+      "dsType": "influxdb",
+      "groupBy": [
+      {
+        "params": [
+          "$__interval"
+        ],
+        "type": "time"
+      },
+      {
+        "params": [
+          "null"
+        ],
+        "type": "fill"
+      }
+      ],
+      "measurement": "jmeter",
+      "orderByTime": "ASC",
+      "policy": "default",
+      "query": "SELECT sum(\"count\") FROM \"$measurement_name\" WHERE (\"application\" =~ /^$application$/ AND \"transaction\" =~ /^$transaction$/ AND \"statut\" = 'all') AND $timeFilter GROUP BY time($__interval) fill(null)",
+      "rawQuery": true,
+      "refId": "A",
+      "resultFormat": "time_series",
+      "select": [
+      [
+      {
+        "params": [
+          "count"
+        ],
+        "type": "field"
+      },
+      {
+        "params": [],
+        "type": "sum"
+      }
+      ]
+      ],
+      "tags": [
+      {
+        "key": "transaction",
+        "operator": "=~",
+        "value": "/^$transaction$/"
+      },
+      {
+        "condition": "AND",
+        "key": "statut",
+        "operator": "=",
+        "value": "all"
+      }
+      ]
+    }
+    ],
+    "thresholds": "",
+    "title": "Total Requests - $transaction",
+    "type": "singlestat",
+    "valueFontSize": "80%",
+    "valueMaps": [
+    {
+      "op": "=",
+      "text": "0",
+      "value": "null"
+    }
+    ],
+    "valueName": "total"
+  },
+  {
+    "cacheTimeout": null,
+    "colorBackground": false,
+    "colorValue": true,
+    "colors": [
+      "rgba(245, 54, 54, 0.9)",
+      "#e24d42",
+      "rgba(50, 172, 45, 0.97)"
+    ],
+    "datasource": "jmeter",
+    "decimals": 0,
+    "editable": true,
+    "error": false,
+    "fieldConfig": {
+      "defaults": {
+        "custom": {}
+      },
+      "overrides": []
+    },
+    "format": "none",
+    "gauge": {
+      "maxValue": 100,
+      "minValue": 0,
+      "show": false,
+      "thresholdLabels": false,
+      "thresholdMarkers": true
+    },
+    "gridPos": {
+      "h": 7,
+      "w": 8,
+      "x": 8,
+      "y": 24
+    },
+    "id": 6,
+    "interval": "[[send_interval]]s",
+    "links": [],
+    "mappingType": 1,
+    "mappingTypes": [
+    {
+      "name": "value to text",
+      "value": 1
+    },
+    {
+      "name": "range to text",
+      "value": 2
+    }
+    ],
+    "maxDataPoints": 100,
+    "nullPointMode": "connected",
+    "nullText": null,
+    "postfix": " Failed",
+    "postfixFontSize": "50%",
+    "prefix": "",
+    "prefixFontSize": "50%",
+    "rangeMaps": [
+    {
+      "from": "null",
+      "text": "N/A",
+      "to": "null"
+    }
+    ],
+    "sparkline": {
+      "fillColor": "rgba(31, 118, 189, 0.18)",
+      "full": false,
+      "lineColor": "#e24d42",
+      "show": false
+    },
+    "tableColumn": "",
+    "targets": [
+    {
+      "dsType": "influxdb",
+      "groupBy": [
+      {
+        "params": [
+          "$__interval"
+        ],
+        "type": "time"
+      },
+      {
+        "params": [
+          "null"
+        ],
+        "type": "fill"
+      }
+      ],
+      "measurement": "jmeter",
+      "orderByTime": "ASC",
+      "policy": "default",
+      "query": "SELECT sum(\"count\") FROM \"$measurement_name\" WHERE (\"application\" =~ /^$application$/ AND \"transaction\" =~ /^$transaction$/ AND \"statut\" = 'ko') AND $timeFilter GROUP BY time($__interval) fill(null)",
+      "rawQuery": true,
+      "refId": "A",
+      "resultFormat": "time_series",
+      "select": [
+      [
+      {
+        "params": [
+          "count"
+        ],
+        "type": "field"
+      },
+      {
+        "params": [],
+        "type": "sum"
+      }
+      ]
+      ],
+      "tags": [
+      {
+        "key": "transaction",
+        "operator": "=~",
+        "value": "/^$transaction$/"
+      },
+      {
+        "condition": "AND",
+        "key": "statut",
+        "operator": "=",
+        "value": "ko"
+      }
+      ]
+    }
+    ],
+    "thresholds": "",
+    "title": "Failed Requests - $transaction",
+    "type": "singlestat",
+    "valueFontSize": "80%",
+    "valueMaps": [
+    {
+      "op": "=",
+      "text": "0",
+      "value": "null"
+    }
+    ],
+    "valueName": "total"
+  },
+  {
+    "cacheTimeout": null,
+    "colorBackground": false,
+    "colorValue": true,
+    "colors": [
+      "rgba(50, 172, 45, 0.97)",
+      "#e5ac0e",
+      "#e24d42"
+    ],
+    "datasource": "jmeter",
+    "decimals": 2,
+    "editable": true,
+    "error": false,
+    "fieldConfig": {
+      "defaults": {
+        "custom": {}
+      },
+      "overrides": []
+    },
+    "format": "percentunit",
+    "gauge": {
+      "maxValue": 1,
+      "minValue": 0,
+      "show": true,
+      "thresholdLabels": false,
+      "thresholdMarkers": true
+    },
+    "gridPos": {
+      "h": 7,
+      "w": 8,
+      "x": 16,
+      "y": 24
+    },
+    "id": 8,
+    "interval": "[[send_interval]]s",
+    "links": [],
+    "mappingType": 1,
+    "mappingTypes": [
+    {
+      "name": "value to text",
+      "value": 1
+    },
+    {
+      "name": "range to text",
+      "value": 2
+    }
+    ],
+    "maxDataPoints": 100,
+    "nullPointMode": "connected",
+    "nullText": null,
+    "postfix": "",
+    "postfixFontSize": "50%",
+    "prefix": "",
+    "prefixFontSize": "50%",
+    "rangeMaps": [
+    {
+      "from": "null",
+      "text": "N/A",
+      "to": "null"
+    }
+    ],
+    "sparkline": {
+      "fillColor": "rgba(31, 118, 189, 0.18)",
+      "full": false,
+      "lineColor": "rgb(14, 237, 45)",
+      "show": false
+    },
+    "tableColumn": "",
+    "targets": [
+    {
+      "dsType": "influxdb",
+      "groupBy": [
+      {
+        "params": [
+          "$__interval"
+        ],
+        "type": "time"
+      },
+      {
+        "params": [
+          "null"
+        ],
+        "type": "fill"
+      }
+      ],
+      "measurement": "jmeter",
+      "orderByTime": "ASC",
+      "policy": "default",
+      "query": "SELECT sum(\"error\") / sum(\"all\") FROM (SELECT sum(\"count\") AS \"all\" FROM \"$measurement_name\" WHERE \"transaction\" =~ /^$transaction$/ AND \"statut\" = 'all' AND \"application\" =~ /^$application$/ AND $timeFilter GROUP BY time($__interval) fill(null)), (SELECT sum(\"count\") AS \"error\" FROM \"$measurement_name\" WHERE \"transaction\" =~ /^$transaction$/ AND \"statut\" = 'ko' AND \"application\" =~ /^$application$/ AND $timeFilter GROUP BY time($__interval) fill(null))",
+      "rawQuery": true,
+      "refId": "A",
+      "resultFormat": "time_series",
+      "select": [
+      [
+      {
+        "params": [
+          "count"
+        ],
+        "type": "field"
+      },
+      {
+        "params": [],
+        "type": "sum"
+      }
+      ]
+      ],
+      "tags": [
+      {
+        "key": "transaction",
+        "operator": "=~",
+        "value": "/^$transaction$/"
+      },
+      {
+        "condition": "AND",
+        "key": "statut",
+        "operator": "=",
+        "value": "ok"
+      }
+      ]
+    }
+    ],
+    "thresholds": "0,0.01",
+    "title": "Error Rate % - $transaction",
+    "type": "singlestat",
+    "valueFontSize": "50%",
+    "valueMaps": [
+    {
+      "op": "=",
+      "text": "0",
+      "value": "null"
+    }
+    ],
+    "valueName": "total"
+  },
+  {
+    "aliasColors": {
+      "90th Percentage": "#EAB839",
+      "95th Percentage": "#EF843C",
+      "99th Percentage": "#99440A",
+      "Average": "#3F6833",
+      "Max": "#58140C",
+      "Req / s": "#6ed0e0"
+    },
+    "bars": false,
+    "dashLength": 10,
+    "dashes": false,
+    "datasource": "jmeter",
+    "decimals": 2,
+    "editable": true,
+    "error": false,
+    "fieldConfig": {
+      "defaults": {
+        "custom": {}
+      },
+      "overrides": []
+    },
+    "fill": 7,
+    "gridPos": {
+      "h": 7,
+      "w": 12,
+      "x": 0,
+      "y": 31
+    },
+    "height": "",
+    "id": 10,
+    "interval": "[[send_interval]]s",
+    "legend": {
+      "alignAsTable": true,
+      "avg": true,
+      "current": false,
+      "max": true,
+      "min": true,
+      "rightSide": false,
+      "show": true,
+      "total": false,
+      "values": true
+    },
+    "lines": true,
+    "linewidth": 1,
+    "links": [],
+    "nullPointMode": "null",
+    "percentage": false,
+    "pointradius": 1,
+    "points": false,
+    "renderer": "flot",
+    "seriesOverrides": [
+    {
+      "alias": "Average",
+      "yaxis": 1
+    }
+    ],
+    "spaceLength": 10,
+    "stack": false,
+    "steppedLine": false,
+    "targets": [
+    {
+      "alias": "Req / s",
+      "dsType": "influxdb",
+      "groupBy": [
+      {
+        "params": [
+          "$__interval"
+        ],
+        "type": "time"
+      }
+      ],
+      "measurement": "jmeter",
+      "orderByTime": "ASC",
+      "policy": "default",
+      "query": "SELECT last(\"count\") / $send_interval FROM \"$measurement_name\" WHERE (\"transaction\" =~ /^$transaction$/ AND \"statut\" = 'ok') AND $timeFilter GROUP BY time($__interval)",
+      "rawQuery": true,
+      "refId": "B",
+      "resultFormat": "time_series",
+      "select": [
+      [
+      {
+        "params": [
+          "count"
+        ],
+        "type": "field"
+      },
+      {
+        "params": [],
+        "type": "sum"
+      },
+      {
+        "params": [
+          "5s"
+        ],
+        "type": "non_negative_derivative"
+      }
+      ]
+      ],
+      "tags": [
+      {
+        "key": "transaction",
+        "operator": "=~",
+        "value": "/^$transaction$/"
+      },
+      {
+        "condition": "AND",
+        "key": "statut",
+        "operator": "=",
+        "value": "ok"
+      }
+      ]
+    }
+    ],
+    "thresholds": [],
+    "timeFrom": null,
+    "timeShift": null,
+    "title": "Throughput - $transaction",
+    "tooltip": {
+      "msResolution": false,
+      "shared": true,
+      "sort": 0,
+      "value_type": "individual"
+    },
+    "type": "graph",
+    "xaxis": {
+      "buckets": null,
+      "mode": "time",
+      "name": null,
+      "show": true,
+      "values": []
+    },
+    "yaxes": [
+    {
+      "format": "short",
+      "label": null,
+      "logBase": 1,
+      "max": null,
+      "min": null,
+      "show": true
+    },
+    {
+      "format": "short",
+      "label": null,
+      "logBase": 1,
+      "max": null,
+      "min": null,
+      "show": false
+    }
+    ]
+  },
+  {
+    "aliasColors": {
+      "Num of Errors": "#bf1b00",
+      "num of errors": "#bf1b00"
+    },
+    "bars": false,
+    "dashLength": 10,
+    "dashes": false,
+    "datasource": "jmeter",
+    "decimals": 0,
+    "fieldConfig": {
+      "defaults": {
+        "custom": {}
+      },
+      "overrides": []
+    },
+    "fill": 7,
+    "gridPos": {
+      "h": 7,
+      "w": 12,
+      "x": 12,
+      "y": 31
+    },
+    "id": 32,
+    "interval": "[[send_interval]]s",
+    "legend": {
+      "alignAsTable": true,
+      "avg": false,
+      "current": false,
+      "max": false,
+      "min": false,
+      "rightSide": false,
+      "show": true,
+      "total": true,
+      "values": true
+    },
+    "lines": true,
+    "linewidth": 1,
+    "links": [],
+    "nullPointMode": "null",
+    "percentage": false,
+    "pointradius": 1,
+    "points": true,
+    "renderer": "flot",
+    "seriesOverrides": [],
+    "spaceLength": 10,
+    "stack": false,
+    "steppedLine": false,
+    "targets": [
+    {
+      "alias": "Num of Errors",
+      "dsType": "influxdb",
+      "groupBy": [
+      {
+        "params": [
+          "$__interval"
+        ],
+        "type": "time"
+      },
+      {
+        "params": [
+          "null"
+        ],
+        "type": "fill"
+      }
+      ],
+      "orderByTime": "ASC",
+      "policy": "default",
+      "query": "SELECT sum(\"count\") FROM \"$measurement_name\" WHERE \"application\" =~ /^$application$/ AND \"transaction\" =~ /^$transaction$/ AND \"statut\" = 'ko' AND $timeFilter GROUP BY time($__interval) fill(null)",
+      "rawQuery": true,
+      "refId": "A",
+      "resultFormat": "time_series",
+      "select": [
+      [
+      {
+        "params": [
+          "value"
+        ],
+        "type": "field"
+      },
+      {
+        "params": [],
+        "type": "mean"
+      }
+      ]
+      ],
+      "tags": []
+    }
+    ],
+    "thresholds": [],
+    "timeFrom": null,
+    "timeShift": null,
+    "title": "Errors",
+    "tooltip": {
+      "shared": true,
+      "sort": 0,
+      "value_type": "individual"
+    },
+    "type": "graph",
+    "xaxis": {
+      "buckets": 1,
+      "mode": "time",
+      "name": null,
+      "show": true,
+      "values": []
+    },
+    "yaxes": [
+    {
+      "decimals": 0,
+      "format": "short",
+      "label": null,
+      "logBase": 1,
+      "max": null,
+      "min": null,
+      "show": true
+    },
+    {
+      "format": "short",
+      "label": null,
+      "logBase": 1,
+      "max": null,
+      "min": null,
+      "show": true
+    }
+    ]
+  },
+  {
+    "aliasColors": {
+      "90th Percentage": "#f2c96d",
+      "95th Percentage": "#EF843C",
+      "99th Percentage": "#bf1b00",
+      "Average": "#7eb26d",
+      "Max": "#584477",
+      "Median": "#6ed0e0",
+      "median": "#6ed0e0"
+    },
+    "bars": false,
+    "dashLength": 10,
+    "dashes": false,
+    "datasource": "jmeter",
+    "decimals": 2,
+    "editable": true,
+    "error": false,
+    "fieldConfig": {
+      "defaults": {
+        "custom": {}
+      },
+      "overrides": []
+    },
+    "fill": 1,
+    "gridPos": {
+      "h": 7,
+      "w": 24,
+      "x": 0,
+      "y": 38
+    },
+    "height": "",
+    "id": 5,
+    "interval": "[[send_interval]]s",
+    "legend": {
+      "alignAsTable": true,
+      "avg": true,
+      "current": false,
+      "hideEmpty": true,
+      "max": true,
+      "min": false,
+      "rightSide": true,
+      "show": true,
+      "sortDesc": true,
+      "total": false,
+      "values": true
+    },
+    "lines": true,
+    "linewidth": 1,
+    "links": [],
+    "nullPointMode": "null",
+    "percentage": false,
+    "pointradius": 1,
+    "points": false,
+    "renderer": "flot",
+    "seriesOverrides": [
+    {
+      "alias": "Average",
+      "yaxis": 1
+    }
+    ],
+    "spaceLength": 10,
+    "stack": false,
+    "steppedLine": false,
+    "targets": [
+    {
+      "alias": "Average",
+      "dsType": "influxdb",
+      "groupBy": [
+      {
+        "params": [
+          "$aggregation"
+        ],
+        "type": "time"
+      },
+      {
+        "params": [
+          "null"
+        ],
+        "type": "fill"
+      }
+      ],
+      "measurement": "jmeter",
+      "orderByTime": "ASC",
+      "policy": "default",
+      "query": "SELECT last(\"avg\") FROM \"$measurement_name\" WHERE (\"transaction\" =~ /^$transaction$/ AND \"statut\" = 'ok') AND $timeFilter GROUP BY time($__interval)",
+      "rawQuery": true,
+      "refId": "A",
+      "resultFormat": "time_series",
+      "select": [
+      [
+      {
+        "params": [
+          "avg"
+        ],
+        "type": "field"
+      },
+      {
+        "params": [],
+        "type": "last"
+      }
+      ]
+      ],
+      "tags": [
+      {
+        "key": "transaction",
+        "operator": "=~",
+        "value": "/^$request$/"
+      },
+      {
+        "condition": "AND",
+        "key": "statut",
+        "operator": "=",
+        "value": "ok"
+      }
+      ]
+    },
+    {
+      "alias": "Median",
+      "dsType": "influxdb",
+      "groupBy": [
+      {
+        "params": [
+          "$aggregation"
+        ],
+        "type": "time"
+      },
+      {
+        "params": [
+          "null"
+        ],
+        "type": "fill"
+      }
+      ],
+      "hide": false,
+      "measurement": "jmeter",
+      "orderByTime": "ASC",
+      "policy": "default",
+      "query": "SELECT last(\"pct50.0\") FROM \"$measurement_name\" WHERE (\"transaction\" =~ /^$transaction$/ AND \"statut\" = 'ok') AND $timeFilter GROUP BY time($__interval)",
+      "rawQuery": true,
+      "refId": "F",
+      "resultFormat": "time_series",
+      "select": [
+      [
+      {
+        "params": [
+          "pct50.0"
+        ],
+        "type": "field"
+      },
+      {
+        "params": [],
+        "type": "last"
+      }
+      ]
+      ],
+      "tags": [
+      {
+        "key": "transaction",
+        "operator": "=~",
+        "value": "/^$request$/"
+      },
+      {
+        "condition": "AND",
+        "key": "statut",
+        "operator": "=",
+        "value": "all"
+      }
+      ]
+    },
+    {
+      "alias": "90th Percentile",
+      "dsType": "influxdb",
+      "groupBy": [
+      {
+        "params": [
+          "$aggregation"
+        ],
+        "type": "time"
+      },
+      {
+        "params": [
+          "null"
+        ],
+        "type": "fill"
+      }
+      ],
+      "measurement": "jmeter",
+      "orderByTime": "ASC",
+      "policy": "default",
+      "query": "SELECT last(\"pct90.0\") FROM \"$measurement_name\" WHERE (\"transaction\" =~ /^$transaction$/ AND \"statut\" = 'ok') AND $timeFilter GROUP BY time($__interval) fill(null)",
+      "rawQuery": true,
+      "refId": "B",
+      "resultFormat": "time_series",
+      "select": [
+      [
+      {
+        "params": [
+          "pct90.0"
+        ],
+        "type": "field"
+      },
+      {
+        "params": [],
+        "type": "last"
+      }
+      ]
+      ],
+      "tags": [
+      {
+        "key": "transaction",
+        "operator": "=~",
+        "value": "/^$request$/"
+      },
+      {
+        "condition": "AND",
+        "key": "statut",
+        "operator": "=",
+        "value": "all"
+      }
+      ]
+    },
+    {
+      "alias": "95th Percentile",
+      "dsType": "influxdb",
+      "groupBy": [
+      {
+        "params": [
+          "$aggregation"
+        ],
+        "type": "time"
+      },
+      {
+        "params": [
+          "null"
+        ],
+        "type": "fill"
+      }
+      ],
+      "hide": false,
+      "measurement": "jmeter",
+      "orderByTime": "ASC",
+      "policy": "default",
+      "query": "SELECT last(\"pct95.0\") FROM \"$measurement_name\" WHERE (\"transaction\" =~ /^$transaction$/ AND \"statut\" = 'ok') AND $timeFilter GROUP BY time($__interval) fill(null)",
+      "rawQuery": true,
+      "refId": "C",
+      "resultFormat": "time_series",
+      "select": [
+      [
+      {
+        "params": [
+          "pct95.0"
+        ],
+        "type": "field"
+      },
+      {
+        "params": [],
+        "type": "last"
+      }
+      ]
+      ],
+      "tags": [
+      {
+        "key": "transaction",
+        "operator": "=~",
+        "value": "/^$request$/"
+      }
+      ]
+    },
+    {
+      "alias": "99th Percentile",
+      "dsType": "influxdb",
+      "groupBy": [
+      {
+        "params": [
+          "$aggregation"
+        ],
+        "type": "time"
+      },
+      {
+        "params": [
+          "null"
+        ],
+        "type": "fill"
+      }
+      ],
+      "hide": false,
+      "measurement": "jmeter",
+      "orderByTime": "ASC",
+      "policy": "default",
+      "query": "SELECT last(\"pct99.0\") FROM \"$measurement_name\" WHERE (\"transaction\" =~ /^$transaction$/ AND \"statut\" = 'ok') AND $timeFilter GROUP BY time($__interval) fill(null)",
+      "rawQuery": true,
+      "refId": "D",
+      "resultFormat": "time_series",
+      "select": [
+      [
+      {
+        "params": [
+          "pct99.0"
+        ],
+        "type": "field"
+      },
+      {
+        "params": [],
+        "type": "last"
+      }
+      ]
+      ],
+      "tags": [
+      {
+        "key": "transaction",
+        "operator": "=~",
+        "value": "/^$request$/"
+      }
+      ]
+    },
+    {
+      "alias": "Max",
+      "dsType": "influxdb",
+      "groupBy": [
+      {
+        "params": [
+          "$aggregation"
+        ],
+        "type": "time"
+      },
+      {
+        "params": [
+          "null"
+        ],
+        "type": "fill"
+      }
+      ],
+      "measurement": "jmeter",
+      "orderByTime": "ASC",
+      "policy": "default",
+      "query": "SELECT last(\"max\") FROM \"$measurement_name\" WHERE (\"transaction\" =~ /^$transaction$/ AND \"statut\" = 'ok') AND $timeFilter GROUP BY time($__interval) fill(null)",
+      "rawQuery": true,
+      "refId": "E",
+      "resultFormat": "time_series",
+      "select": [
+      [
+      {
+        "params": [
+          "max"
+        ],
+        "type": "field"
+      },
+      {
+        "params": [],
+        "type": "last"
+      }
+      ]
+      ],
+      "tags": [
+      {
+        "key": "transaction",
+        "operator": "=~",
+        "value": "/^$request$/"
+      },
+      {
+        "condition": "AND",
+        "key": "statut",
+        "operator": "=",
+        "value": "ok"
+      }
+      ]
+    }
+    ],
+    "thresholds": [
+    {
+      "colorMode": "ok",
+      "fill": true,
+      "line": true,
+      "op": "lt",
+      "value": 500
+    },
+    {
+      "colorMode": "warning",
+      "fill": false,
+      "line": true,
+      "op": "gt",
+      "value": 1500
+    },
+    {
+      "colorMode": "critical",
+      "fill": true,
+      "line": true,
+      "op": "gt",
+      "value": 5000
+    }
+    ],
+    "timeFrom": null,
+    "timeShift": null,
+    "title": "Response Times - $transaction",
+    "tooltip": {
+      "msResolution": false,
+      "shared": true,
+      "sort": 0,
+      "value_type": "individual"
+    },
+    "type": "graph",
+    "xaxis": {
+      "buckets": null,
+      "mode": "time",
+      "name": null,
+      "show": true,
+      "values": []
+    },
+    "yaxes": [
+    {
+      "format": "ms",
+      "label": null,
+      "logBase": 1,
+      "max": null,
+      "min": null,
+      "show": true
+    },
+    {
+      "format": "short",
+      "label": null,
+      "logBase": 1,
+      "max": null,
+      "min": null,
+      "show": false
+    }
+    ]
+  }
+  ],
+  "refresh": "5s",
+  "schemaVersion": 25,
+  "style": "dark",
+  "tags": [
+    "load_test"
+  ],
+  "templating": {
+    "list": [
+    {
+      "current": {
+        "selected": false,
+        "text": "jmeter",
+        "value": "jmeter"
+      },
+      "hide": 0,
+      "includeAll": false,
+      "label": "",
+      "multi": false,
+      "name": "data_source",
+      "options": [],
+      "query": "influxdb",
+      "refresh": 1,
+      "regex": "",
+      "skipUrlSync": false,
+      "type": "datasource"
+    },
+    {
+      "allValue": null,
+      "current": {},
+      "datasource": "jmeter",
+      "definition": "",
+      "hide": 0,
+      "includeAll": false,
+      "label": "",
+      "multi": false,
+      "name": "application",
+      "options": [],
+      "query": "SHOW TAG VALUES FROM \"jmeter\" WITH KEY = \"application\"",
+      "refresh": 1,
+      "regex": "",
+      "skipUrlSync": false,
+      "sort": 0,
+      "tagValuesQuery": null,
+      "tags": [],
+      "tagsQuery": null,
+      "type": "query",
+      "useTags": false
+    },
+    {
+      "allValue": null,
+      "current": {},
+      "datasource": "jmeter",
+      "definition": "",
+      "hide": 0,
+      "includeAll": false,
+      "label": "",
+      "multi": false,
+      "name": "transaction",
+      "options": [],
+      "query": "SHOW TAG VALUES FROM \"jmeter\" WITH KEY = \"transaction\" WHERE \"application\" =~ /^$application$/ AND \"transaction\" != 'internal' AND \"transaction\" != 'all'",
+      "refresh": 1,
+      "regex": "",
+      "skipUrlSync": false,
+      "sort": 0,
+      "tagValuesQuery": null,
+      "tags": [],
+      "tagsQuery": null,
+      "type": "query",
+      "useTags": false
+    },
+    {
+      "current": {
+        "text": "jmeter",
+        "value": "jmeter"
+      },
+      "hide": 2,
+      "label": "Measurement name",
+      "name": "measurement_name",
+      "options": [
+      {
+        "text": "jmeter",
+        "value": "jmeter"
+      }
+      ],
+      "query": "jmeter",
+      "skipUrlSync": false,
+      "type": "constant"
+    },
+    {
+      "current": {
+        "text": "5",
+        "value": "5"
+      },
+      "hide": 2,
+      "label": "Backend send interval in second",
+      "name": "send_interval",
+      "options": [
+      {
+        "text": "5",
+        "value": "5"
+      }
+      ],
+      "query": "5",
+      "skipUrlSync": false,
+      "type": "constant"
+    }
+    ]
+  },
+  "time": {
+    "from": "now-30m",
+    "to": "now"
+  },
+  "timepicker": {
+    "refresh_intervals": [
+      "10s",
+      "30s",
+      "1m",
+      "5m",
+      "15m",
+      "30m",
+      "1h",
+      "2h",
+      "1d"
+    ],
+    "time_options": [
+      "5m",
+      "15m",
+      "1h",
+      "6h",
+      "12h",
+      "24h",
+      "2d",
+      "7d",
+      "30d"
+    ]
+  },
+  "timezone": "browser",
+  "title": "JMeter Dashboard",
+  "uid": "symhaxzMz",
+  "version": 4
+}
\ No newline at end of file
index f9cc9e8..83c4486 100644 (file)
@@ -32,3 +32,14 @@ data:
       url: http://prometheus-service:8080
       access: proxy
       isDefault: true
+  influxdbDatasource.yaml: |-
+    apiVersion: 1
+    datasources:
+    - name: jmeter
+      type: influxdb
+      database: jmeter
+      url: http://influxdb-service:8086
+      access: proxy
+      editable: true
+      jsonData:
+        timeInterval: '5s'
\ No newline at end of file
diff --git a/performanceTests/k8s/influxdb/deployment.yaml b/performanceTests/k8s/influxdb/deployment.yaml
new file mode 100644 (file)
index 0000000..3b03922
--- /dev/null
@@ -0,0 +1,57 @@
+# ============LICENSE_START=======================================================
+# dcaegen2-collectors-ves
+# ================================================================================
+# Copyright (C) 2020 NOKIA
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: influxdb-ves-deployment
+  namespace: onap
+  labels:
+    app: collector-influxdb
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: collector-influxdb
+  template:
+    metadata:
+      labels:
+        app: collector-influxdb
+    spec:
+      containers:
+        - name: collector-influxdb
+          image: influxdb
+          env:
+            - name: INFLUXDB_DB
+              value: "jmeter"
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: influxdb-service
+  namespace: onap
+  labels:
+    app: collector-influxdb
+spec:
+  selector:
+    app: collector-influxdb
+  type: NodePort
+  ports:
+    - port: 8086
+      targetPort: 8086
+      nodePort: 30002
\ No newline at end of file
diff --git a/performanceTests/k8s/testScenario/run_jmeter.sh b/performanceTests/k8s/testScenario/run_jmeter.sh
new file mode 100644 (file)
index 0000000..13e2f78
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/bash
+docker pull justb4/jmeter
+
+export volume_path=/root/vesPerformanceTestsEnv && \
+export jmeter_path=/mnt/jmeter && \
+export test_scenario_file=test_scenario.jmx && \
+docker run \
+  --volume "${volume_path}":${jmeter_path} \
+  justb4/jmeter \
+  -n -X \
+  -t ${jmeter_path}/${test_scenario_file}
\ No newline at end of file
diff --git a/performanceTests/k8s/testScenario/test_scenario.jmx b/performanceTests/k8s/testScenario/test_scenario.jmx
new file mode 100644 (file)
index 0000000..b9d0257
--- /dev/null
@@ -0,0 +1,242 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.3">
+  <hashTree>
+    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Https ves collector /eventlistener/v7 BasicAuth" enabled="true">
+      <stringProp name="TestPlan.comments"></stringProp>
+      <boolProp name="TestPlan.functional_mode">false</boolProp>
+      <boolProp name="TestPlan.tearDown_on_shutdown">true</boolProp>
+      <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
+      <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+        <collectionProp name="Arguments.arguments"/>
+      </elementProp>
+      <stringProp name="TestPlan.user_define_classpath"></stringProp>
+    </TestPlan>
+    <hashTree>
+      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true">
+        <stringProp name="ThreadGroup.on_sample_error">startnextloop</stringProp>
+        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+          <boolProp name="LoopController.continue_forever">false</boolProp>
+          <stringProp name="LoopController.loops">1</stringProp>
+        </elementProp>
+        <stringProp name="ThreadGroup.num_threads">100</stringProp>
+        <stringProp name="ThreadGroup.ramp_time">10</stringProp>
+        <boolProp name="ThreadGroup.scheduler">false</boolProp>
+        <stringProp name="ThreadGroup.duration"></stringProp>
+        <stringProp name="ThreadGroup.delay"></stringProp>
+        <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
+      </ThreadGroup>
+      <hashTree>
+        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="HTTP Request" enabled="true">
+          <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
+          <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
+            <collectionProp name="Arguments.arguments">
+              <elementProp name="" elementType="HTTPArgument">
+                <boolProp name="HTTPArgument.always_encode">false</boolProp>
+                <stringProp name="Argument.value">{&#xd;
+    &quot;event&quot;: {&#xd;
+        &quot;commonEventHeader&quot;: {&#xd;
+            &quot;version&quot;: &quot;4.0.1&quot;,&#xd;
+            &quot;vesEventListenerVersion&quot;: &quot;7.0.1&quot;,&#xd;
+            &quot;domain&quot;: &quot;fault&quot;,&#xd;
+            &quot;eventName&quot;: &quot;Fault_Vscf:Acs-Ericcson_PilotNumberPoolExhaustion&quot;,&#xd;
+            &quot;eventId&quot;: &quot;fault0000245&quot;,&#xd;
+            &quot;sequence&quot;: 1,&#xd;
+            &quot;priority&quot;: &quot;High&quot;,&#xd;
+            &quot;reportingEntityId&quot;: &quot;cc305d54-75b4-431b-adb2-eb6b9e541234&quot;,&#xd;
+            &quot;reportingEntityName&quot;: &quot;ibcx0001vm002oam001&quot;,&#xd;
+            &quot;sourceId&quot;: &quot;de305d54-75b4-431b-adb2-eb6b9e546014&quot;,&#xd;
+            &quot;sourceName&quot;: &quot;scfx0001vm002cap001&quot;,&#xd;
+            &quot;nfVendorName&quot;: &quot;SomeNamee&quot;,&#xd;
+            &quot;nfNamingCode&quot;: &quot;scfx&quot;,&#xd;
+            &quot;nfcNamingCode&quot;: &quot;ssc&quot;,&#xd;
+            &quot;startEpochMicrosec&quot;: 1413378172000000,&#xd;
+            &quot;lastEpochMicrosec&quot;: 1413378172000000,&#xd;
+            &quot;timeZoneOffset&quot;: &quot;UTC-05:30&quot;&#xd;
+        },&#xd;
+        &quot;faultFields&quot;: {&#xd;
+            &quot;faultFieldsVersion&quot;: &quot;4.0&quot;,&#xd;
+            &quot;alarmCondition&quot;: &quot;PilotNumberPoolExhaustion&quot;,&#xd;
+            &quot;eventSourceType&quot;: &quot;other&quot;,&#xd;
+            &quot;specificProblem&quot;: &quot;Calls cannot complete - pilot numbers are unavailable&quot;,&#xd;
+            &quot;eventSeverity&quot;: &quot;CRITICAL&quot;,&#xd;
+            &quot;vfStatus&quot;: &quot;Active&quot;,&#xd;
+            &quot;alarmAdditionalInformation&quot;: {&#xd;
+                &quot;PilotNumberPoolSize&quot;: &quot;1000&quot;&#xd;
+            }&#xd;
+        }&#xd;
+    }&#xd;
+}&#xd;
+</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+              </elementProp>
+            </collectionProp>
+          </elementProp>
+          <stringProp name="HTTPSampler.domain">10.183.39.145</stringProp>
+          <stringProp name="HTTPSampler.port">30417</stringProp>
+          <stringProp name="HTTPSampler.protocol">https</stringProp>
+          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path">/eventListener/v7</stringProp>
+          <stringProp name="HTTPSampler.method">POST</stringProp>
+          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+          <stringProp name="HTTPSampler.response_timeout"></stringProp>
+        </HTTPSamplerProxy>
+        <hashTree>
+          <ResultCollector guiclass="TableVisualizer" testclass="ResultCollector" testname="View Results in Table" enabled="true">
+            <boolProp name="ResultCollector.error_logging">false</boolProp>
+            <objProp>
+              <name>saveConfig</name>
+              <value class="SampleSaveConfiguration">
+                <time>true</time>
+                <latency>true</latency>
+                <timestamp>true</timestamp>
+                <success>true</success>
+                <label>true</label>
+                <code>true</code>
+                <message>true</message>
+                <threadName>true</threadName>
+                <dataType>true</dataType>
+                <encoding>false</encoding>
+                <assertions>true</assertions>
+                <subresults>true</subresults>
+                <responseData>false</responseData>
+                <samplerData>false</samplerData>
+                <xml>false</xml>
+                <fieldNames>true</fieldNames>
+                <responseHeaders>false</responseHeaders>
+                <requestHeaders>false</requestHeaders>
+                <responseDataOnError>false</responseDataOnError>
+                <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+                <assertionsResultsToSave>0</assertionsResultsToSave>
+                <bytes>true</bytes>
+                <sentBytes>true</sentBytes>
+                <url>true</url>
+                <threadCounts>true</threadCounts>
+                <idleTime>true</idleTime>
+                <connectTime>true</connectTime>
+              </value>
+            </objProp>
+            <stringProp name="filename"></stringProp>
+          </ResultCollector>
+          <hashTree/>
+          <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
+            <boolProp name="ResultCollector.error_logging">false</boolProp>
+            <objProp>
+              <name>saveConfig</name>
+              <value class="SampleSaveConfiguration">
+                <time>true</time>
+                <latency>true</latency>
+                <timestamp>true</timestamp>
+                <success>true</success>
+                <label>true</label>
+                <code>true</code>
+                <message>true</message>
+                <threadName>true</threadName>
+                <dataType>true</dataType>
+                <encoding>false</encoding>
+                <assertions>true</assertions>
+                <subresults>true</subresults>
+                <responseData>false</responseData>
+                <samplerData>false</samplerData>
+                <xml>false</xml>
+                <fieldNames>true</fieldNames>
+                <responseHeaders>false</responseHeaders>
+                <requestHeaders>false</requestHeaders>
+                <responseDataOnError>false</responseDataOnError>
+                <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+                <assertionsResultsToSave>0</assertionsResultsToSave>
+                <bytes>true</bytes>
+                <sentBytes>true</sentBytes>
+                <url>true</url>
+                <threadCounts>true</threadCounts>
+                <idleTime>true</idleTime>
+                <connectTime>true</connectTime>
+              </value>
+            </objProp>
+            <stringProp name="filename"></stringProp>
+          </ResultCollector>
+          <hashTree/>
+        </hashTree>
+        <AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true">
+          <collectionProp name="AuthManager.auth_list">
+            <elementProp name="" elementType="Authorization">
+              <stringProp name="Authorization.url">https://10.183.39.145:30417/eventListener/v7</stringProp>
+              <stringProp name="Authorization.username">sample1</stringProp>
+              <stringProp name="Authorization.password">sample1</stringProp>
+              <stringProp name="Authorization.domain"></stringProp>
+              <stringProp name="Authorization.realm"></stringProp>
+            </elementProp>
+          </collectionProp>
+          <boolProp name="AuthManager.controlledByThreadGroup">false</boolProp>
+        </AuthManager>
+        <hashTree/>
+        <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true">
+          <collectionProp name="HeaderManager.headers">
+            <elementProp name="" elementType="Header">
+              <stringProp name="Header.name">Content-Type</stringProp>
+              <stringProp name="Header.value">application/json</stringProp>
+            </elementProp>
+          </collectionProp>
+        </HeaderManager>
+        <hashTree/>
+        <BackendListener guiclass="BackendListenerGui" testclass="BackendListener" testname="Backend Listener" enabled="true">
+          <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
+            <collectionProp name="Arguments.arguments">
+              <elementProp name="influxdbMetricsSender" elementType="Argument">
+                <stringProp name="Argument.name">influxdbMetricsSender</stringProp>
+                <stringProp name="Argument.value">org.apache.jmeter.visualizers.backend.influxdb.HttpMetricsSender</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+              </elementProp>
+              <elementProp name="influxdbUrl" elementType="Argument">
+                <stringProp name="Argument.name">influxdbUrl</stringProp>
+                <stringProp name="Argument.value">http://10.183.39.145:30002/write?db=jmeter</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+              </elementProp>
+              <elementProp name="application" elementType="Argument">
+                <stringProp name="Argument.name">application</stringProp>
+                <stringProp name="Argument.value">ves</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+              </elementProp>
+              <elementProp name="measurement" elementType="Argument">
+                <stringProp name="Argument.name">measurement</stringProp>
+                <stringProp name="Argument.value">jmeter</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+              </elementProp>
+              <elementProp name="summaryOnly" elementType="Argument">
+                <stringProp name="Argument.name">summaryOnly</stringProp>
+                <stringProp name="Argument.value">false</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+              </elementProp>
+              <elementProp name="samplersRegex" elementType="Argument">
+                <stringProp name="Argument.name">samplersRegex</stringProp>
+                <stringProp name="Argument.value">.*</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+              </elementProp>
+              <elementProp name="percentiles" elementType="Argument">
+                <stringProp name="Argument.name">percentiles</stringProp>
+                <stringProp name="Argument.value">90;95;99</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+              </elementProp>
+              <elementProp name="testTitle" elementType="Argument">
+                <stringProp name="Argument.name">testTitle</stringProp>
+                <stringProp name="Argument.value">Test name</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+              </elementProp>
+              <elementProp name="eventTags" elementType="Argument">
+                <stringProp name="Argument.name">eventTags</stringProp>
+                <stringProp name="Argument.value"></stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+              </elementProp>
+            </collectionProp>
+          </elementProp>
+          <stringProp name="classname">org.apache.jmeter.visualizers.backend.influxdb.InfluxdbBackendListenerClient</stringProp>
+        </BackendListener>
+        <hashTree/>
+      </hashTree>
+    </hashTree>
+  </hashTree>
+</jmeterTestPlan>