[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [OSSTEST] ms-planner: add a flight summary html report
Ian Campbell writes ("[OSSTEST] ms-planner: add a flight summary html report"): > I often find myself intested in when a given flight (or the current flight for > a branch) will complete, which with the current resource plan means searching > and cycling through trying to figure out which box ends the latest. > > Add an explicit flight status summary, which produces a table for each flight > listing the jobs, there start and end times and the host they run on. The > output is something like a list of these, ordered by flight number (rendered > with links(1), header is bold): > > Flight 26043 [linux-3.4 real] 4 jobs expected to run until 2014-Apr-27 Sun > 23:54:19 > build-amd64-pvops 2014-Apr-27 Sun 20:06:09 > 2014-Apr-27 Sun 21:21:23 host leaf-beetle > build-i386-pvops 2014-Apr-27 Sun 21:20:15 > 2014-Apr-27 Sun 21:31:27 host grain-weevil > build-amd64 2014-Apr-27 Sun 21:21:23 > 2014-Apr-27 Sun 21:44:22 host leaf-beetle > build-i386 2014-Apr-27 Sun 22:18:43 > 2014-Apr-27 Sun 23:54:19 host field-cricket > > I renamed the existing show-html option to show-resource-plan-html for > clarity. Hrm. I think this is a nice thing to have, but: > + while (my ($reso,$evts) = each %{ $plan->{Events} }) { > + # [osstest real] job 26010.test-amd64-amd64-xl-win7-amd64 > + foreach my $evt ( @{$evts} ) { > + next unless $evt->{Type} =~ m/^(Start|End)$/; > + next unless $evt->{Info} =~ m/^\[(\S+) (\S+)\] job ([0-9]+)\ \.(\S+) (.*)/; This is rather a layering violation. Info is for the consumption of humans. Perhaps the plan should have an explicit "flight.job" field. You could compute the "[linux-3.4 real]" part by looking at the common prefix of all the Infos. Also, can you wrap everything to 75 or so ? > + $flights{$flight}->{Jobs}{$job} = { > + Reso => $reso > + } unless $flights{$flight}->{Jobs}{$job}; This isn't right. A job can have more than one resource. You should either list each resource as its own line, accumulate a list of resources. > + if ( $evt->{Time} > $flights{$flight}->{End} ) { > + $flights{$flight}->{Last} = $evt; > + $flights{$flight}->{LastReso} = $reso; You don't seem to use LastReso and I can't seem to see why you'd want it. > + flight_hdr("Flight $flight [$inf->{Branch} $inf->{Blessing}] ". > + (keys %{$inf->{Jobs}})." jobs ". > + "expected to run until ".strftime("%Y-%b-%d %a %H:%M:%S"\ , localtime $inf->{End})); You repeat the strftime rune many times. You should probably use show_abs_time. (Which produces UTC. I see that ms-planner has a pair of localtimes in it, which should perhaps be changed.) > + foreach my $job (sort { $inf->{Jobs}{$a}->{Start}->{Time} cmp $\ inf->{Jobs}{$b}->{Start}->{Time} } keys %{ $inf->{Jobs} }) { You repeat the $inf->{Jobs}{$x}->{Start}->{Time} expression. Make it an anonymous subref or something and this will become much clearer. And I think you should probably sort the jobs by end time, not start time. > + my $sevt = $inf->{Jobs}{$job}->{Start}; > + my $eevt = $inf->{Jobs}{$job}->{End}; > + print("<tr>\n"); > + cell($job); > + cell(strftime("%Y-%b-%d %a %H:%M:%S", localtime $inf->{Jobs\ }{$job}->{Start}->{Time})); > + cell(strftime("%Y-%b-%d %a %H:%M:%S", localtime $inf->{Jobs\ }{$job}->{End}->{Time})); How about foreach my $se (qw(Start End)) { ? > diff --git a/ms-queuedaemon b/ms-queuedaemon > index 26d83e2..a5bebd3 100755 > --- a/ms-queuedaemon > +++ b/ms-queuedaemon > @@ -224,12 +224,18 @@ proc queuerun-perhaps-step {} { > proc report-plan {} { > global c > if {[catch { > - exec ./ms-planner show-html > "$c(WebspaceFile)/resource-plan.html" > + exec ./ms-planner show-resource-plan-html > "$c(WebspaceFile)/r\ esource-plan.html" > } emsg]} { > - log "INTERNAL ERROR showing plan html: $emsg" > + log "INTERNAL ERROR showing resource plan html: $emsg" > } else { > log "report-plan OK" > } > + if {[catch { > + exec ./ms-planner show-flight-summary-html > "$c(WebspaceFile)/\ flight-summary.html" > + } emsg]} { > + log "INTERNAL ERROR showing flight summary html: $emsg" > + } else { > + log "report-flight-summary OK" Repetition. Thanks, Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |