perf/aggregate: add --subsection option

This makes it easier to use the aggregate script
on the command line, to get results from
subsections.

Previously setting GIT_PERF_SUBSECTION was needed
for this purpose.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Christian Couder 2018-02-01 11:14:32 +01:00 committed by Junio C Hamano
parent 5be1f00a9a
commit cd5d4bf609

View file

@ -36,7 +36,8 @@ sub format_times {
return $out;
}
my (@dirs, %dirnames, %dirabbrevs, %prefixes, @tests, $codespeed);
my (@dirs, %dirnames, %dirabbrevs, %prefixes, @tests,
$codespeed, $subsection);
while (scalar @ARGV) {
my $arg = $ARGV[0];
my $dir;
@ -45,6 +46,15 @@ sub format_times {
shift @ARGV;
next;
}
if ($arg eq "--subsection") {
shift @ARGV;
$subsection = $ARGV[0];
shift @ARGV;
if (! $subsection) {
die "empty subsection";
}
next;
}
last if -f $arg or $arg eq "--";
if (! -d $arg) {
my $rev = Git::command_oneline(qw(rev-parse --verify), $arg);
@ -76,10 +86,15 @@ sub format_times {
}
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,15 +198,15 @@ 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;
@ -233,7 +248,7 @@ sub print_codespeed_results {
binmode STDOUT, ":utf8" or die "PANIC on binmode: $!";
if ($codespeed) {
print_codespeed_results($results_section);
print_codespeed_results($subsection);
} else {
print_default_results();
}