From 6a1414663fdc19f14d0327b9d32f88fa9bb0d0b4 Mon Sep 17 00:00:00 2001 From: Alexander Kuzmenkov Date: Thu, 22 Apr 2021 19:46:54 +0300 Subject: [PATCH 1/2] upload cpu model to perf test db --- docker/test/performance-comparison/compare.sh | 42 +++++++++++++------ 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/docker/test/performance-comparison/compare.sh b/docker/test/performance-comparison/compare.sh index 4507de16492..ac3c744aed4 100755 --- a/docker/test/performance-comparison/compare.sh +++ b/docker/test/performance-comparison/compare.sh @@ -1149,20 +1149,21 @@ function upload_results return 0 fi - # Surprisingly, clickhouse-client doesn't understand --host 127.0.0.1:9000 - # so I have to extract host and port with clickhouse-local. I tried to use - # Poco URI parser to support this in the client, but it's broken and can't - # parse host:port. set +x # Don't show password in the log - clickhouse-client \ - $(clickhouse-local --query "with '${CHPC_DATABASE_URL}' as url select '--host ' || domain(url) || ' --port ' || toString(port(url)) format TSV") \ - --secure \ - --user "${CHPC_DATABASE_USER}" \ - --password "${CHPC_DATABASE_PASSWORD}" \ - --config "right/config/client_config.xml" \ - --database perftest \ - --date_time_input_format=best_effort \ - --query " + client=(clickhouse-client + # Surprisingly, clickhouse-client doesn't understand --host 127.0.0.1:9000 + # so I have to extract host and port with clickhouse-local. I tried to use + # Poco URI parser to support this in the client, but it's broken and can't + # parse host:port. + $(clickhouse-local --query "with '${CHPC_DATABASE_URL}' as url select '--host ' || domain(url) || ' --port ' || toString(port(url)) format TSV") + --secure + --user "${CHPC_DATABASE_USER}" + --password "${CHPC_DATABASE_PASSWORD}" + --config "right/config/client_config.xml" + --database perftest + --date_time_input_format=best_effort) + + "${client[@]}" --query " insert into query_metrics_v2 select toDate(event_time) event_date, @@ -1185,6 +1186,21 @@ function upload_results format TSV settings date_time_input_format='best_effort' " < report/all-query-metrics.tsv # Don't leave whitespace after INSERT: https://github.com/ClickHouse/ClickHouse/issues/16652 + + # Upload some run attributes. I use this weird form because it is the same + # form that can be used for historical data when you only have compare.log. + cat compare.log \ + | sed -n ' + s/.*\(Model name:\)[[:space:]]\+\(.*\)$/metric lscpu-model-name \2/p; + s/.*left_sha=\(.*\)$/old-sha \1/p; + s/.*right_sha=\(.*\)/new-sha \1/p' \ + | awk ' + BEGIN { FS = "\t"; OFS = "\t" } + /^old-sha/ { old_sha=$2 } + /^new-sha/ { new_sha=$2 } + /^metric/ { print old_sha, new_sha, $2, $3 }' \ + | "${client[@]}" --query "INSERT INTO run_attributes_v1 FORMAT TSV" + set -x } From 3f855cb714a0b114f84d2cf9b35a785b6697c4df Mon Sep 17 00:00:00 2001 From: Alexander Kuzmenkov Date: Thu, 22 Apr 2021 20:18:21 +0300 Subject: [PATCH 2/2] more --- docker/test/performance-comparison/compare.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docker/test/performance-comparison/compare.sh b/docker/test/performance-comparison/compare.sh index ac3c744aed4..3ee3612d8da 100755 --- a/docker/test/performance-comparison/compare.sh +++ b/docker/test/performance-comparison/compare.sh @@ -1191,7 +1191,11 @@ function upload_results # form that can be used for historical data when you only have compare.log. cat compare.log \ | sed -n ' - s/.*\(Model name:\)[[:space:]]\+\(.*\)$/metric lscpu-model-name \2/p; + s/.*Model name:[[:space:]]\+\(.*\)$/metric lscpu-model-name \1/p; + s/.*L1d cache:[[:space:]]\+\(.*\)$/metric lscpu-l1d-cache \1/p; + s/.*L1i cache:[[:space:]]\+\(.*\)$/metric lscpu-l1i-cache \1/p; + s/.*L2 cache:[[:space:]]\+\(.*\)$/metric lscpu-l2-cache \1/p; + s/.*L3 cache:[[:space:]]\+\(.*\)$/metric lscpu-l3-cache \1/p; s/.*left_sha=\(.*\)$/old-sha \1/p; s/.*right_sha=\(.*\)/new-sha \1/p' \ | awk '