{#- A container's CPU and memory as service.usage() describes them (#5209). Docker counts CPU per core (100% = one core busy), so CPU reads as cores, toned by its share of the host's CPUs when the host's core count is known. Memory reads in bytes, against a limit only when one is actually set; mem_pct is then a share of that limit, otherwise of the host's memory. Each is toned by usage()'s grade when it has one: within the container's own normal for the hour reads healthy, and says what is usual (#5742). -#} {% macro cores(n) -%} {{ "%.2f"|format(n) if n < 1 else "%.1f"|format(n) }} {{ "core" if n == 1 else "cores" }} {%- endmacro %} {% macro cpu(u) -%} {%- if u.cores is none -%}— {%- else -%} {{ cores(u.cores) }} {%- endif -%} {%- endmacro %} {% macro mem(u) -%} {%- if u.mem_bytes is none -%}— {%- else -%} {{ u.mem_bytes|bytes }}{% if u.mem_limit %} / {{ u.mem_limit|bytes }}{% endif %} {%- endif -%} {%- endmacro %}