aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemigiusz Janeczek <remigiusz.janeczek@nokia.com>2020-04-21 15:40:52 +0200
committerRemigiusz Janeczek <remigiusz.janeczek@nokia.com>2020-04-23 10:57:59 +0200
commit8838f2044f45451e2c7a86d374c2b3d39714405b (patch)
tree6208e6d33945c1da6748662c9e7a65e61fa42443
parentc61dcc75290d24ec0f0188b32e0ab0a7f15ea420 (diff)
Add script for loading prometheus snapshots, improve grafana
1. Add scripts for loading prometheus snapshots locally 2. Improve Grafana dashboards for performance tests 3. Improve Grafana dashboards management (now there's one configmap for all dashboards and to add new dashboard only needed change is adding new json file in grafana/dashboards directory) 4. Add prometheus job for scraping node metrics and add deployment yaml for node exporter Issue-ID: DCAEGEN2-1576 Signed-off-by: Remigiusz Janeczek <remigiusz.janeczek@nokia.com> Change-Id: I8870fd3291711b5dc09b76a7bf86ac4d13725237
-rwxr-xr-xtools/performance/cloud/cloud-based-performance-test.sh20
-rw-r--r--tools/performance/cloud/grafana-deployment.yaml32
-rw-r--r--tools/performance/cloud/grafana/dashboards-providers/dashboards.yaml34
-rw-r--r--tools/performance/cloud/grafana/dashboards/connections.json (renamed from tools/performance/cloud/grafana/dashboards/connections.yaml)31
-rw-r--r--tools/performance/cloud/grafana/dashboards/k8s-metrics.json (renamed from tools/performance/cloud/grafana/dashboards/k8s-metrics.yaml)27
-rw-r--r--tools/performance/cloud/grafana/dashboards/kafka-and-producers.json747
-rw-r--r--tools/performance/cloud/grafana/dashboards/kafka-and-producers.yaml774
-rw-r--r--tools/performance/cloud/grafana/dashboards/latencies.json448
-rw-r--r--tools/performance/cloud/grafana/dashboards/performance-tests.json (renamed from tools/performance/cloud/grafana/dashboards/performance-tests.yaml)29
-rw-r--r--tools/performance/cloud/grafana/dashboards/processing.json952
-rw-r--r--tools/performance/cloud/grafana/dashboards/processing.yaml1156
-rw-r--r--tools/performance/cloud/node-exporter.yaml39
-rw-r--r--tools/performance/cloud/prometheus/prometheus-config-map.yaml33
-rw-r--r--tools/performance/cloud/snapshot-loader/.gitignore1
-rw-r--r--tools/performance/cloud/snapshot-loader/docker-compose.yml25
-rw-r--r--tools/performance/cloud/snapshot-loader/grafana/dashboards-providers/dashboard-providers.yaml10
-rw-r--r--tools/performance/cloud/snapshot-loader/grafana/datasources/prometheus.yaml11
-rwxr-xr-xtools/performance/cloud/snapshot-loader/load-snapshot.sh70
-rw-r--r--tools/performance/cloud/snapshot-loader/prometheus.yml4
19 files changed, 2358 insertions, 2085 deletions
diff --git a/tools/performance/cloud/cloud-based-performance-test.sh b/tools/performance/cloud/cloud-based-performance-test.sh
index bd699a65..2365cc4d 100755
--- a/tools/performance/cloud/cloud-based-performance-test.sh
+++ b/tools/performance/cloud/cloud-based-performance-test.sh
@@ -29,7 +29,7 @@ PROMETHEUS_CONF_LABEL=prometheus-server-conf
PROMETHEUS_APPS_LABEL=hv-collector-prometheus
GRAFANA_APPS_LABEL=hv-collector-grafana
GRAFANA_DATASOURCE=grafana-datasources
-GRAFANA_DASHBOARD=grafana-dashboards
+GRAFANA_DASHBOARDS=grafana-dashboards
GRAFANA_DASHBOARD_PROVIDERS=grafana-dashboards-providers
ONAP_NAMESPACE=onap
MAXIMUM_BACK_OFF_CHECK_ITERATIONS=30
@@ -60,8 +60,8 @@ function clean() {
echo "Attempting to delete grafana deployment and service"
kubectl delete service,deployments -l app=${GRAFANA_APPS_LABEL} -n ${ONAP_NAMESPACE}
- echo "Attempting to delete grafana ConfigMap (DASHBOARD)"
- kubectl delete configmap -l name=${GRAFANA_DASHBOARD} -n ${ONAP_NAMESPACE}
+ echo "Attempting to delete grafana ConfigMap (DASHBOARDS)"
+ kubectl delete configmap ${GRAFANA_DASHBOARDS} -n ${ONAP_NAMESPACE}
echo "Attempting to delete grafana ConfigMap (GRAFANA_DASHBOARD_PROVIDERS)"
kubectl delete configmap -l name=${GRAFANA_DASHBOARD_PROVIDERS} -n ${ONAP_NAMESPACE}
@@ -203,19 +203,7 @@ function setup_environment() {
kubectl apply -f prometheus-deployment.yaml
echo "Creating ConfigMap for grafana connections dashboard"
- kubectl apply -f grafana/dashboards/connections.yaml
-
- echo "Creating ConfigMap for grafana processing dashboard"
- kubectl apply -f grafana/dashboards/processing.yaml
-
- echo "Creating ConfigMap for grafana grafana-performance-tests dashboard"
- kubectl apply -f grafana/dashboards/performance-tests.yaml
-
- echo "Creating ConfigMap for grafana grafana-kafka-and-producers dashboard"
- kubectl apply -f grafana/dashboards/kafka-and-producers.yaml
-
- echo "Creating ConfigMap for grafana grafana-k8s-metrics dashboard"
- kubectl apply -f grafana/dashboards/k8s-metrics.yaml
+ kubectl create configmap ${GRAFANA_DASHBOARDS} -n ${ONAP_NAMESPACE} --from-file grafana/dashboards/
echo "Creating ConfigMap for grafana datasource"
kubectl apply -f grafana/datasources/datasource.yaml
diff --git a/tools/performance/cloud/grafana-deployment.yaml b/tools/performance/cloud/grafana-deployment.yaml
index 89e9d909..0a7cda23 100644
--- a/tools/performance/cloud/grafana-deployment.yaml
+++ b/tools/performance/cloud/grafana-deployment.yaml
@@ -50,40 +50,20 @@ spec:
volumeMounts:
- name: grafana-datasources
mountPath: /etc/grafana/provisioning/datasources
- - name: grafana-dashboards
+ - name: grafana-dashboards-providers
mountPath: /etc/grafana/provisioning/dashboards
- - name: grafana-connections
- mountPath: /grafana/connections
- - name: grafana-performance-tests
- mountPath: /grafana/performance-tests
- - name: grafana-processing
- mountPath: /grafana/processing
- - name: grafana-kafka-and-producers
- mountPath: /grafana/kafka-and-producers
- - name: grafana-k8s-metrics
- mountPath: /grafana/k8s-metrics
+ - name: grafana-dashboards
+ mountPath: /etc/grafana/dashboards/hv-ves
volumes:
- name: grafana-datasources
configMap:
name: grafana-datasources
+ - name: grafana-dashboards-providers
+ configMap:
+ name: grafana-dashboards-providers
- name: grafana-dashboards
configMap:
name: grafana-dashboards
- - name: grafana-connections
- configMap:
- name: grafana-connections
- - name: grafana-performance-tests
- configMap:
- name: grafana-performance-tests
- - name: grafana-processing
- configMap:
- name: grafana-processing
- - name: grafana-kafka-and-producers
- configMap:
- name: grafana-kafka-and-producers
- - name: grafana-k8s-metrics
- configMap:
- name: grafana-k8s-metrics
---
apiVersion: v1
kind: Service
diff --git a/tools/performance/cloud/grafana/dashboards-providers/dashboards.yaml b/tools/performance/cloud/grafana/dashboards-providers/dashboards.yaml
index 2701d492..24bd3b8b 100644
--- a/tools/performance/cloud/grafana/dashboards-providers/dashboards.yaml
+++ b/tools/performance/cloud/grafana/dashboards-providers/dashboards.yaml
@@ -21,38 +21,14 @@ kind: ConfigMap
metadata:
labels:
name: grafana-dashboards-providers
- name: grafana-dashboards
+ name: grafana-dashboards-providers
namespace: onap
data:
dashboards.yaml: |-
- - name: 'connections'
- org_id: 1
+ - name: 'hv-ves-dashboards'
folder: ''
type: file
+ disableDeletion: false
+ updateIntervalSeconds: 10
options:
- path: /grafana/connections
- - name: 'performance_tests'
- org_id: 1
- folder: ''
- type: file
- options:
- path: /grafana/performance-tests
- - name: 'processing'
- org_id: 1
- folder: ''
- type: file
- options:
- path: /grafana/processing
- - name: 'kafka-and-producers'
- org_id: 1
- folder: ''
- type: file
- options:
- path: /grafana/kafka-and-producers
- - name: 'k8s-metrics'
- org_id: 1
- folder: ''
- type: file
- options:
- path: /grafana/k8s-metrics
-
+ path: /etc/grafana/dashboards/hv-ves
diff --git a/tools/performance/cloud/grafana/dashboards/connections.yaml b/tools/performance/cloud/grafana/dashboards/connections.json
index 909bf998..d273c3c9 100644
--- a/tools/performance/cloud/grafana/dashboards/connections.yaml
+++ b/tools/performance/cloud/grafana/dashboards/connections.json
@@ -1,31 +1,4 @@
-# ============LICENSE_START=======================================================
-# dcaegen2-collectors-veshv
-# ================================================================================
-# Copyright (C) 2019 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: grafana-connections
- namespace: onap
- labels:
- name: grafana-dashboards
-data:
- connections.json: |-
- {
+{
"annotations": {
"list": [
{
@@ -597,4 +570,4 @@ data:
"title": "HV-VES connections",
"uid": "bAy7xlwmk",
"version": 1
- } \ No newline at end of file
+ }
diff --git a/tools/performance/cloud/grafana/dashboards/k8s-metrics.yaml b/tools/performance/cloud/grafana/dashboards/k8s-metrics.json
index c91661bf..676d0a93 100644
--- a/tools/performance/cloud/grafana/dashboards/k8s-metrics.yaml
+++ b/tools/performance/cloud/grafana/dashboards/k8s-metrics.json
@@ -1,30 +1,3 @@
-# ============LICENSE_START=======================================================
-# dcaegen2-collectors-veshv
-# ================================================================================
-# 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: grafana-k8s-metrics
- namespace: onap
- labels:
- name: grafana-dashboards
-data:
- k8s-metrics.json: |-
{
"annotations": {
"list": [
diff --git a/tools/performance/cloud/grafana/dashboards/kafka-and-producers.json b/tools/performance/cloud/grafana/dashboards/kafka-and-producers.json
new file mode 100644
index 00000000..77150538
--- /dev/null
+++ b/tools/performance/cloud/grafana/dashboards/kafka-and-producers.json
@@ -0,0 +1,747 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "id": 4,
+ "links": [],
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "fill": 0,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 11,
+ "w": 8,
+ "x": 0,
+ "y": 0
+ },
+ "hiddenSeries": false,
+ "id": 12,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": []
+ },
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(irate(container_network_transmit_bytes_total{pod=~\".*producer.*\"}[1m]))",
+ "interval": "",
+ "legendFormat": "Total Transmit Producers",
+ "refId": "A"
+ },
+ {
+ "expr": "sum(irate(container_network_transmit_bytes_total{pod=~\".*kafka-.\"}[1m]))",
+ "interval": "",
+ "legendFormat": "Total Transmit Kafka",
+ "refId": "B"
+ },
+ {
+ "expr": "irate(container_network_transmit_bytes_total{pod=~\".*producer.*\"}[1m])",
+ "interval": "",
+ "legendFormat": "{{pod}}",
+ "refId": "C"
+ },
+ {
+ "expr": "irate(container_network_transmit_bytes_total{pod=~\".*kafka-.\"}[1m])",
+ "interval": "",
+ "legendFormat": "{{pod}}",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": "20m",
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Network Usage",
+ "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": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "fill": 0,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 11,
+ "w": 8,
+ "x": 8,
+ "y": 0
+ },
+ "hiddenSeries": false,
+ "id": 22,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": []
+ },
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(rate(container_network_transmit_bytes_total{pod=~\".*kafka-.|.*hv-ves-coll.*|.*producer.*\"}[1m]))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "Total transmit",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": "20m",
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Total network usage (producers + hv-ves + kafka)",
+ "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": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "fill": 0,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 11,
+ "w": 8,
+ "x": 16,
+ "y": 0
+ },
+ "hiddenSeries": false,
+ "id": 2,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": []
+ },
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "irate(container_network_receive_bytes_total{pod=~\"dep-dcae-hv-ves-collector.*\"}[1m])",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "receive",
+ "refId": "A"
+ },
+ {
+ "expr": "irate(container_network_transmit_bytes_total{pod=~\"dep-dcae-hv-ves-collector.*\"}[1m])",
+ "interval": "",
+ "legendFormat": "transmit",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": "20m",
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "HV-VES Network Usage",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": null,
+ "format": "Bps",
+ "label": "",
+ "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": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "fill": 0,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 12,
+ "w": 8,
+ "x": 0,
+ "y": 11
+ },
+ "hiddenSeries": false,
+ "id": 14,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": []
+ },
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum (rate (container_cpu_usage_seconds_total{pod=~\".*producer.*\"}[1m])) by (pod)",
+ "interval": "",
+ "legendFormat": "{{pod}}",
+ "refId": "A"
+ },
+ {
+ "expr": "sum (rate (container_cpu_usage_seconds_total{pod=~\".*router-kafka.*\"}[1m])) by (pod)",
+ "interval": "",
+ "legendFormat": "{{pod}}",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": "20m",
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "CPU usage [cores]",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "none",
+ "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": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "fill": 0,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 12,
+ "w": 8,
+ "x": 8,
+ "y": 11
+ },
+ "hiddenSeries": false,
+ "id": 18,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": []
+ },
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(container_memory_working_set_bytes{image!=\"\", pod=~\".*kafka-.\"}) by (pod)",
+ "interval": "",
+ "legendFormat": "{{pod}}",
+ "refId": "A"
+ },
+ {
+ "expr": "sum(container_memory_working_set_bytes{image!=\"\", pod=~\".*producer.*\"}) by (pod)",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "{{pod}}",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": "20m",
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Memory Usage",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "decbytes",
+ "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
+ }
+ },
+ {
+ "datasource": null,
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 16,
+ "y": 11
+ },
+ "id": 15,
+ "options": {
+ "colorMode": "value",
+ "fieldOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "defaults": {
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [],
+ "values": false
+ },
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto"
+ },
+ "pluginVersion": "6.7.2",
+ "targets": [
+ {
+ "expr": "sum(container_network_transmit_packets_dropped_total{pod=~\".*producer.*\"})",
+ "interval": "",
+ "legendFormat": "Packets dropped",
+ "refId": "A"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Packets Dropped (producers)",
+ "type": "stat"
+ },
+ {
+ "datasource": null,
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 20,
+ "y": 11
+ },
+ "id": 4,
+ "options": {
+ "colorMode": "value",
+ "fieldOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "defaults": {
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [],
+ "values": false
+ },
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto"
+ },
+ "pluginVersion": "6.7.2",
+ "targets": [
+ {
+ "expr": "sum(container_network_transmit_packets_dropped_total{pod=~\".*hv-ves-collector.*\"})",
+ "interval": "",
+ "legendFormat": "Packets dropped",
+ "refId": "A"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Packets Dropped (hv-ves)",
+ "type": "stat"
+ },
+ {
+ "datasource": null,
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 16,
+ "y": 17
+ },
+ "id": 17,
+ "options": {
+ "colorMode": "value",
+ "fieldOptions": {
+ "calcs": [
+ "max"
+ ],
+ "defaults": {
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [],
+ "values": false
+ },
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto"
+ },
+ "pluginVersion": "6.7.2",
+ "targets": [
+ {
+ "expr": "sum(container_network_transmit_bytes_total{pod=~\".*producer.*\"})",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Sent (producers)",
+ "type": "stat"
+ },
+ {
+ "cacheTimeout": null,
+ "datasource": null,
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 20,
+ "y": 17
+ },
+ "id": 16,
+ "links": [],
+ "options": {
+ "colorMode": "value",
+ "fieldOptions": {
+ "calcs": [
+ "max"
+ ],
+ "defaults": {
+ "mappings": [
+ {
+ "id": 0,
+ "op": "=",
+ "text": "N/A",
+ "type": 1,
+ "value": "null"
+ }
+ ],
+ "nullValueMode": "connected",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [],
+ "values": false
+ },
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal"
+ },
+ "pluginVersion": "6.7.2",
+ "targets": [
+ {
+ "expr": "container_network_receive_bytes_total{pod=~\".*hv-ves-collector.*\"}",
+ "interval": "",
+ "legendFormat": "Packets dropped",
+ "refId": "A"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Received (hv-ves)",
+ "type": "stat"
+ }
+ ],
+ "refresh": "",
+ "schemaVersion": 22,
+ "style": "dark",
+ "tags": [],
+ "templating": {
+ "list": []
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "timezone": "",
+ "title": "Kafka and Producers Statistics",
+ "uid": "-28uHcjZk",
+ "variables": {
+ "list": []
+ },
+ "version": 1
+}
diff --git a/tools/performance/cloud/grafana/dashboards/kafka-and-producers.yaml b/tools/performance/cloud/grafana/dashboards/kafka-and-producers.yaml
deleted file mode 100644
index 74cad82d..00000000
--- a/tools/performance/cloud/grafana/dashboards/kafka-and-producers.yaml
+++ /dev/null
@@ -1,774 +0,0 @@
-# ============LICENSE_START=======================================================
-# dcaegen2-collectors-veshv
-# ================================================================================
-# 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: grafana-kafka-and-producers
- namespace: onap
- labels:
- name: grafana-dashboards
-data:
- kafka-and-producers.json: |-
- {
- "annotations": {
- "list": [
- {
- "builtIn": 1,
- "datasource": "-- Grafana --",
- "enable": true,
- "hide": true,
- "iconColor": "rgba(0, 211, 255, 1)",
- "name": "Annotations & Alerts",
- "type": "dashboard"
- }
- ]
- },
- "editable": true,
- "gnetId": null,
- "graphTooltip": 0,
- "id": 4,
- "links": [],
- "panels": [
- {
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": null,
- "fill": 0,
- "fillGradient": 0,
- "gridPos": {
- "h": 11,
- "w": 8,
- "x": 0,
- "y": 0
- },
- "hiddenSeries": false,
- "id": 12,
- "legend": {
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "nullPointMode": "null",
- "options": {
- "dataLinks": []
- },
- "percentage": false,
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_transmit_bytes_total{pod=~\".*producer.*\"}[1m]))",
- "interval": "",
- "legendFormat": "Total Transmit Producers",
- "refId": "A"
- },
- {
- "expr": "sum(irate(container_network_transmit_bytes_total{pod=~\".*kafka-.\"}[1m]))",
- "interval": "",
- "legendFormat": "Total Transmit Kafka",
- "refId": "B"
- },
- {
- "expr": "irate(container_network_transmit_bytes_total{pod=~\".*producer.*\"}[1m])",
- "interval": "",
- "legendFormat": "{{pod}}",
- "refId": "C"
- },
- {
- "expr": "irate(container_network_transmit_bytes_total{pod=~\".*kafka-.\"}[1m])",
- "interval": "",
- "legendFormat": "{{pod}}",
- "refId": "D"
- }
- ],
- "thresholds": [],
- "timeFrom": "20m",
- "timeRegions": [],
- "timeShift": null,
- "title": "Network Usage",
- "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": null,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
- },
- {
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": null,
- "fill": 0,
- "fillGradient": 0,
- "gridPos": {
- "h": 11,
- "w": 8,
- "x": 8,
- "y": 0
- },
- "hiddenSeries": false,
- "id": 22,
- "legend": {
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "nullPointMode": "null",
- "options": {
- "dataLinks": []
- },
- "percentage": false,
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(rate(container_network_transmit_bytes_total{pod=~\".*kafka-.|.*hv-ves-coll.*|.*producer.*\"}[1m]))",
- "hide": false,
- "interval": "",
- "legendFormat": "Total transmit",
- "refId": "B"
- }
- ],
- "thresholds": [],
- "timeFrom": "20m",
- "timeRegions": [],
- "timeShift": null,
- "title": "Total network usage (producers + hv-ves + kafka)",
- "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": null,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
- },
- {
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": null,
- "fill": 0,
- "fillGradient": 0,
- "gridPos": {
- "h": 11,
- "w": 8,
- "x": 16,
- "y": 0
- },
- "hiddenSeries": false,
- "id": 2,
- "legend": {
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "nullPointMode": "null",
- "options": {
- "dataLinks": []
- },
- "percentage": false,
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "irate(container_network_receive_bytes_total{pod=~\"dep-dcae-hv-ves-collector.*\"}[1m])",
- "hide": false,
- "interval": "",
- "legendFormat": "receive",
- "refId": "A"
- },
- {
- "expr": "irate(container_network_transmit_bytes_total{pod=~\"dep-dcae-hv-ves-collector.*\"}[1m])",
- "interval": "",
- "legendFormat": "transmit",
- "refId": "B"
- }
- ],
- "thresholds": [],
- "timeFrom": "20m",
- "timeRegions": [],
- "timeShift": null,
- "title": "HV-VES Network Usage",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "decimals": null,
- "format": "Bps",
- "label": "",
- "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": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": null,
- "fill": 0,
- "fillGradient": 0,
- "gridPos": {
- "h": 12,
- "w": 8,
- "x": 0,
- "y": 11
- },
- "hiddenSeries": false,
- "id": 14,
- "legend": {
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "nullPointMode": "null",
- "options": {
- "dataLinks": []
- },
- "percentage": false,
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum (rate (container_cpu_usage_seconds_total{pod=~\".*producer.*\"}[1m])) by (pod)",
- "interval": "",
- "legendFormat": "{{pod}}",
- "refId": "A"
- },
- {
- "expr": "sum (rate (container_cpu_usage_seconds_total{pod=~\".*router-kafka.*\"}[1m])) by (pod)",
- "interval": "",
- "legendFormat": "{{pod}}",
- "refId": "B"
- }
- ],
- "thresholds": [],
- "timeFrom": "20m",
- "timeRegions": [],
- "timeShift": null,
- "title": "CPU usage",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "format": "percent",
- "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": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": null,
- "fill": 0,
- "fillGradient": 0,
- "gridPos": {
- "h": 12,
- "w": 8,
- "x": 8,
- "y": 11
- },
- "hiddenSeries": false,
- "id": 18,
- "legend": {
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "nullPointMode": "null",
- "options": {
- "dataLinks": []
- },
- "percentage": false,
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(container_memory_working_set_bytes{image!=\"\", pod=~\".*kafka-.\"}) by (pod)",
- "interval": "",
- "legendFormat": "{{pod}}",
- "refId": "A"
- },
- {
- "expr": "sum (rate (container_cpu_usage_seconds_total{pod=~\".*router-kafka.*\"}[1m])) by (pod)",
- "hide": true,
- "interval": "",
- "legendFormat": "{{pod}}",
- "refId": "B"
- }
- ],
- "thresholds": [],
- "timeFrom": "20m",
- "timeRegions": [],
- "timeShift": null,
- "title": "Memory Usage",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "format": "decbytes",
- "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
- }
- },
- {
- "datasource": null,
- "gridPos": {
- "h": 6,
- "w": 4,
- "x": 16,
- "y": 11
- },
- "id": 15,
- "options": {
- "colorMode": "value",
- "fieldOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "defaults": {
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": [],
- "values": false
- },
- "graphMode": "area",
- "justifyMode": "auto",
- "orientation": "auto"
- },
- "pluginVersion": "6.7.2",
- "targets": [
- {
- "expr": "sum(container_network_transmit_packets_dropped_total{pod=~\".*producer.*\"})",
- "interval": "",
- "legendFormat": "Packets dropped",
- "refId": "A"
- }
- ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Packets Dropped (producers)",
- "type": "stat"
- },
- {
- "datasource": null,
- "gridPos": {
- "h": 6,
- "w": 4,
- "x": 20,
- "y": 11
- },
- "id": 4,
- "options": {
- "colorMode": "value",
- "fieldOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "defaults": {
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": [],
- "values": false
- },
- "graphMode": "area",
- "justifyMode": "auto",
- "orientation": "auto"
- },
- "pluginVersion": "6.7.2",
- "targets": [
- {
- "expr": "sum(container_network_transmit_packets_dropped_total{pod=~\".*hv-ves-collector.*\"})",
- "interval": "",
- "legendFormat": "Packets dropped",
- "refId": "A"
- }
- ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Packets Dropped (hv-ves)",
- "type": "stat"
- },
- {
- "datasource": null,
- "gridPos": {
- "h": 6,
- "w": 4,
- "x": 16,
- "y": 17
- },
- "id": 17,
- "options": {
- "colorMode": "value",
- "fieldOptions": {
- "calcs": [
- "max"
- ],
- "defaults": {
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- }
- ]
- },
- "unit": "bytes"
- },
- "overrides": [],
- "values": false
- },
- "graphMode": "none",
- "justifyMode": "auto",
- "orientation": "auto"
- },
- "pluginVersion": "6.7.2",
- "targets": [
- {
- "expr": "sum(container_network_transmit_bytes_total{pod=~\".*producer.*\"})",
- "interval": "",
- "legendFormat": "",
- "refId": "A"
- }
- ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Sent (producers)",
- "type": "stat"
- },
- {
- "cacheTimeout": null,
- "datasource": null,
- "gridPos": {
- "h": 6,
- "w": 4,
- "x": 20,
- "y": 17
- },
- "id": 16,
- "links": [],
- "options": {
- "colorMode": "value",
- "fieldOptions": {
- "calcs": [
- "max"
- ],
- "defaults": {
- "mappings": [
- {
- "id": 0,
- "op": "=",
- "text": "N/A",
- "type": 1,
- "value": "null"
- }
- ],
- "nullValueMode": "connected",
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- }
- ]
- },
- "unit": "bytes"
- },
- "overrides": [],
- "values": false
- },
- "graphMode": "none",
- "justifyMode": "auto",
- "orientation": "horizontal"
- },
- "pluginVersion": "6.7.2",
- "targets": [
- {
- "expr": "container_network_receive_bytes_total{pod=~\".*hv-ves-collector.*\"}",
- "interval": "",
- "legendFormat": "Packets dropped",
- "refId": "A"
- }
- ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Received (hv-ves)",
- "type": "stat"
- }
- ],
- "refresh": "5s",
- "schemaVersion": 22,
- "style": "dark",
- "tags": [],
- "templating": {
- "list": []
- },
- "time": {
- "from": "now-1h",
- "to": "now"
- },
- "timepicker": {
- "refresh_intervals": [
- "5s",
- "10s",
- "30s",
- "1m",
- "5m",
- "15m",
- "30m",
- "1h",
- "2h",
- "1d"
- ]
- },
- "timezone": "",
- "title": "Kafka and Producers Statistics",
- "uid": "-28uHcjZk",
- "variables": {
- "list": []
- },
- "version": 1
- }
diff --git a/tools/performance/cloud/grafana/dashboards/latencies.json b/tools/performance/cloud/grafana/dashboards/latencies.json
new file mode 100644
index 00000000..43ec7f4f
--- /dev/null
+++ b/tools/performance/cloud/grafana/dashboards/latencies.json
@@ -0,0 +1,448 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "id": 6,
+ "links": [],
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "fill": 0,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 11,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "hiddenSeries": false,
+ "id": 2,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": []
+ },
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(hvves_messages_latency_seconds_sum[1h])/rate(hvves_messages_latency_seconds_count[1h]) - rate(hvves_messages_processing_time_seconds_sum[1h])/rate(hvves_messages_processing_time_seconds_count[1h])",
+ "interval": "",
+ "legendFormat": "average",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": "20m",
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Producer to HV-VES input latency",
+ "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
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "fill": 0,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 11,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "hiddenSeries": false,
+ "id": 7,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": []
+ },
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(hvves_messages_latency_seconds_sum[1h])/rate(hvves_messages_latency_seconds_count[1h]) - rate(hvves_messages_processing_time_seconds_sum[1h])/rate(hvves_messages_processing_time_seconds_count[1h]) + rate(hvves_messages_processing_time_without_routing_seconds_sum[1h])/rate(hvves_messages_processing_time_without_routing_seconds_count[1h])",
+ "interval": "",
+ "legendFormat": "average",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": "20m",
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Producer to HV-VES output (without sending to Kafka) latency",
+ "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
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "fill": 0,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 12,
+ "w": 12,
+ "x": 0,
+ "y": 11
+ },
+ "hiddenSeries": false,
+ "id": 4,
+ "interval": "",
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "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": [
+ {
+ "expr": "rate(hvves_messages_latency_seconds_sum[1h])/rate(hvves_messages_latency_seconds_count[1h])",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "average",
+ "refId": "A"
+ },
+ {
+ "expr": "histogram_quantile(0.90, sum( rate(hvves_messages_latency_seconds_bucket[1h]) )by(le) )",
+ "legendFormat": "90th percentile",
+ "refId": "B"
+ },
+ {
+ "expr": "histogram_quantile(0.95, sum( rate(hvves_messages_latency_seconds_bucket[1h]) )by(le) )",
+ "legendFormat": "95th percentile",
+ "refId": "C"
+ },
+ {
+ "expr": "histogram_quantile(0.99, sum( rate(hvves_messages_latency_seconds_bucket[1h]) )by(le) )",
+ "legendFormat": "99th precentile",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": "20m",
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Producer to HV-VES output (with sending to Kafka) latency",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "s",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "fill": 0,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 12,
+ "w": 12,
+ "x": 12,
+ "y": 11
+ },
+ "hiddenSeries": false,
+ "id": 6,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": []
+ },
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(hvves_messages_latency_seconds_sum[1h])/rate(hvves_messages_latency_seconds_count[1h]) - rate(hvves_messages_processing_time_seconds_sum[1h])/rate(hvves_messages_processing_time_seconds_count[1h])",
+ "interval": "",
+ "legendFormat": "Producer to HV-VES input",
+ "refId": "A"
+ },
+ {
+ "expr": "rate(hvves_messages_latency_seconds_sum[1h])/rate(hvves_messages_latency_seconds_count[1h]) - rate(hvves_messages_processing_time_seconds_sum[1h])/rate(hvves_messages_processing_time_seconds_count[1h]) + rate(hvves_messages_processing_time_without_routing_seconds_sum[1h])/rate(hvves_messages_processing_time_without_routing_seconds_count[1h])",
+ "interval": "",
+ "legendFormat": "Producer to HV-VES output (without sending to Kafka)",
+ "refId": "B"
+ },
+ {
+ "expr": "rate(hvves_messages_latency_seconds_sum[1h])/rate(hvves_messages_latency_seconds_count[1h])",
+ "interval": "",
+ "legendFormat": "Producer to HV-VES output (with sending to Kafka)",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": "20m",
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Latencies",
+ "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
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ }
+ ],
+ "refresh": "5s",
+ "schemaVersion": 22,
+ "style": "dark",
+ "tags": [],
+ "templating": {
+ "list": []
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "timezone": "",
+ "title": "Latencies",
+ "uid": "k22_V1qZk",
+ "variables": {
+ "list": []
+ },
+ "version": 0
+}
diff --git a/tools/performance/cloud/grafana/dashboards/performance-tests.yaml b/tools/performance/cloud/grafana/dashboards/performance-tests.json
index 97ca71b1..d5a9e2ae 100644
--- a/tools/performance/cloud/grafana/dashboards/performance-tests.yaml
+++ b/tools/performance/cloud/grafana/dashboards/performance-tests.json
@@ -1,30 +1,3 @@
-# ============LICENSE_START=======================================================
-# dcaegen2-collectors-veshv
-# ================================================================================
-# Copyright (C) 2019 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: grafana-performance-tests
- namespace: onap
- labels:
- name: grafana-dashboards
-data:
- performance-tests.json: |-
{
"annotations": {
"list": [
@@ -506,4 +479,4 @@ data:
"title": "Performance tests",
"uid": "ErPSMaIZk",
"version": 1
- } \ No newline at end of file
+ }
diff --git a/tools/performance/cloud/grafana/dashboards/processing.json b/tools/performance/cloud/grafana/dashboards/processing.json
new file mode 100644
index 00000000..7b606e44
--- /dev/null
+++ b/tools/performance/cloud/grafana/dashboards/processing.json
@@ -0,0 +1,952 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "Prometheus",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "id": 3,
+ "links": [],
+ "panels": [
+ {
+ "cacheTimeout": null,
+ "datasource": null,
+ "gridPos": {
+ "h": 4,
+ "w": 9,
+ "x": 0,
+ "y": 0
+ },
+ "id": 25,
+ "links": [],
+ "options": {
+ "colorMode": "value",
+ "fieldOptions": {
+ "calcs": [
+ "max"
+ ],
+ "defaults": {
+ "mappings": [],
+ "nullValueMode": "connected",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [],
+ "values": false
+ },
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "auto"
+ },
+ "pluginVersion": "6.7.2",
+ "targets": [
+ {
+ "expr": "sum(hvves_messages_received_total)",
+ "interval": "",
+ "legendFormat": "Received by HV-VES",
+ "refId": "A"
+ },
+ {
+ "expr": "sum(hvves_messages_dropped_total)",
+ "interval": "",
+ "legendFormat": "Dropped in HV-VES",
+ "refId": "B"
+ },
+ {
+ "expr": "sum(hvves_messages_sent_total)",
+ "interval": "",
+ "legendFormat": "Sent by HV-VES",
+ "refId": "C"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Messages",
+ "type": "stat"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "fill": 0,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 13,
+ "w": 7,
+ "x": 9,
+ "y": 0
+ },
+ "hiddenSeries": false,
+ "id": 9,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": 350,
+ "total": false,
+ "values": false
+ },
+ "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": [
+ {
+ "expr": "rate(hvves_messages_processing_time_seconds_sum[1h])/rate(hvves_messages_processing_time_seconds_count[1h])",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "average",
+ "refId": "A"
+ },
+ {
+ "expr": "histogram_quantile(0.90, sum( rate(hvves_messages_processing_time_seconds_bucket[1h]) )by(le) )",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "90th percentile",
+ "refId": "B"
+ },
+ {
+ "expr": "histogram_quantile(0.95, sum( rate(hvves_messages_processing_time_seconds_bucket[1h]) )by(le) )",
+ "legendFormat": "95th percentile",
+ "refId": "C"
+ },
+ {
+ "expr": "histogram_quantile(0.99, sum( rate(hvves_messages_processing_time_seconds_bucket[1h]) )by(le) )",
+ "legendFormat": "99th percentile",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": "20m",
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Processing time (HV-VES input to HV-VES output with sending to Kafka)",
+ "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
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "fill": 0,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 13,
+ "w": 8,
+ "x": 16,
+ "y": 0
+ },
+ "hiddenSeries": false,
+ "id": 23,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": 350,
+ "total": false,
+ "values": false
+ },
+ "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": [
+ {
+ "expr": "rate(hvves_messages_processing_time_without_routing_seconds_sum[1h])/rate(hvves_messages_processing_time_without_routing_seconds_count[1h])",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "average",
+ "refId": "A"
+ },
+ {
+ "expr": "histogram_quantile(0.90, sum( rate(hvves_messages_processing_time_without_routing_seconds_bucket[1h]) )by(le) )",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "90th percentile",
+ "refId": "B"
+ },
+ {
+ "expr": "histogram_quantile(0.95, sum( rate(hvves_messages_processing_time_without_routing_seconds_bucket[1h]) )by(le) )",
+ "legendFormat": "95th percentile",
+ "refId": "C"
+ },
+ {
+ "expr": "histogram_quantile(0.99, sum( rate(hvves_messages_processing_time_without_routing_seconds_bucket[1h]) )by(le) )",
+ "legendFormat": "99th percentile",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": "20m",
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Processing time (HV-VES input to HV-VES output without sending to Kafka)",
+ "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
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "fill": 0,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 9,
+ "w": 9,
+ "x": 0,
+ "y": 4
+ },
+ "hiddenSeries": false,
+ "id": 8,
+ "interval": "",
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "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": [
+ {
+ "expr": "rate(hvves_messages_received_total[1m])",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Receive rate",
+ "refId": "A"
+ },
+ {
+ "expr": "rate(hvves_messages_sent_total[1m])",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Send rate",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": "20m",
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Messages rate [msg/s]",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": null,
+ "format": "none",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a"
+ ],
+ "datasource": null,
+ "format": "decbytes",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 4,
+ "x": 0,
+ "y": 13
+ },
+ "id": 20,
+ "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": "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": [
+ {
+ "expr": "sum(hvves_messages_received_payload_bytes_total)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "thresholds": "",
+ "title": "Total received payload bytes",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "Prometheus",
+ "fill": 1,
+ "fillGradient": 3,
+ "gridPos": {
+ "h": 10,
+ "w": 10,
+ "x": 4,
+ "y": 13
+ },
+ "hiddenSeries": false,
+ "id": 16,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": true,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": 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": [
+ {
+ "expr": "sum(process_cpu_usage) by (kubernetes_pod_name)*100",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "CPU usage",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": "20m",
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "HV-VES process cpu usage [% of all cores]",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "percent",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "Prometheus",
+ "fill": 0,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 10,
+ "w": 10,
+ "x": 14,
+ "y": 13
+ },
+ "hiddenSeries": false,
+ "id": 22,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": true,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "show": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": []
+ },
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(jvm_memory_used_bytes)/1024/1024/1024\n",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "Memory used",
+ "refId": "A"
+ },
+ {
+ "expr": "sum(jvm_memory_committed_bytes)/1024/1024/1024",
+ "instant": false,
+ "legendFormat": "Memory commited",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Memory usage of HV-VES",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "gbytes",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a"
+ ],
+ "datasource": "Prometheus",
+ "format": "decbytes",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 4,
+ "x": 0,
+ "y": 15
+ },
+ "id": 18,
+ "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": "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": [
+ {
+ "expr": "sum(hvves_messages_received_payload_bytes_total)/sum(hvves_messages_received_total)",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "thresholds": "",
+ "title": "Average received payload bytes",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "0",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "columns": [
+ {
+ "text": "Current",
+ "value": "current"
+ }
+ ],
+ "datasource": null,
+ "fontSize": "100%",
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 0,
+ "y": 17
+ },
+ "id": 12,
+ "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": "date"
+ },
+ {
+ "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": 2,
+ "pattern": "/.*/",
+ "thresholds": [],
+ "type": "number",
+ "unit": "short"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "sum(hvves_messages_sent_topic_total) by (topic, value)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{topic}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Messages sent per topic",
+ "transform": "timeseries_aggregations",
+ "type": "table"
+ },
+ {
+ "columns": [
+ {
+ "text": "Current",
+ "value": "current"
+ }
+ ],
+ "datasource": null,
+ "fontSize": "100%",
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 0,
+ "y": 20
+ },
+ "id": 11,
+ "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": "date"
+ },
+ {
+ "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": 2,
+ "pattern": "/.*/",
+ "thresholds": [],
+ "type": "number",
+ "unit": "short"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "sum(hvves_messages_received_total) by (kubernetes_pod_name, value)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{kubernetes_pod_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Messages processed per pod",
+ "transform": "timeseries_aggregations",
+ "type": "table"
+ }
+ ],
+ "refresh": "5s",
+ "schemaVersion": 22,
+ "style": "dark",
+ "tags": [],
+ "templating": {
+ "list": []
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "1s",
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "HV-VES processing",
+ "uid": "V94Kjlwmz",
+ "variables": {
+ "list": []
+ },
+ "version": 1
+}
diff --git a/tools/performance/cloud/grafana/dashboards/processing.yaml b/tools/performance/cloud/grafana/dashboards/processing.yaml
deleted file mode 100644
index 27abba13..00000000
--- a/tools/performance/cloud/grafana/dashboards/processing.yaml
+++ /dev/null
@@ -1,1156 +0,0 @@
-# ============LICENSE_START=======================================================
-# dcaegen2-collectors-veshv
-# ================================================================================
-# Copyright (C) 2019 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: grafana-processing
- namespace: onap
- labels:
- name: grafana-dashboards
-data:
- processing.json: |-
- {
- "annotations": {
- "list": [
- {
- "builtIn": 1,
- "datasource": "Prometheus",
- "enable": true,
- "hide": true,
- "iconColor": "rgba(0, 211, 255, 1)",
- "name": "Annotations & Alerts",
- "type": "dashboard"
- }
- ]
- },
- "editable": true,
- "gnetId": null,
- "graphTooltip": 0,
- "links": [],
- "panels": [
- {
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "#299c46",
- "rgba(237, 129, 40, 0.89)",
- "#d44a3a"
- ],
- "datasource": "Prometheus",
- "format": "none",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
- },
- "gridPos": {
- "h": 3,
- "w": 3,
- "x": 0,
- "y": 0
- },
- "id": 2,
- "interval": null,
- "links": [],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
- },
- {
- "name": "range to text",
- "value": 2
- }
- ],
- "maxDataPoints": 100,
- "nullPointMode": "connected",
- "nullText": null,
- "options": {},
- "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": [
- {
- "expr": "sum(hvves_messages_received_total) by (value)",
- "format": "time_series",
- "instant": true,
- "intervalFactor": 1,
- "refId": "A"
- }
- ],
- "thresholds": "",
- "title": "Messages received",
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "avg"
- },
- {
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "#299c46",
- "rgba(237, 129, 40, 0.89)",
- "#d44a3a"
- ],
- "datasource": null,
- "format": "none",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
- },
- "gridPos": {
- "h": 3,
- "w": 3,
- "x": 3,
- "y": 0
- },
- "id": 4,
- "interval": null,
- "links": [],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
- },
- {
- "name": "range to text",
- "value": 2
- }
- ],
- "maxDataPoints": 100,
- "nullPointMode": "connected",
- "nullText": null,
- "options": {},
- "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": [
- {
- "expr": "sum(hvves_messages_dropped_total)",
- "format": "time_series",
- "instant": true,
- "intervalFactor": 1,
- "refId": "A"
- }
- ],
- "thresholds": "",
- "title": "Messages dropped",
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "avg"
- },
- {
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "#299c46",
- "rgba(237, 129, 40, 0.89)",
- "#d44a3a"
- ],
- "datasource": null,
- "format": "none",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
- },
- "gridPos": {
- "h": 3,
- "w": 3,
- "x": 6,
- "y": 0
- },
- "id": 6,
- "interval": null,
- "links": [],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
- },
- {
- "name": "range to text",
- "value": 2
- }
- ],
- "maxDataPoints": 100,
- "nullPointMode": "connected",
- "nullText": null,
- "options": {},
- "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": [
- {
- "expr": "sum(hvves_messages_sent_total)",
- "format": "time_series",
- "instant": true,
- "intervalFactor": 1,
- "refId": "A"
- }
- ],
- "thresholds": "",
- "title": "Messages Sent",
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "avg"
- },
- {
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": null,
- "fill": 0,
- "fillGradient": 0,
- "gridPos": {
- "h": 12,
- "w": 7,
- "x": 9,
- "y": 0
- },
- "id": 9,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": 350,
- "total": false,
- "values": false
- },
- "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": [
- {
- "expr": "rate(hvves_messages_processing_time_seconds_sum[1h])/rate(hvves_messages_processing_time_seconds_count[1h])",
- "format": "time_series",
- "hide": false,
- "instant": false,
- "interval": "",
- "intervalFactor": 1,
- "legendFormat": "average",
- "refId": "A"
- },
- {
- "expr": "histogram_quantile(0.90, sum( rate(hvves_messages_processing_time_seconds_bucket[1h]) )by(le) )",
- "format": "time_series",
- "hide": false,
- "instant": false,
- "intervalFactor": 1,
- "legendFormat": "90th percentile",
- "refId": "B"
- },
- {
- "expr": "histogram_quantile(0.95, sum( rate(hvves_messages_processing_time_seconds_bucket[1h]) )by(le) )",
- "legendFormat": "95th percentile",
- "refId": "C"
- },
- {
- "expr": "histogram_quantile(0.99, sum( rate(hvves_messages_processing_time_seconds_bucket[1h]) )by(le) )",
- "legendFormat": "99th percentile",
- "refId": "D"
- }
- ],
- "thresholds": [],
- "timeFrom": "20m",
- "timeRegions": [],
- "timeShift": null,
- "title": "Message processing time in HV-VES",
- "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
- }
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
- },
- {
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": null,
- "fill": 0,
- "fillGradient": 0,
- "gridPos": {
- "h": 12,
- "w": 8,
- "x": 16,
- "y": 0
- },
- "id": 23,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": 350,
- "total": false,
- "values": false
- },
- "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": [
- {
- "expr": "rate(hvves_messages_processing_time_without_routing_seconds_sum[1h])/rate(hvves_messages_processing_time_without_routing_seconds_count[1h])",
- "format": "time_series",
- "hide": false,
- "instant": false,
- "interval": "",
- "intervalFactor": 1,
- "legendFormat": "average",
- "refId": "A"
- },
- {
- "expr": "histogram_quantile(0.90, sum( rate(hvves_messages_processing_time_without_routing_seconds_bucket[1h]) )by(le) )",
- "format": "time_series",
- "hide": false,
- "instant": false,
- "intervalFactor": 1,
- "legendFormat": "90th percentile",
- "refId": "B"
- },
- {
- "expr": "histogram_quantile(0.95, sum( rate(hvves_messages_processing_time_without_routing_seconds_bucket[1h]) )by(le) )",
- "legendFormat": "95th percentile",
- "refId": "C"
- },
- {
- "expr": "histogram_quantile(0.99, sum( rate(hvves_messages_processing_time_without_routing_seconds_bucket[1h]) )by(le) )",
- "legendFormat": "99th percentile",
- "refId": "D"
- }
- ],
- "thresholds": [],
- "timeFrom": "20m",
- "timeRegions": [],
- "timeShift": null,
- "title": "Message processing time in HV-VES without routing",
- "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
- }
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
- },
- {
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": null,
- "fill": 0,
- "fillGradient": 0,
- "gridPos": {
- "h": 9,
- "w": 9,
- "x": 0,
- "y": 3
- },
- "id": 8,
- "interval": "",
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "show": true,
- "total": false,
- "values": false
- },
- "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": [
- {
- "expr": "rate(hvves_messages_latency_seconds_sum[1h])/rate(hvves_messages_latency_seconds_count[1h])",
- "format": "time_series",
- "hide": false,
- "instant": false,
- "intervalFactor": 1,
- "legendFormat": "average",
- "refId": "A"
- },
- {
- "expr": "histogram_quantile(0.90, sum( rate(hvves_messages_latency_seconds_bucket[1h]) )by(le) )",
- "legendFormat": "90th percentile",
- "refId": "B"
- },
- {
- "expr": "histogram_quantile(0.95, sum( rate(hvves_messages_latency_seconds_bucket[1h]) )by(le) )",
- "legendFormat": "95th percentile",
- "refId": "C"
- },
- {
- "expr": "histogram_quantile(0.99, sum( rate(hvves_messages_latency_seconds_bucket[1h]) )by(le) )",
- "legendFormat": "99th precentile",
- "refId": "D"
- }
- ],
- "thresholds": [],
- "timeFrom": "20m",
- "timeRegions": [],
- "timeShift": null,
- "title": "Message travel time from Producer to HV-VES output",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "decimals": 2,
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": "0",
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
- },
- {
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "#299c46",
- "rgba(237, 129, 40, 0.89)",
- "#d44a3a"
- ],
- "datasource": null,
- "format": "decbytes",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
- },
- "gridPos": {
- "h": 2,
- "w": 4,
- "x": 0,
- "y": 12
- },
- "id": 20,
- "interval": null,
- "links": [],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
- },
- {
- "name": "range to text",
- "value": 2
- }
- ],
- "maxDataPoints": 100,
- "nullPointMode": "connected",
- "nullText": null,
- "options": {},
- "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": [
- {
- "expr": "sum(hvves_messages_received_payload_bytes_total)",
- "format": "time_series",
- "intervalFactor": 1,
- "refId": "A"
- }
- ],
- "thresholds": "",
- "title": "Total received payload bytes",
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "current"
- },
- {
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "Prometheus",
- "fill": 1,
- "fillGradient": 3,
- "gridPos": {
- "h": 10,
- "w": 10,
- "x": 4,
- "y": 12
- },
- "id": 16,
- "legend": {
- "alignAsTable": true,
- "avg": true,
- "current": true,
- "hideEmpty": false,
- "hideZero": false,
- "max": true,
- "min": true,
- "rightSide": 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": [
- {
- "expr": "sum(process_cpu_usage) by (kubernetes_pod_name)*100",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "CPU usage",
- "refId": "A"
- }
- ],
- "thresholds": [],
- "timeFrom": "20m",
- "timeRegions": [],
- "timeShift": null,
- "title": "HV-VES process cpu usage",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "decimals": 2,
- "format": "percent",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": "0",
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
- },
- {
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "Prometheus",
- "fill": 0,
- "fillGradient": 0,
- "gridPos": {
- "h": 10,
- "w": 10,
- "x": 14,
- "y": 12
- },
- "id": 22,
- "legend": {
- "alignAsTable": true,
- "avg": true,
- "current": true,
- "hideEmpty": false,
- "hideZero": false,
- "max": true,
- "min": true,
- "show": true,
- "total": false,
- "values": true
- },
- "lines": true,
- "linewidth": 1,
- "links": [],
- "nullPointMode": "null",
- "options": {
- "dataLinks": []
- },
- "percentage": false,
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(jvm_memory_used_bytes)/1024/1024/1024\n",
- "format": "time_series",
- "hide": false,
- "instant": false,
- "intervalFactor": 1,
- "legendFormat": "Memory used",
- "refId": "A"
- },
- {
- "expr": "sum(jvm_memory_committed_bytes)/1024/1024/1024",
- "instant": false,
- "legendFormat": "Memory commited",
- "refId": "B"
- }
- ],
- "thresholds": [],
- "timeFrom": null,
- "timeRegions": [],
- "timeShift": null,
- "title": "Memory usage of HV-VES",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "format": "gbytes",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": "0",
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
- },
- {
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "#299c46",
- "rgba(237, 129, 40, 0.89)",
- "#d44a3a"
- ],
- "datasource": "Prometheus",
- "format": "decbytes",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
- },
- "gridPos": {
- "h": 2,
- "w": 4,
- "x": 0,
- "y": 14
- },
- "id": 18,
- "interval": null,
- "links": [],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
- },
- {
- "name": "range to text",
- "value": 2
- }
- ],
- "maxDataPoints": 100,
- "nullPointMode": "connected",
- "nullText": null,
- "options": {},
- "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": [
- {
- "expr": "sum(hvves_messages_received_payload_bytes_total)/sum(hvves_messages_received_total)",
- "format": "time_series",
- "hide": false,
- "instant": false,
- "intervalFactor": 1,
- "refId": "A"
- }
- ],
- "thresholds": "",
- "title": "Average received payload bytes",
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "0",
- "value": "null"
- }
- ],
- "valueName": "current"
- },
- {
- "columns": [
- {
- "text": "Current",
- "value": "current"
- }
- ],
- "datasource": null,
- "fontSize": "100%",
- "gridPos": {
- "h": 3,
- "w": 4,
- "x": 0,
- "y": 16
- },
- "id": 12,
- "links": [],
- "options": {},
- "pageSize": null,
- "scroll": true,
- "showHeader": true,
- "sort": {
- "col": 0,
- "desc": true
- },
- "styles": [
- {
- "alias": "Time",
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "pattern": "Time",
- "type": "date"
- },
- {
- "alias": "",
- "colorMode": null,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "rgba(50, 172, 45, 0.97)"
- ],
- "decimals": 2,
- "pattern": "/.*/",
- "thresholds": [],
- "type": "number",
- "unit": "short"
- }
- ],
- "targets": [
- {
- "expr": "sum(hvves_messages_sent_topic_total) by (topic, value)",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{topic}}",
- "refId": "A"
- }
- ],
- "title": "Messages sent per topic",
- "transform": "timeseries_aggregations",
- "type": "table"
- },
- {
- "columns": [
- {
- "text": "Current",
- "value": "current"
- }
- ],
- "datasource": null,
- "fontSize": "100%",
- "gridPos": {
- "h": 3,
- "w": 4,
- "x": 0,
- "y": 19
- },
- "id": 11,
- "links": [],
- "options": {},
- "pageSize": null,
- "scroll": true,
- "showHeader": true,
- "sort": {
- "col": 0,
- "desc": true
- },
- "styles": [
- {
- "alias": "Time",
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "pattern": "Time",
- "type": "date"
- },
- {
- "alias": "",
- "colorMode": null,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "rgba(50, 172, 45, 0.97)"
- ],
- "decimals": 2,
- "pattern": "/.*/",
- "thresholds": [],
- "type": "number",
- "unit": "short"
- }
- ],
- "targets": [
- {
- "expr": "sum(hvves_messages_received_total) by (kubernetes_pod_name, value)",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{kubernetes_pod_name}}",
- "refId": "A"
- }
- ],
- "title": "Messages processed per pod",
- "transform": "timeseries_aggregations",
- "type": "table"
- }
- ],
- "refresh": "5s",
- "schemaVersion": 20,
- "style": "dark",
- "tags": [],
- "templating": {
- "list": []
- },
- "time": {
- "from": "now-1h",
- "to": "now"
- },
- "timepicker": {
- "refresh_intervals": [
- "1s",
- "5s",
- "10s",
- "30s",
- "1m",
- "5m",
- "15m",
- "30m",
- "1h",
- "2h",
- "1d"
- ],
- "time_options": [
- "5m",
- "15m",
- "1h",
- "6h",
- "12h",
- "24h",
- "2d",
- "7d",
- "30d"
- ]
- },
- "timezone": "",
- "title": "HV-VES processing",
- "uid": "V94Kjlwmz",
- "version": 1
- } \ No newline at end of file
diff --git a/tools/performance/cloud/node-exporter.yaml b/tools/performance/cloud/node-exporter.yaml
new file mode 100644
index 00000000..26fa7847
--- /dev/null
+++ b/tools/performance/cloud/node-exporter.yaml
@@ -0,0 +1,39 @@
+apiVersion: v1
+kind: Service
+metadata:
+ annotations:
+ prometheus.io/scrape: 'true'
+ labels:
+ app: node-exporter
+ name: node-exporter
+ name: node-exporter
+spec:
+ clusterIP: None
+ ports:
+ - name: scrape
+ port: 9100
+ protocol: TCP
+ selector:
+ app: node-exporter
+ type: ClusterIP
+---
+apiVersion: extensions/v1beta1
+kind: DaemonSet
+metadata:
+ name: node-exporter
+spec:
+ template:
+ metadata:
+ labels:
+ app: node-exporter
+ name: node-exporter
+ spec:
+ containers:
+ - image: prom/node-exporter
+ name: node-exporter
+ ports:
+ - containerPort: 9100
+ hostPort: 9100
+ name: scrape
+ hostNetwork: true
+ hostPID: true
diff --git a/tools/performance/cloud/prometheus/prometheus-config-map.yaml b/tools/performance/cloud/prometheus/prometheus-config-map.yaml
index 9238b255..58e8ac54 100644
--- a/tools/performance/cloud/prometheus/prometheus-config-map.yaml
+++ b/tools/performance/cloud/prometheus/prometheus-config-map.yaml
@@ -71,3 +71,36 @@ data:
target_label: __metrics_path__
replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor
+ - job_name: 'kubernetes-service-endpoints'
+
+ kubernetes_sd_configs:
+ - role: endpoints
+
+ relabel_configs:
+ - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape]
+ action: keep
+ regex: true
+ - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]
+ action: replace
+ target_label: __scheme__
+ regex: (https?)
+ - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]
+ action: replace
+ target_label: __metrics_path__
+ regex: (.+)
+ - source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]
+ action: replace
+ target_label: __address__
+ regex: ([^:]+)(?::\d+)?;(\d+)
+ replacement: $1:$2
+ - action: labelmap
+ regex: __meta_kubernetes_service_label_(.+)
+ - source_labels: [__meta_kubernetes_namespace]
+ action: replace
+ target_label: kubernetes_namespace
+ - source_labels: [__meta_kubernetes_service_name]
+ action: replace
+ target_label: kubernetes_name
+ - source_labels: [__meta_kubernetes_endpoint_node_name]
+ action: replace
+ target_label: node_name
diff --git a/tools/performance/cloud/snapshot-loader/.gitignore b/tools/performance/cloud/snapshot-loader/.gitignore
new file mode 100644
index 00000000..9522d705
--- /dev/null
+++ b/tools/performance/cloud/snapshot-loader/.gitignore
@@ -0,0 +1 @@
+current-snapshot
diff --git a/tools/performance/cloud/snapshot-loader/docker-compose.yml b/tools/performance/cloud/snapshot-loader/docker-compose.yml
new file mode 100644
index 00000000..7a73d35f
--- /dev/null
+++ b/tools/performance/cloud/snapshot-loader/docker-compose.yml
@@ -0,0 +1,25 @@
+version: "3.5"
+services:
+ prometheus:
+ image: prom/prometheus
+ command: "--storage.tsdb.path=/snapshot/current-snapshot/ --config.file=/etc/prometheus/prometheus.yml"
+ user: root
+ ports:
+ - "9090:9090"
+ volumes:
+ - ./current-snapshot/:/snapshot/current-snapshot/
+ - ./prometheus.yml:/etc/prometheus/prometheus.yml
+
+ grafana:
+ image: grafana/grafana
+ ports:
+ - "3000:3000"
+ environment:
+ GF_AUTH_DISABLE_LOGIN_FORM: "true"
+ GF_AUTH_DISABLE_SIGNOUT_MENU: "true"
+ GF_AUTH_ANONYMOUS_ENABLED: "true"
+ GF_AUTH_ANONYMOUS_ORG_ROLE: "Admin"
+ volumes:
+ - ./grafana/datasources:/etc/grafana/provisioning/datasources
+ - ./grafana/dashboards-providers:/etc/grafana/provisioning/dashboards
+ - ../grafana/dashboards:/var/lib/grafana/dashboards/hv-ves
diff --git a/tools/performance/cloud/snapshot-loader/grafana/dashboards-providers/dashboard-providers.yaml b/tools/performance/cloud/snapshot-loader/grafana/dashboards-providers/dashboard-providers.yaml
new file mode 100644
index 00000000..78da55c9
--- /dev/null
+++ b/tools/performance/cloud/snapshot-loader/grafana/dashboards-providers/dashboard-providers.yaml
@@ -0,0 +1,10 @@
+apiVersion: 1
+
+providers:
+- name: 'hv-ves-dashboards'
+ folder: ''
+ type: file
+ disableDeletion: false
+ updateIntervalSeconds: 10
+ options:
+ path: /var/lib/grafana/dashboards/hv-ves \ No newline at end of file
diff --git a/tools/performance/cloud/snapshot-loader/grafana/datasources/prometheus.yaml b/tools/performance/cloud/snapshot-loader/grafana/datasources/prometheus.yaml
new file mode 100644
index 00000000..80717b08
--- /dev/null
+++ b/tools/performance/cloud/snapshot-loader/grafana/datasources/prometheus.yaml
@@ -0,0 +1,11 @@
+apiVersion: 1
+
+datasources:
+- name: Prometheus
+ type: prometheus
+ access: proxy
+ url: http://prometheus:9090
+ isDefault: true
+ editable: true
+ jsonData:
+ timeInterval: '5s'
diff --git a/tools/performance/cloud/snapshot-loader/load-snapshot.sh b/tools/performance/cloud/snapshot-loader/load-snapshot.sh
new file mode 100755
index 00000000..986c3c7f
--- /dev/null
+++ b/tools/performance/cloud/snapshot-loader/load-snapshot.sh
@@ -0,0 +1,70 @@
+#!/usr/bin/env bash
+# ============LICENSE_START=======================================================
+# dcaegen2-collectors-veshv
+# ================================================================================
+# 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=========================================================
+
+SNAPSHOT_PATH=$1
+OPEN=$2
+if [ ! -d $SNAPSHOT_PATH ] || [ -v $SNAPSHOT_PATH ]; then
+ echo "Usage: ./load-snapshot.sh <PATH-TO-SNAPSHOT>"
+ echo "To automatically open links use: ./load-snapshot.sh <PATH-TO-SNAPSHOT> -o"
+ echo "Important: path to snapshot must point to prometheus timestamped folder"
+ echo "Example: ~/prometheus-snapshot/20200409T123412Z-2e3108dabb158644"
+ exit 1
+fi
+
+docker-compose down > /dev/null 2> /dev/null
+mkdir -p current-snapshot
+rm -rf current-snapshot > /dev/null 2> /dev/null
+cp -r $SNAPSHOT_PATH/* ./current-snapshot/
+docker-compose up -d
+
+echo "Waiting for Grafana up..."
+sleep 10
+
+TIME=$(echo $SNAPSHOT_PATH | sed -r 's/(.*)Z-.*/\1/')
+TIME=$(echo $TIME | sed -r 's/.*\/(.*)/\1/')
+TIME=$(echo $TIME | sed -r 's/(.*)T(..)(..)(..)/\1 \2:\3:\4/')
+
+EPOCH_END=$(date +'%s' -u -d "$TIME")
+EPOCH_DIFF_20MIN=1200
+EPOCH_START=$(expr $EPOCH_END - $EPOCH_DIFF_20MIN)
+URL_TIME_ARG="from=${EPOCH_START}000&to=${EPOCH_END}000"
+
+GRAFANA_BASE_URL="http://localhost:3000/d/"
+PROCESSING_DASHBOARD_URL=${GRAFANA_BASE_URL}"V94Kjlwmz/hv-ves-processing?orgId=1&"${URL_TIME_ARG}
+PERFORMANCE_DASHBOARD_URL=${GRAFANA_BASE_URL}"ErPSMaIZk/performance-tests?orgId=1&"${URL_TIME_ARG}
+KAFKA_PRODUCERS_DASHBOARD_URL=${GRAFANA_BASE_URL}"-28uHcjZk/kafka-and-producers-statistics?orgId=1&"${URL_TIME_ARG}
+K8S_DASHBOARD_URL=${GRAFANA_BASE_URL}"RxjnWpjZk/k8s-metrics?orgId=1&"${URL_TIME_ARG}
+CONNECTIONS_DASHBOARD_URL=${GRAFANA_BASE_URL}"bAy7xlwmk/hv-ves-connections?orgId=1&"${URL_TIME_ARG}
+LATENCIES_DASHBOARD_URL=${GRAFANA_BASE_URL}"k22_V1qZk/latencies?orgId=1&"${URL_TIME_ARG}
+echo "Dashboards:"
+echo "HV-VES Processing:" ${PROCESSING_DASHBOARD_URL}
+echo "Performance:" ${PERFORMANCE_DASHBOARD_URL}
+echo "Kafka and producers statistics:" ${KAFKA_PRODUCERS_DASHBOARD_URL}
+echo "K8s Metrics:" ${K8S_DASHBOARD_URL}
+echo "Connections:" ${CONNECTIONS_DASHBOARD_URL}
+echo "Latencies:" ${LATENCIES_DASHBOARD_URL}
+
+if [ "$OPEN" == "-o" ]; then
+ xdg-open ${PROCESSING_DASHBOARD_URL}
+ xdg-open ${PERFORMANCE_DASHBOARD_URL}
+ xdg-open ${KAFKA_PRODUCERS_DASHBOARD_URL}
+ xdg-open ${K8S_DASHBOARD_URL}
+ xdg-open ${CONNECTIONS_DASHBOARD_URL}
+ xdg-open ${LATENCIES_DASHBOARD_URL}
+fi
diff --git a/tools/performance/cloud/snapshot-loader/prometheus.yml b/tools/performance/cloud/snapshot-loader/prometheus.yml
new file mode 100644
index 00000000..5239adc3
--- /dev/null
+++ b/tools/performance/cloud/snapshot-loader/prometheus.yml
@@ -0,0 +1,4 @@
+global:
+ scrape_interval: 5s
+ external_labels:
+ monitor: 'my-monitor'