From: Andrew Dunstan Date: Thu, 17 Feb 2011 15:43:35 +0000 (-0800) Subject: Add stage and total run times to log page. X-Git-Url: https://git.exim.org/buildfarm-server.git/commitdiff_plain/fa429bc1294d7200ad1519573fdc393d860db7d5 Add stage and total run times to log page. --- diff --git a/cgi-bin/show_log.pl b/cgi-bin/show_log.pl index 9173f5b..75dd2e7 100755 --- a/cgi-bin/show_log.pl +++ b/cgi-bin/show_log.pl @@ -38,6 +38,7 @@ my $conf = ""; my ($stage,$changed_this_run,$changed_since_success,$sysinfo,$branch,$scmurl); my $scm; my ($git_head_ref, $last_build_git_ref, $last_success_git_ref); +my ($stage_times, $run_time); use vars qw($info_row); @@ -111,7 +112,7 @@ if ($system && $logdate) select operating_system, os_version, compiler, compiler_version, architecture, - replace(owner_email,'\@',' [ a t ] ') as owner_email, + replace(owner_email,E'\@',' [ a t ] ') as owner_email, sys_notes_ts::date AS sys_notes_date, sys_notes from buildsystems where status = 'approved' @@ -135,6 +136,21 @@ if ($system && $logdate) $info_row->{compiler_version} = $latest_personality->[1]; } $sth->finish; + my $stage_times_query = q{ + select log_stage, stage_duration + from build_status_log + where sysname = ? and snapshot = ? + }; + $stage_times = + $db->selectall_hashref($stage_times_query,'log_stage',undef, + $system,$logdate); + $stage_times_query = q{ + select sum(stage_duration) + from build_status_log + where sysname = ? and snapshot = ? + }; + ($run_time) = $db->selectrow_array($stage_times_query,undef, + $system,$logdate); $db->disconnect; } @@ -157,6 +173,8 @@ $template->process('log.tt', system => $system, branch => $branch, stage => $stage, + stage_times => $stage_times, + run_time => $run_time, urldt => $logdate, log_file_names => \@log_file_names, conf => $conf, diff --git a/templates/log.tt b/templates/log.tt index 43b89c4..c78ebaa 100644 --- a/templates/log.tt +++ b/templates/log.tt @@ -7,7 +7,7 @@ See accompanying License file for license details -%] [% PERL %] use POSIX qw(ceil); - my $lrfactor = 6; + my $lrfactor = 4; $stash->set(lrfactor => $lrfactor); my $rows = $stash->get('log_file_names'); my $logrows = ceil(scalar(@$rows)/$lrfactor); @@ -69,10 +69,10 @@ See accompanying License file for license details [% END %] [% cell = 0; FOREACH logstage IN log_file_names ; striplog = logstage.replace('\.log$','') ; cell = loop.count %] [% IF loop.first %] -
+
Stage Logs
[% END %] [% IF loop.count > 1 and loop.count % lrfactor == 1 %][% END %] - + [% IF loop.count % lrfactor == 0 %][% END %] [% END %]
Stage Logs

Total run time
[% run_time %]
[% striplog %][% striplog %] ([% stage_times.$logstage.stage_duration %])