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

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

From
Christian Couder <christian.couder@gmail.com>
Date
Dec 26, 2017, 21:59 UTC
Message-ID
<20171226215908.425-7-chriscool@tuxfamily.org>
In-Reply-To
<20171226215908.425-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.15.1.361.g8b07d831d0
Previous: Christian CouderNext: Christian Couder
Message 10 of 12 in “Codespeed perf results”
  1. 0/7 Codespeed perf resultsChristian Couder, Dec 26, 2017
  2. 2/7 perf/aggregate: refactor printing resultsChristian Couder, Dec 26, 2017
  3. 5/7 perf/run: learn about perf.codespeedOutputChristian Couder, Dec 26, 2017
  4. 7/7 perf/run: read GIT_TEST_REPO_NAME from perf.repoNameChristian Couder, Dec 26, 2017
  5. 1/7 perf/aggregate: fix checking ENV{GIT_PERF_SUBSECTION}Christian Couder, Dec 26, 2017
  6. Junio C HamanoDec 28, 2017
  7. 3/7 perf/aggregate: implement codespeed JSON outputChristian Couder, Dec 26, 2017
  8. Junio C HamanoDec 28, 2017
  9. 4/7 perf/run: add conf_opts argument to get_var_from_env_or_config()Christian Couder, Dec 26, 2017
  10. 6/7 perf/run: learn to send output to codespeed serverChristian Couder, Dec 26, 2017
  11. Christian CouderDec 26, 2017
  12. Junio C HamanoDec 28, 2017

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.