diff --git a/.gitlab-ci.yaml b/.gitlab-ci.yaml index ace29d55c27af47c158c664900bd171935432de8..89407ad6637428f8cffdc81d3269c967b7041b74 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 0000000000000000000000000000000000000000..0cf83c83c27664a5bc0ae386630401d4873af051 --- /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