git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v3 6/7] perf/run: learn to send output to codespeed server

From
Christian Couder <christian.couder@gmail.com>
Date
Jan 5, 2018, 09:12 UTC
Message-ID
<20180105091226.16083-7-chriscool@tuxfamily.org>
In-Reply-To
<20180105091226.16083-1-chriscool@tuxfamily.org>

Let's make it possible to set in a config file the URL of a codespeed server. And then let's make the `run` script send the perf test results to this URL at the end of the tests.

This should make is possible to easily automate the process of running perf tests and having their results available in Codespeed.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
 t/perf/run | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/t/perf/run b/t/perf/run
index 4e62d6bb3f..ef56396546 100755
--- a/t/perf/run
+++ b/t/perf/run
@@ -148,10 +148,20 @@ run_subsection () {
 	test "$GIT_PERF_CODESPEED_OUTPUT" = "true" && codespeed_opt="--codespeed"
 
 	run_dirs "$@"
-	./aggregate.perl $codespeed_opt "$@"
+
+	if test -z "$GIT_PERF_SEND_TO_CODESPEED"
+	then
+		./aggregate.perl $codespeed_opt "$@"
+	else
+		json_res_file="test-results/$GIT_PERF_SUBSECTION/aggregate.json"
+		./aggregate.perl --codespeed "$@" | tee "$json_res_file"
+		send_data_url="$GIT_PERF_SEND_TO_CODESPEED/result/add/json/"
+		curl -v --request POST --data-urlencode "json=$(cat "$json_res_file")" "$send_data_url"
+	fi
 }
 
 get_var_from_env_or_config "GIT_PERF_CODESPEED_OUTPUT" "perf" "codespeedOutput" "--bool"
+get_var_from_env_or_config "GIT_PERF_SEND_TO_CODESPEED" "perf" "sendToCodespeed"
 
 cd "$(dirname $0)"
 . ../../GIT-BUILD-OPTIONS
-- 
2.16.0.rc0.40.gbe5e688583
Previous: Christian CouderNext: Christian Couder
Message 7 of 8 in “Codespeed perf results”
  1. 0/7 Codespeed perf resultsChristian Couder, Jan 5, 2018
  2. 1/7 perf/aggregate: fix checking ENV{GIT_PERF_SUBSECTION}Christian Couder, Jan 5, 2018
  3. 2/7 perf/aggregate: refactor printing resultsChristian Couder, Jan 5, 2018
  4. 3/7 perf/aggregate: implement codespeed JSON outputChristian Couder, Jan 5, 2018
  5. 5/7 perf/run: learn about perf.codespeedOutputChristian Couder, Jan 5, 2018
  6. 4/7 perf/run: add conf_opts argument to get_var_from_env_or_config()Christian Couder, Jan 5, 2018
  7. 6/7 perf/run: learn to send output to codespeed serverChristian Couder, Jan 5, 2018
  8. 7/7 perf/run: read GIT_PERF_REPO_NAME from perf.repoNameChristian Couder, Jan 5, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.