[% WRAPPER layout.tt title="Machine status" %] [% PROCESS common.tt %] [% USE format %] [% FOREACH m IN machines %] [% name = m.key ? stripSSHUser(m.key) : "localhost" %] [% idle = 1 %] [% FOREACH step IN steps %] [% name2 = step.machine ? stripSSHUser(step.machine) : "localhost" %] [% IF name == name2 %] [% idle = 0 %] [% END %] [% END %] [% IF idle == 1 %] [% END %] [% END %]
Job Build Step What Status Since
[% INCLUDE renderMachineName machine=m.key %] [% IF m.value.primarySystemType %] ([% m.value.primarySystemType | html %])   [% WRAPPER makePopover title="Details" classes="btn-secondary btn-sm" %]
  • System types: [% comma=0; FOREACH system IN m.value.systemTypes %][% IF comma; %], [% ELSE; comma = 1; END %][% system | html%][% END %]
  • Supported Features: [% comma=0; FOREACH feat IN m.value.supportedFeatures %][% IF comma; %], [% ELSE; comma = 1; END %][% feat| html %][% END %]
  • Mandatory Features: [% comma=0; FOREACH feat IN m.value.mandatoryFeatures %][% IF comma; %], [% ELSE; comma = 1; END %][% feat| html %][% END %]
  • Capacity: [% INCLUDE renderYesNo value=m.value.hasCapacity %] Static: [% INCLUDE renderYesNo value=m.value.hasStaticCapacity %] Dynamic: [% INCLUDE renderYesNo value=m.value.hasDynamicCapacity %]
  • Scheduling Score: [% HTML.escape(m.value.score) %]
  • Load: [% pretty_load(m.value.stats.load1) | html %]   [% pretty_load(m.value.stats.load5) | html %]   [% pretty_load(m.value.stats.load15) | html %]
  • Memory: [% human_bytes(m.value.stats.memUsage) | html %] of [% human_bytes(m.value.memTotal) | html %] used ([% human_bytes(m.value.memTotal - m.value.stats.memUsage) | html %] free)
  • [% pressure = m.value.stats.pressure %] [% MACRO render_pressure(title, pressure) BLOCK %] [% IF pressure %]
[% HTML.escape(title) %]:[% pretty_percent(pressure.avg10) | html %]%[% pretty_percent(pressure.avg60) | html %]%[% pretty_percent(pressure.avg300) | html %]% [% END %] [% END %] [% IF pressure %]
  • Pressure:  [% render_pressure('Some CPU', pressure.cpuSome) %] [% render_pressure('Some IO', pressure.ioSome) %] [% render_pressure('Full IO', pressure.ioFull) %] [% render_pressure('Full IRQ', pressure.irqFull) %] [% render_pressure('Some Memory', pressure.memSome) %] [% render_pressure('Full Memory', pressure.memFull) %]
  • [% END %] [% END %] [% ELSE %] [% IF m.value.systemTypes %] ([% comma=0; FOREACH system IN m.value.systemTypes %][% IF comma; %], [% ELSE; comma = 1; END %][% system | html %][% END %]) [% END %] [% END %] [% IF m.value.nrStepsDone %] ([% m.value.nrStepsDone %] steps done, [% f = format("%.1f"); f(m.value.avgStepBuildTime) %] s/step) [% END %]
    [% INCLUDE renderFullJobName project=step.project jobset=step.jobset job=step.job %] c.uri_for('/build' step.build)) %]>[% HTML.escape(step.build) %] [% IF step.busy >= 30 %] c.uri_for('/build' step.build 'nixlog' step.stepnr 'tail')) %]>[% HTML.escape(step.stepnr) %][% ELSE; HTML.escape(step.stepnr); END %] [% step.drvpath.match('-(.*)').0 | html %] [% INCLUDE renderBusyStatus %] [% INCLUDE renderDuration duration = curTime - step.starttime %]
    Idle
    [% END %]