From 1b12daa03266e98ece958d1c5aa5099f96ab1a2a Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 7 Oct 2014 12:59:09 +0200 Subject: [PATCH] Move the build time chart to the job page --- src/lib/Hydra/Controller/Build.pm | 26 ----------- src/lib/Hydra/Controller/Job.pm | 12 +++++ src/root/build-history-tab.tt | 73 ------------------------------- src/root/build.tt | 3 -- src/root/common.tt | 2 +- src/root/job.tt | 8 +++- 6 files changed, 19 insertions(+), 105 deletions(-) delete mode 100644 src/root/build-history-tab.tt diff --git a/src/lib/Hydra/Controller/Build.pm b/src/lib/Hydra/Controller/Build.pm index 411065d3..9a702ea8 100644 --- a/src/lib/Hydra/Controller/Build.pm +++ b/src/lib/Hydra/Controller/Build.pm @@ -405,32 +405,6 @@ sub runtime_deps : Chained('buildChain') PathPart('runtime-deps') { } -sub history_graphs : Chained('buildChain') PathPart('history-graphs') { - my ($self, $c) = @_; - my $build = $c->stash->{build}; - if ($build->finished) { - $c->stash->{prevBuilds} = [$c->model('DB::Builds')->search( - { project => $c->stash->{project}->name - , jobset => $c->stash->{jobset}->name - , job => $c->stash->{job}->name - , 'me.system' => $build->system - , finished => 1 - , buildstatus => 0 - , 'me.id' => { '<=' => $build->id } - } - , { join => "actualBuildStep" - , "+select" => ["actualBuildStep.stoptime - actualBuildStep.starttime"] - , "+as" => ["actualBuildTime"] - , order_by => "me.id DESC" - , rows => 50 - } - ) - ]; - } - $c->stash->{template} = 'build-history-tab.tt'; -} - - sub nix : Chained('buildChain') PathPart('nix') CaptureArgs(0) { my ($self, $c) = @_; diff --git a/src/lib/Hydra/Controller/Job.pm b/src/lib/Hydra/Controller/Job.pm index aa708bb2..274d9604 100644 --- a/src/lib/Hydra/Controller/Job.pm +++ b/src/lib/Hydra/Controller/Job.pm @@ -80,6 +80,18 @@ sub overview : Chained('job') PathPart('') Args(0) { } +sub build_times : Chained('job') PathPart('build-times') Args(0) { + my ($self, $c) = @_; + my @res = $c->stash->{job}->builds->search( + { finished => 1, buildstatus => 0, closuresize => { '!=', 0 } }, + { join => "actualBuildStep" + , "+select" => ["actualBuildStep.stoptime - actualBuildStep.starttime"] + , "+as" => ["actualBuildTime"], + , order_by => "id" }); + $self->status_ok($c, entity => [ map { { id => $_->id, timestamp => $_ ->timestamp, value => $_->get_column('actualBuildTime') } } @res ]); +} + + sub closure_sizes : Chained('job') PathPart('closure-sizes') Args(0) { my ($self, $c) = @_; my @res = $c->stash->{job}->builds->search( diff --git a/src/root/build-history-tab.tt b/src/root/build-history-tab.tt deleted file mode 100644 index 8d274f71..00000000 --- a/src/root/build-history-tab.tt +++ /dev/null @@ -1,73 +0,0 @@ -[% PROCESS common.tt %] -[% PROCESS "product-list.tt" %] -[% USE HTML %] -[% USE Date %] - -

Build time history (in minutes)

- -
-
- - - - diff --git a/src/root/build.tt b/src/root/build.tt index 4a5f4548..6159516e 100644 --- a/src/root/build.tt +++ b/src/root/build.tt @@ -103,7 +103,6 @@
  • Inputs
  • [% IF build.buildsteps %]
  • Build steps
  • [% END %] [% IF build.dependents %]
  • Used by
  • [% END%] -
  • History chart
  • [% IF drvAvailable %]
  • Build dependencies
  • [% END %] [% IF available %]
  • Runtime dependencies
  • [% END %] @@ -408,8 +407,6 @@ [% END %] - [% INCLUDE makeLazyTab tabName="tabs-history" uri=c.uri_for('/build' build.id 'history-graphs') %] - [% IF drvAvailable %] [% INCLUDE makeLazyTab tabName="tabs-build-deps" uri=c.uri_for('/build' build.id 'build-deps') %] [% END %] diff --git a/src/root/common.tt b/src/root/common.tt index 946c88ae..1ba51da7 100644 --- a/src/root/common.tt +++ b/src/root/common.tt @@ -549,7 +549,7 @@ BLOCK createChart %] data.forEach(function(x) { var t = x.timestamp * 1000; ids[t] = x.id; - d.push([t, x.value / (1024.0 * 1024.0)]); + d.push([t, x.value [% IF yaxis == "mib" %] / (1024.0 * 1024.0)[% END %]]); max = Math.max(t, max); }); diff --git a/src/root/job.tt b/src/root/job.tt index de2d2655..998bc083 100644 --- a/src/root/job.tt +++ b/src/root/job.tt @@ -86,13 +86,17 @@ removed or had an evaluation error.
    +

    Build time (in seconds)

    + + [% INCLUDE createChart id="build-times" yaxis="sec" dataUrl=c.uri_for('/job' project.name jobset.name job.name 'build-times') %] +

    Closure size (in MiB)

    - [% INCLUDE createChart id="closure-size" dataUrl=c.uri_for('/job' project.name jobset.name job.name 'closure-sizes') %] + [% INCLUDE createChart id="closure-size" yaxis="mib" dataUrl=c.uri_for('/job' project.name jobset.name job.name 'closure-sizes') %]

    Output size (in MiB)

    - [% INCLUDE createChart id="output-size" dataUrl=c.uri_for('/job' project.name jobset.name job.name 'output-sizes') %] + [% INCLUDE createChart id="output-size" yaxis="mib" dataUrl=c.uri_for('/job' project.name jobset.name job.name 'output-sizes') %]