|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [OSSTEST PATCH 2/2] sg-report-job-history: Show which host test ran on
Add a column listing the host(s) used. We first find the relevant set
of host runvars (with a SELECT DISTINCT) and then look up each var for
each actual flight.
We do the pattern-matching on runvar names in perl to avoid giving the
postgresql optimiser a chance to turn this query into a full table
scan of the runvars table. (A previous iteration of this patch
searched, in the per-flight loop, for all runvars whose name was
appropriately LIKE, with appalling performance.)
Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
---
sg-report-job-history | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/sg-report-job-history b/sg-report-job-history
index 479e347..3e4b0ef 100755
--- a/sg-report-job-history
+++ b/sg-report-job-history
@@ -172,9 +172,34 @@ END
END
$flightsq->execute(@params);
+ my $hostsq= $dbh_tests->prepare(<<END);
+ SELECT DISTINCT name
+ FROM runvars
+ JOIN flights USING (flight)
+ WHERE ($cond)
+ ORDER BY name;
+END
+ $hostsq->execute(@params);
+ my @hostvarcols;
+ while (my ($hostvar) = $hostsq->fetchrow_array()) {
+ next unless $hostvar =~ m/(^|_)host$/;
+ push @hostvarcols, $hostvar;
+ }
+
+ my $hostq= $dbh_tests->prepare(<<END);
+ SELECT val FROM runvars WHERE flight=? AND job=? AND name=?
+END
+
while (my $f= $flightsq->fetchrow_hashref()) {
my $ri= run_getinfo($f);
+ $ri->{Hosts} = [ ];
+ foreach my $hostvar (@hostvarcols) {
+ $hostq->execute($f->{flight}, $f->{job}, $hostvar);
+ my ($host) = $hostq->fetchrow_array();
+ push @{ $ri->{Hosts} }, ($host // "-");
+ }
+
my %revisions;
add_revisions(\%revisions, $f->{flight}, $f->{job}, '');
@@ -217,6 +242,7 @@ END
print H "<h1>$title</h1>\n";
print H "<table rules=all>";
print H "<tr><th>flight</th><th>branch</th><th>failure</th>\n";
+ print H "<th>", (join ", ", @hostvarcols), "</th>\n";
foreach my $c (@rev_grid_cols) {
print H "<th>".encode_entities($c)."</th>\n";
}
@@ -236,6 +262,8 @@ END
print H "<td $colour><a href=\"$url\">".
encode_entities($r->{Summary})."</a></td>\n";
my $lastrev;
+ my $hosts = join ", ", map { $_ // "-" } @{ $r->{Hosts} };
+ print H "<td>".encode_entities($hosts)."</td>\n";
foreach my $i (0..$#rev_grid_cols) {
my $v= $r->{Revisions}[$i];
my $same=
--
1.7.10.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |