From: Junio C Hamano Date: Thu, 8 Feb 2018 23:08:28 +0000 (-0800) Subject: Merge branch 'cc/perf-aggregate' into next X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/d8f074e6fb809bd64ad443ba0ea6f23a6a657d90?hp=-c Merge branch 'cc/perf-aggregate' into next "make perf" enhancement. * cc/perf-aggregate: perf/aggregate: sort JSON fields in output perf/aggregate: add --reponame option perf/aggregate: add --subsection option --- d8f074e6fb809bd64ad443ba0ea6f23a6a657d90 diff --combined t/perf/aggregate.perl index 3a0917fa61,749d6689f9..821cf1498b --- a/t/perf/aggregate.perl +++ b/t/perf/aggregate.perl @@@ -1,6 -1,6 +1,6 @@@ #!/usr/bin/perl -use lib '../../perl/blib/lib'; +use lib '../../perl/build/lib'; use strict; use warnings; use JSON; @@@ -36,7 -36,8 +36,8 @@@ sub format_times return $out; } - my (@dirs, %dirnames, %dirabbrevs, %prefixes, @tests, $codespeed); + my (@dirs, %dirnames, %dirabbrevs, %prefixes, @tests, + $codespeed, $subsection, $reponame); while (scalar @ARGV) { my $arg = $ARGV[0]; my $dir; @@@ -45,6 -46,24 +46,24 @@@ shift @ARGV; next; } + if ($arg eq "--subsection") { + shift @ARGV; + $subsection = $ARGV[0]; + shift @ARGV; + if (! $subsection) { + die "empty subsection"; + } + next; + } + if ($arg eq "--reponame") { + shift @ARGV; + $reponame = $ARGV[0]; + shift @ARGV; + if (! $reponame) { + die "empty reponame"; + } + next; + } last if -f $arg or $arg eq "--"; if (! -d $arg) { my $rev = Git::command_oneline(qw(rev-parse --verify), $arg); @@@ -76,10 -95,15 +95,15 @@@ if (not @tests) } 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}; + + if (! $subsection and + exists $ENV{GIT_PERF_SUBSECTION} and + $ENV{GIT_PERF_SUBSECTION} ne "") { + $subsection = $ENV{GIT_PERF_SUBSECTION}; + } + + if ($subsection) { + $resultsdir .= "/" . $subsection; } my @subtests; @@@ -183,19 -207,21 +207,21 @@@ sub print_default_results } sub print_codespeed_results { - my ($results_section) = @_; + my ($subsection) = @_; my $project = "Git"; my $executable = `uname -s -m`; chomp $executable; - if ($results_section ne "") { - $executable .= ", " . $results_section; + if ($subsection) { + $executable .= ", " . $subsection; } my $environment; - if (exists $ENV{GIT_PERF_REPO_NAME} and $ENV{GIT_PERF_REPO_NAME} ne "") { + if ($reponame) { + $environment = $reponame; + } elsif (exists $ENV{GIT_PERF_REPO_NAME} and $ENV{GIT_PERF_REPO_NAME} ne "") { $environment = $ENV{GIT_PERF_REPO_NAME}; } elsif (exists $ENV{GIT_TEST_INSTALLED} and $ENV{GIT_TEST_INSTALLED} ne "") { $environment = $ENV{GIT_TEST_INSTALLED}; @@@ -227,13 -253,13 +253,13 @@@ } } - print to_json(\@data, {utf8 => 1, pretty => 1}), "\n"; + print to_json(\@data, {utf8 => 1, pretty => 1, canonical => 1}), "\n"; } binmode STDOUT, ":utf8" or die "PANIC on binmode: $!"; if ($codespeed) { - print_codespeed_results($results_section); + print_codespeed_results($subsection); } else { print_default_results(); }