mirror of
https://github.com/git/git.git
synced 2024-11-19 02:13:55 +01:00
Merge branch 'cc/perf-aggregate'
"make perf" enhancement. * cc/perf-aggregate: perf/aggregate: sort JSON fields in output perf/aggregate: add --reponame option perf/aggregate: add --subsection option
This commit is contained in:
commit
9b6734e510
@ -36,7 +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 @@ while (scalar @ARGV) {
|
||||
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 @@ 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 @@ 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 @@ sub print_codespeed_results {
|
||||
}
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user