2013-02-20 15:54:33 +01:00
[% WRAPPER layout.tt title="Machine status" %]
2010-04-27 13:29:08 +00:00
[% PROCESS common.tt %]
2015-09-09 16:51:20 +02:00
[% USE format %]
2010-04-27 13:29:08 +00:00
2012-04-12 21:42:21 +02:00
<table class="table table-condensed table-striped">
2014-09-25 20:24:55 +02:00
<thead>
<tr>
<th>Job</th>
<th>Build</th>
<th>Step</th>
<th>What</th>
2024-04-11 17:12:47 +02:00
<th>Status</th>
2014-09-25 20:24:55 +02:00
<th>Since</th>
</tr>
</thead>
2013-02-20 16:47:57 +01:00
[% FOREACH m IN machines %]
2015-06-17 13:49:18 +02:00
[% name = m.key ? stripSSHUser(m.key) : "localhost" %]
2010-10-13 12:32:57 +00:00
<thead>
2013-02-20 16:47:57 +01:00
<tr>
2025-04-13 08:29:01 +02:00
<th colspan="7">
2016-03-16 15:23:56 +01:00
<tt [% IF m.value.disabled %]style="text-decoration: line-through;"[% END %]>[% INCLUDE renderMachineName machine=m.key %]</tt>
2025-07-31 16:26:06 +02:00
[% IF m.value.primarySystemType %]
2015-09-09 16:51:20 +02:00
<span class="muted" style="font-weight: normal;">
2025-07-31 16:26:06 +02:00
(<tt>[% m.value.primarySystemType %]</tt>)
2015-09-09 16:51:20 +02:00
</span>
2025-07-31 16:26:06 +02:00
[% WRAPPER makePopover title="Details" classes="btn-secondary btn-sm" %]
<ul class="list-unstyled">
<li><b>System types: </b>[% comma=0; FOREACH system IN m.value.systemTypes %][% IF comma; %], [% ELSE; comma = 1; END %]<tt>[% system %]</tt>[% END %]</li>
<li><b>Supported Features: </b>[% comma=0; FOREACH feat IN m.value.supportedFeatures %][% IF comma; %], [% ELSE; comma = 1; END %]<tt>[% feat %]</tt>[% END %]</li>
<li><b>Mandatory Features: </b>[% comma=0; FOREACH feat IN m.value.mandatoryFeatures %][% IF comma; %], [% ELSE; comma = 1; END %]<tt>[% feat %]</tt>[% END %]</li>
<li><b>Capacity: </b>[% INCLUDE renderYesNo value=m.value.hasCapacity %] <b>Static: </b>[% INCLUDE renderYesNo value=m.value.hasStaticCapacity %] <b>Dynamic: </b>[% INCLUDE renderYesNo value=m.value.hasDynamicCapacity %]</li>
<li><b>Score: </b>[% m.value.score %]</li>
<li><b>Load: </b><tt>[% m.value.stats.load1 %]</tt> <tt>[% m.value.stats.load5 %]</tt> <tt>[% m.value.stats.load15 %]</tt></li>
<li><b>Memory: </b><tt>[% mibs(m.value.stats.memUsage / (1024 * 1024)) %] MiB</tt> bytes of <tt>[% mibs(m.value.memTotal / (1024 * 1024)) %] MiB</tt> bytes used</li>
[% pressure = m.value.stats.pressure %]
[% IF pressure %]
<li><b>Pressure: </b>
<table class="pressureTable">
[% IF pressure.cpuSome %]
<tr><td><b>Some CPU:</b></td><td><tt>[% pressure.cpuSome.avg10 %]%</tt></td><td><td><tt>[% pressure.cpuSome.avg60 %]%</tt></td><td><td><tt>[% pressure.cpuSome.avg300 %]%</tt></td><td>
[% END %]
[% IF pressure.ioSome %]
<tr><td><b>Some IO:</b></td><td><tt>[% pressure.ioSome.avg10 %]%</tt></td><td><td><tt>[% pressure.ioSome.avg60 %]%</tt></td><td><td><tt>[% pressure.ioSome.avg300 %]%</tt></td><td>
[% END %]
[% IF pressure.ioFull %]
<tr><td><b>Full IO:</b></td><td><tt>[% pressure.ioFull.avg10 %]%</tt></td><td><td><tt>[% pressure.ioFull.avg60 %]%</tt></td><td><td><tt>[% pressure.ioFull.avg300 %]%</tt></td><td>
[% END %]
[% IF pressure.irqFull %]
<tr><td><b>Full IRQ:</b></td><td><tt>[% pressure.irqFull.avg10 %]%</tt></td><td><td><tt>[% pressure.irqFull.avg60 %]%</tt></td><td><td><tt>[% pressure.irqFull.avg300 %]%</tt></td><td>
[% END %]
[% IF pressure.memSome %]
<tr><td><b>Some Memory:</b></td><td><tt>[% pressure.memSome.avg10 %]%</tt></td><td><td><tt>[% pressure.memSome.avg60 %]%</tt></td><td><td><tt>[% pressure.memSome.avg300 %]%</tt></td><td>
[% END %]
[% IF pressure.memFull %]
<tr><td><b>Full Memory:</b></td><td><tt>[% pressure.memFull.avg10 %]%</tt></td><td><td><tt>[% pressure.memFull.avg60 %]%</tt></td><td><td><tt>[% pressure.memFull.avg300 %]%</tt></td><td>
[% END %]
</table>
</li>
[% END %]
</ul>
[% END %]
[% ELSE %]
[% IF m.value.systemTypes %]
<span class="muted" style="font-weight: normal;">
([% comma=0; FOREACH system IN m.value.systemTypes %][% IF comma; %], [% ELSE; comma = 1; END %]<tt>[% system %]</tt>[% END %])
</span>
[% END %]
2015-09-09 16:51:20 +02:00
[% END %]
[% IF m.value.nrStepsDone %]
<span class="muted" style="font-weight: normal;">
([% m.value.nrStepsDone %] steps done, [% f = format("%.1f"); f(m.value.avgStepBuildTime) %] s/step)
</span>
2013-04-23 14:24:48 +02:00
[% END %]
2013-02-20 16:47:57 +01:00
</th>
</tr>
2010-10-13 12:32:57 +00:00
</thead>
<tbody>
2013-02-20 16:47:57 +01:00
[% idle = 1 %]
[% FOREACH step IN steps %]
2015-06-17 13:49:18 +02:00
[% name2 = step.machine ? stripSSHUser(step.machine) : "localhost" %]
2013-04-23 14:24:48 +02:00
[% IF name == name2 %]
2013-02-20 16:47:57 +01:00
[% idle = 0 %]
<tr>
2016-03-16 15:19:18 +01:00
<td><tt>[% INCLUDE renderFullJobName project=step.project jobset=step.jobset job=step.job %]</tt></td>
<td><a href="[% c.uri_for('/build' step.build) %]">[% step.build %]</a></td>
2017-12-07 15:35:31 +01:00
<td>[% IF step.busy >= 30 %]<a class="row-link" href="[% c.uri_for('/build' step.build 'nixlog' step.stepnr 'tail') %]">[% step.stepnr %]</a>[% ELSE; step.stepnr; END %]</td>
2013-02-20 16:47:57 +01:00
<td><tt>[% step.drvpath.match('-(.*)').0 %]</tt></td>
2024-04-11 17:12:47 +02:00
<td>[% INCLUDE renderBusyStatus %]</td>
2013-04-23 14:24:48 +02:00
<td style="width: 10em">[% INCLUDE renderDuration duration = curTime - step.starttime %] </td>
2013-02-20 16:47:57 +01:00
</tr>
2010-10-13 12:32:57 +00:00
[% END %]
2013-02-20 16:47:57 +01:00
[% END %]
[% IF idle == 1 %]
2015-07-10 15:34:29 +02:00
<tr><td colspan="6">Idle</td></tr>
2013-02-20 16:47:57 +01:00
[% END %]
2010-10-13 12:32:57 +00:00
</tbody>
2013-02-20 16:47:57 +01:00
[% END %]
2010-10-13 12:32:57 +00:00
</table>
2010-04-27 13:29:08 +00:00
[% END %]