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

Re: [PATCH 3/8] perf/aggregate: implement codespeed JSON output

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 13, 2017, 20:33 UTC
Message-ID
<xmqqfu8ewepg.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<20171213151344.2138-4-chriscool@tuxfamily.org>
Christian Couder <christian.couder@gmail.com> writes:
Show 6 quoted lines
>  my $resultsdir = "test-results";
> +my $results_section = "";
>  if (exists $ENV{GIT_PERF_SUBSECTION} and $ENV{GIT_PERF_SUBSECTION} ne "") {
>  	$resultsdir .= "/" . $ENV{GIT_PERF_SUBSECTION};
> +	$results_section = $ENV{GIT_PERF_SUBSECTION};
>  }
...
Show 7 quoted lines
> +	my $executable;
> +	if ($results_section eq "") {
> +		$executable = `uname -o -p`;
> +	} else {
> +		$executable = $results_section;
> +		chomp $executable;
> +	}

Aside from portability of 'uname -o' Eric raised, I wonder if the platform information is still useful even when perf-subsection is specified. With the above code, we can identify that a single result is for (say) MacOS only when we are not limiting to a single subsection, but wouldn't it be equally a valid desire to be able to track performance figures for a single subsection over time and being able to say "On MacOS, subsection A's performance dropped between release X and X+1 quite a bit, but on Linux x86-64, there was no such change" or somesuch?

IOW, shouldn't the "executable" label always contain the platform information, plus an optional subsection info when (and only when) the result is limited to a subsection?

By the way, $results_section that is not an empty string at this point must have come from $ENV{GIT_PERF_SUBSECTION}, and from the way the environment variable is used in t/perf/run, e.g.

		(
			GIT_PERF_SUBSECTION="$subsec"
			export GIT_PERF_SUBSECTION
			echo "======== Run for subsection '$GIT_PERF_SUBSECTION' ========"
			run_subsection "$@"
		)

I do not think we expect it to have a trailing LF. What's that chomp doing there?

Previous: Christian CouderNext: Christian Couder
Message 14 of 20 in “Codespeed perf results”
  1. 0/8 Codespeed perf resultsChristian Couder, Dec 13, 2017
  2. 1/8 perf/aggregate: fix checking ENV{GIT_PERF_SUBSECTION}Christian Couder, Dec 13, 2017
  3. 2/8 perf/aggregate: refactor printing resultsChristian Couder, Dec 13, 2017
  4. 4/8 perf/run: use $default_value instead of $4Christian Couder, Dec 13, 2017
  5. Junio C HamanoDec 13, 2017
  6. Junio C HamanoDec 13, 2017
  7. Christian CouderDec 14, 2017
  8. Christian CouderDec 14, 2017
  9. 8/8 perf/run: read GIT_TEST_REPO_NAME from perf.repoNameChristian Couder, Dec 13, 2017
  10. 7/8 perf/run: learn to send output to codespeed serverChristian Couder, Dec 13, 2017
  11. 3/8 perf/aggregate: implement codespeed JSON outputChristian Couder, Dec 13, 2017
  12. Eric SunshineDec 13, 2017
  13. Christian CouderDec 14, 2017
  14. Junio C HamanoDec 13, 2017
  15. Christian CouderDec 14, 2017
  16. Junio C HamanoDec 14, 2017
  17. 6/8 perf/run: learn about perf.codespeedOutputChristian Couder, Dec 13, 2017
  18. 5/8 perf/run: add conf_opts argument to get_var_from_env_or_config()Christian Couder, Dec 13, 2017
  19. Philip OakleyDec 13, 2017
  20. Christian CouderDec 13, 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.