aboutsummaryrefslogtreecommitdiffstats
path: root/tools/performance/cloud/snapshot-loader/load-snapshot.sh
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 /tools/performance/cloud/snapshot-loader/load-snapshot.sh
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
Diffstat (limited to 'tools/performance/cloud/snapshot-loader/load-snapshot.sh')
-rwxr-xr-xtools/performance/cloud/snapshot-loader/load-snapshot.sh70
1 files changed, 70 insertions, 0 deletions
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