diff --git a/docker/test/performance-comparison/compare.sh b/docker/test/performance-comparison/compare.sh index 52bc82d24fd..d0c675b032c 100755 --- a/docker/test/performance-comparison/compare.sh +++ b/docker/test/performance-comparison/compare.sh @@ -223,16 +223,6 @@ function run_tests wait } -function analyze_queries -{ - # Build and analyze randomization distribution for all queries. - ls ./*-queries.tsv | xargs -n1 -I% basename % -queries.tsv | \ - parallel --verbose right/clickhouse local --file "{}-queries.tsv" \ - --structure "\"query text, run int, version UInt32, time float\"" \ - --query "\"$(cat "$script_dir/eqmed.sql")\"" \ - ">" {}-report.tsv -} - function get_profiles { # Collect the profiles @@ -254,6 +244,16 @@ function get_profiles wait } +# Build and analyze randomization distribution for all queries. +function analyze_queries +{ + ls ./*-queries.tsv | xargs -n1 -I% basename % -queries.tsv | \ + parallel --verbose right/clickhouse local --file "{}-queries.tsv" \ + --structure "\"query text, run int, version UInt32, time float\"" \ + --query "\"$(cat "$script_dir/eqmed.sql")\"" \ + ">" {}-report.tsv +} + # Analyze results function report { @@ -426,8 +426,8 @@ wait unset IFS # Remember that grep sets error code when nothing is found, hence the bayan -# operator -grep -m2 'Exception:[^:]' ./*-err.log | sed 's/:/\t/' > run-errors.tsv ||: +# operator. +grep -H -m2 'Exception:[^:]' ./*-err.log | sed 's/:/\t/' > run-errors.tsv ||: "$script_dir/report.py" > report.html } diff --git a/docker/test/performance-comparison/entrypoint.sh b/docker/test/performance-comparison/entrypoint.sh index 5e23fb8e6be..dae9ba5ef0e 100755 --- a/docker/test/performance-comparison/entrypoint.sh +++ b/docker/test/performance-comparison/entrypoint.sh @@ -10,10 +10,8 @@ cd workspace # We will compare to the most recent testing tag in master branch, let's find it. rm -rf ch ||: git clone --branch master --single-branch --depth 50 --bare https://github.com/ClickHouse/ClickHouse ch -(cd ch && git fetch origin "$SHA_TO_TEST:to-test") # fetch it so that we can show the commit message -# FIXME sometimes we have testing tags on commits without published builds -- these -# are documentation commits, normally. Loop to skip them. -start_ref=master +(cd ch && git fetch origin "$SHA_TO_TEST:to-test") +start_ref=to-test while : do ref_tag=$(cd ch && git describe --match='v*-testing' --abbrev=0 --first-parent $start_ref) @@ -22,6 +20,8 @@ do # dereference the tag to get the commit it points to, hence the '~0' thing. ref_sha=$(cd ch && git rev-parse "$ref_tag~0") + # FIXME sometimes we have testing tags on commits without published builds -- + # normally these are documentation commits. Loop to skip them. if curl --fail --head "https://clickhouse-builds.s3.yandex.net/0/$ref_sha/performance/performance.tgz" then break