From 172d9b2d4c6c2bf2bf64ae983da7d4705fc61177 Mon Sep 17 00:00:00 2001
From: Dariusz Kedzierski <dkedzierski@syncad.com>
Date: Wed, 28 Oct 2020 20:59:19 +0100
Subject: [PATCH] Benchmarks script moved to CI dir

---
 .gitlab-ci.yaml                   | 20 ++++++++++----------
 scripts/ci/start-api-benchmark.sh | 27 +++++++++++++++++++++++++++
 2 files changed, 37 insertions(+), 10 deletions(-)
 create mode 100755 scripts/ci/start-api-benchmark.sh

diff --git a/.gitlab-ci.yaml b/.gitlab-ci.yaml
index ace29d55c..89407ad66 100644
--- a/.gitlab-ci.yaml
+++ b/.gitlab-ci.yaml
@@ -344,16 +344,16 @@ api_smoketest_benchmark:
   stage: benchmark-tests
   extends: .benchmark-tests-common
   script:
-    - scripts/ci_start_api_benchmark.sh localhost $HIVEMIND_HTTP_PORT tests/tests_api/hivemind/tavern/bridge_api_patterns/ api_benchmark_bridge
-    - scripts/ci_start_api_benchmark.sh localhost $HIVEMIND_HTTP_PORT tests/tests_api/hivemind/tavern/bridge_api_negative/ api_benchmark_bridge_negative
-    - scripts/ci_start_api_benchmark.sh localhost $HIVEMIND_HTTP_PORT tests/tests_api/hivemind/tavern/condenser_api_patterns/ api_benchmark_condenser
-    - scripts/ci_start_api_benchmark.sh localhost $HIVEMIND_HTTP_PORT tests/tests_api/hivemind/tavern/condenser_api_negative/ api_benchmark_condenser_negative
-    - scripts/ci_start_api_benchmark.sh localhost $HIVEMIND_HTTP_PORT tests/tests_api/hivemind/tavern/database_api_patterns/ api_benchmark_database
-    - scripts/ci_start_api_benchmark.sh localhost $HIVEMIND_HTTP_PORT tests/tests_api/hivemind/tavern/database_api_negative/ api_benchmark_database_negative
-    - scripts/ci_start_api_benchmark.sh localhost $HIVEMIND_HTTP_PORT tests/tests_api/hivemind/tavern/follow_api_patterns/ api_benchmark_follow
-    - scripts/ci_start_api_benchmark.sh localhost $HIVEMIND_HTTP_PORT tests/tests_api/hivemind/tavern/follow_api_negative/ api_benchmark_follow_negative
-    - scripts/ci_start_api_benchmark.sh localhost $HIVEMIND_HTTP_PORT tests/tests_api/hivemind/tavern/tags_api_patterns/ api_benchmark_tags
-    - scripts/ci_start_api_benchmark.sh localhost $HIVEMIND_HTTP_PORT tests/tests_api/hivemind/tavern/tags_api_negative/ api_benchmark_tags_negative
+    - scripts/ci/start-api-benchmark.sh localhost $HIVEMIND_HTTP_PORT tests/tests_api/hivemind/tavern/bridge_api_patterns/ api_benchmark_bridge
+    - scripts/ci/start-api-benchmark.sh localhost $HIVEMIND_HTTP_PORT tests/tests_api/hivemind/tavern/bridge_api_negative/ api_benchmark_bridge_negative
+    - scripts/ci/start-api-benchmark.sh localhost $HIVEMIND_HTTP_PORT tests/tests_api/hivemind/tavern/condenser_api_patterns/ api_benchmark_condenser
+    - scripts/ci/start-api-benchmark.sh localhost $HIVEMIND_HTTP_PORT tests/tests_api/hivemind/tavern/condenser_api_negative/ api_benchmark_condenser_negative
+    - scripts/ci/start-api-benchmark.sh localhost $HIVEMIND_HTTP_PORT tests/tests_api/hivemind/tavern/database_api_patterns/ api_benchmark_database
+    - scripts/ci/start-api-benchmark.sh localhost $HIVEMIND_HTTP_PORT tests/tests_api/hivemind/tavern/database_api_negative/ api_benchmark_database_negative
+    - scripts/ci/start-api-benchmark.sh localhost $HIVEMIND_HTTP_PORT tests/tests_api/hivemind/tavern/follow_api_patterns/ api_benchmark_follow
+    - scripts/ci/start-api-benchmark.sh localhost $HIVEMIND_HTTP_PORT tests/tests_api/hivemind/tavern/follow_api_negative/ api_benchmark_follow_negative
+    - scripts/ci/start-api-benchmark.sh localhost $HIVEMIND_HTTP_PORT tests/tests_api/hivemind/tavern/tags_api_patterns/ api_benchmark_tags
+    - scripts/ci/start-api-benchmark.sh localhost $HIVEMIND_HTTP_PORT tests/tests_api/hivemind/tavern/tags_api_negative/ api_benchmark_tags_negative
 
   artifacts:
     when: always
diff --git a/scripts/ci/start-api-benchmark.sh b/scripts/ci/start-api-benchmark.sh
new file mode 100755
index 000000000..0cf83c83c
--- /dev/null
+++ b/scripts/ci/start-api-benchmark.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+# $1 - server address
+# $2 - server port
+# $3 - path to test directory
+# $4 - name of the benchmark script file
+
+set -e
+
+echo "=========================  BENCHMARKS  ================================="
+echo "Server address: $1"
+echo "Server port: $2"
+echo "Test directory to be processed: $3"
+echo "Benchmark test file name: $4.py"
+
+BASE_DIR=$(pwd)
+echo "Script base dir is: $BASE_DIR"
+
+pip install tox
+pip install prettytable
+
+echo "Creating benchmark test file as: $4.py"
+$BASE_DIR/tests/tests_api/hivemind/benchmarks/benchmark_generator.py $3 "$4.py" "http://$1:$2"
+echo "Running benchmark tests on http://$1:$2"
+tox -e benchmark -- --benchmark-json="$4.json" "$4.py"
+echo "Creating html report from $4.json"
+$BASE_DIR/scripts/json_report_parser.py $3 "$4.json"
\ No newline at end of file
-- 
GitLab