* minor performance tweaks

[?]
Feb 16, 2012, 3:56 PM
3SQCOHZNX4XUQU3KW6DXP65EQ2KHYZN6LTKVSKBXPTY4J3FKU2JQC

Dependencies

  • [2] YZUQKPNJ * hydra: remove excess layout
  • [3] 45ESKY6T * hydra: show finish time on build status overview
  • [4] DSM3TTSO Hydra/31: "Duration" field broken in cached builds that are not in DB anymore
  • [5] ZEEZRG2E clean up build page for build that failed with result
  • [6] J7EE2XZA Fix a huge performance regression in the jobstatus page
  • [7] RI4S7SYT * Job status: show the active jobs.
  • [8] T6KISLR6 Fix indentation
  • [9] KAZWI5G4 * hydra: buildpage, show changes since last build/successful build
  • [10] XHK7IGYI * hdyra: show last succeeded build and changes since on build status summary if build has failed
  • [11] ZI535LI6 * hydra: 'new' UI for project/jobset/job/build
  • [12] 2R7GHSA4 * hydra: added initial version of build graph
  • [13] SJN2QPWH * Big speed-up of the job status page and the channel generation (such
  • [14] AX5EQJO3 hydra: show machine in buildsteps
  • [15] TW5ZQX5Z * Move up the build products in the builds page, since they're more
  • [16] TCXFZZFN * hydra: make chart zoomable and clickable
  • [17] 2QA4Y4G3 * hydra: added index, actual build time (buildstep with same outpath, so without deps) of the build
  • [18] WWZWUPFI if no previous successful build, do not show changes section
  • [19] ELABMHJI * hydra: layout changes
  • [20] 7UJ5YV4V * Provide a channel for each project containing all the latest
  • [21] ZTQEU5QS Hydra: Add support for maxSilent meta attribute (also already added timeout, but not implemented the actual timeout for the build yet)
  • [22] BEKA3TMM Hydra/25: At job pages, show the hash of the output
  • [23] MMDLWWZ2 automatic reload of tail log when build is running
  • [24] CEARA7OH * hydra: show running buildsteps on build page
  • [*] LBNVQXUB * Build the /build stuff in a separate controller.
  • [*] HB3OHPJL hydra: in case of cached build, add link to build that built the storepath
  • [*] J5UVLXOK * Start of a basic Catalyst web interface.
  • [*] ODNCGFQ5 * Improved the navigation bar: don't include all projects (since that
  • [*] IK53RV4V

Change contents

  • edit in src/lib/Hydra/Controller/Build.pm at line 84
    [27.250]
    [26.1111]
    my $r = joinWithResultInfo( $c, $c->model('DB::Builds'))->search(
    { eval => { -in => $build->jobsetevalmembers->get_column('eval')->as_query } }
    , { join => 'jobsetevalmembers', order_by => [ 'project', 'jobset', 'job'] }
    );
    if ($r->count <= 50) {
    $c->stash->{relatedbuilds} = [$r->all];
    }
  • replacement in src/lib/Hydra/Helper/CatalystUtils.pm at line 108
    [7.1935][7.1935:1985]()
    , '+as' => ["releasename", "buildstatus"]
    [7.1935]
    [7.1985]
    , '+as' => ["releasename", "buildStatus"]
  • edit in src/root/build.tt at line 10
    [29.6589]
    [7.1960]
    [% resultInfo = build.resultInfo %]
  • replacement in src/root/build.tt at line 38
    [7.2931][7.2931:3030]()
    [% INCLUDE renderDuration duration = build.resultInfo.stoptime - step.starttime %]
    [7.2931]
    [7.3030]
    [% INCLUDE renderDuration duration = resultInfo.stoptime - step.starttime %]
  • edit in src/root/build.tt at line 91
    [7.4080]
    [7.4080]
    [% IF relatedbuilds %]<li><a href="#tabs-relatedbuilds">Related builds</a></li>[% END %]
  • replacement in src/root/build.tt at line 109
    [7.4546][7.4546:4590]()
    [% IF build.resultInfo.releasename %]
    [7.4546]
    [7.4590]
    [% IF resultInfo.releasename %]
  • replacement in src/root/build.tt at line 112
    [7.4636][7.4636:4712]()
    <td><tt>[% HTML.escape(build.resultInfo.releasename) %]</tt></td>
    [7.4636]
    [7.4712]
    <td><tt>[% HTML.escape(resultInfo.releasename) %]</tt></td>
  • replacement in src/root/build.tt at line 134
    [7.5170][7.5170:5222]()
    [% IF build.resultInfo.iscachedbuild %]
    [7.5170]
    [4.0]
    [% IF resultInfo.iscachedbuild %]
  • replacement in src/root/build.tt at line 137
    [7.5325][3.0:198]()
    [% INCLUDE renderDuration duration = build.resultInfo.stoptime - build.resultInfo.starttime %] <tt>finished at [% INCLUDE renderDateTime timestamp = build.resultInfo.stoptime %]</tt>
    [7.5325]
    [7.5435]
    [% INCLUDE renderDuration duration = resultInfo.stoptime - resultInfo.starttime %] <tt>finished at [% INCLUDE renderDateTime timestamp = resultInfo.stoptime %]</tt>
  • replacement in src/root/build.tt at line 142
    [7.5503][7.5503:5543]()
    [% IF build.resultInfo.logfile %]
    [7.5503]
    [7.5543]
    [% IF resultInfo.logfile %]
  • replacement in src/root/build.tt at line 185
    [7.6726][5.169:272]()
    [% IF build.buildsteps && build.resultInfo.buildstatus != 0 && build.resultInfo.buildstatus != 6 %]
    [7.6726]
    [7.289]
    [% IF build.buildsteps && resultInfo.buildstatus != 0 && resultInfo.buildstatus != 6 %]
  • replacement in src/root/build.tt at line 217
    [7.57][7.6892:6967]()
    [% IF build.resultInfo.errormsg && build.resultInfo.buildstatus != 5 %]
    [7.57]
    [7.6967]
    [% IF resultInfo.errormsg && resultInfo.buildstatus != 5 %]
  • replacement in src/root/build.tt at line 221
    [7.7020][2.0:78]()
    <pre class="buildlog">[% HTML.escape(build.resultInfo.errormsg) -%]</pre>
    [7.7020]
    [7.7108]
    <pre class="buildlog">[% HTML.escape(resultInfo.errormsg) -%]</pre>
  • replacement in src/root/build.tt at line 267
    [7.8225][7.8225:8267]()
    [% IF build.resultInfo.releasename %]
    [7.8225]
    [7.8267]
    [% IF resultInfo.releasename %]
  • replacement in src/root/build.tt at line 270
    [7.8309][7.8309:8383]()
    <td><tt>[% HTML.escape(build.resultInfo.releasename) %]</tt></td>
    [7.8309]
    [7.8383]
    <td><tt>[% HTML.escape(resultInfo.releasename) %]</tt></td>
  • replacement in src/root/build.tt at line 329
    [7.10174][7.10174:10300]()
    [% IF build.finished && build.resultInfo.buildstatus != 4 %]
    [% IF build.resultInfo.iscachedbuild && cachedBuild %]
    [7.10174]
    [7.10300]
    [% IF build.finished && resultInfo.buildstatus != 4 %]
    [% IF resultInfo.iscachedbuild && cachedBuild %]
  • replacement in src/root/build.tt at line 339
    [7.10497][7.10497:10659]()
    <td>[% IF build.resultInfo.starttime %][% INCLUDE renderDateTime timestamp = build.resultInfo.starttime %][% ELSE %]<em>(cached build)</em>[% END %]</td>
    [7.10497]
    [7.10659]
    <td>[% IF resultInfo.starttime %][% INCLUDE renderDateTime timestamp = resultInfo.starttime %][% ELSE %]<em>(cached build)</em>[% END %]</td>
  • replacement in src/root/build.tt at line 343
    [7.10715][7.10715:10875]()
    <td>[% IF build.resultInfo.stoptime %][% INCLUDE renderDateTime timestamp = build.resultInfo.stoptime %][% ELSE %]<em>(cached build)</em>[% END %]</td>
    [7.10715]
    [7.10875]
    <td>[% IF resultInfo.stoptime %][% INCLUDE renderDateTime timestamp = resultInfo.stoptime %][% ELSE %]<em>(cached build)</em>[% END %]</td>
  • replacement in src/root/build.tt at line 348
    [7.10938][7.10938:10988]()
    [% IF build.resultInfo.iscachedbuild %]
    [7.10938]
    [7.10988]
    [% IF resultInfo.iscachedbuild %]
  • replacement in src/root/build.tt at line 351
    [7.11045][7.11045:11152]()
    [% INCLUDE renderDuration duration = build.resultInfo.stoptime - build.resultInfo.starttime %]
    [7.11045]
    [7.11152]
    [% INCLUDE renderDuration duration = resultInfo.stoptime - resultInfo.starttime %]
  • replacement in src/root/build.tt at line 355
    [7.11198][7.11198:11238]()
    [% IF build.resultInfo.logfile %]
    [7.11198]
    [7.11238]
    [% IF resultInfo.logfile %]
  • replacement in src/root/build.tt at line 378
    [7.11947][7.11947:11991]()
    [% ELSIF build.resultInfo.keep %]
    [7.11947]
    [7.11991]
    [% ELSIF resultInfo.keep %]
  • edit in src/root/build.tt at line 436
    [7.266]
    [28.7981]
    [% IF relatedbuilds %]
    <div id="tabs-relatedbuilds">
    <h2>Related builds</h2>
    [% INCLUDE renderBuildList builds=relatedbuilds%]
    </div>
    [% END %]
  • replacement in src/root/build.tt at line 488
    [7.485][7.451:558](),[7.558][7.615:693](),[7.615][7.615:693]()
    d.push([[% prevbuild.resultInfo.starttime * 1000 %],[% prevbuild.get_column('actualBuildTime') %]]);
    ids[[% prevbuild.resultInfo.starttime * 1000 %]] = [% prevbuild.id %] ;
    [7.485]
    [7.693]
    [% pbResultInfo = prevbuild.resultInfo %]
    d.push([[% pbResultInfo.starttime * 1000 %],[% prevbuild.get_column('actualBuildTime') %]]);
    ids[[% pbResultInfo.starttime * 1000 %]] = [% prevbuild.id %] ;
  • edit in src/root/common.tt at line 233
    [7.1197]
    [6.1582]
    [% buildstatus = build.resultInfo.buildstatus %]
  • replacement in src/root/common.tt at line 235
    [6.1630][7.1197:1244](),[7.1197][7.1197:1244]()
    [% IF build.resultInfo.buildstatus == 0 %]
    [6.1630]
    [7.1294]
    [% IF buildstatus == 0 %]
  • replacement in src/root/common.tt at line 237
    [7.1325][7.1325:1375]()
    [% ELSIF build.resultInfo.buildstatus == 1 %]
    [7.1325]
    [7.1425]
    [% ELSIF buildstatus == 1 %]
  • replacement in src/root/common.tt at line 239
    [7.1494][7.1494:1544]()
    [% ELSIF build.resultInfo.buildstatus == 2 %]
    [7.1494]
    [7.1594]
    [% ELSIF buildstatus == 2 %]
  • replacement in src/root/common.tt at line 241
    [7.1660][7.1660:1710]()
    [% ELSIF build.resultInfo.buildstatus == 4 %]
    [7.1660]
    [7.1760]
    [% ELSIF buildstatus == 4 %]
  • replacement in src/root/common.tt at line 243
    [7.1811][7.1811:1861]()
    [% ELSIF build.resultInfo.buildstatus == 5 %]
    [7.1811]
    [7.1911]
    [% ELSIF buildstatus == 5 %]
  • replacement in src/root/common.tt at line 247
    [7.2193][7.2193:2243]()
    [% ELSIF build.resultInfo.buildstatus == 6 %]
    [7.2193]
    [7.2293]
    [% ELSIF buildstatus == 6 %]
  • replacement in src/root/common.tt at line 253
    [7.2523][7.2523:2626]()
    [% IF c.user_exists && (build.resultInfo.buildstatus == 3 || build.resultInfo.buildstatus == 4) %]
    [7.2523]
    [7.2626]
    [% IF c.user_exists && (buildstatus == 3 || buildstatus == 4) %]