{# Fuller hardware view (hardware-aware W3), htmx-polled. Renders the curated strip (warnings) then the aggregated per-GPU detail and per-service admission over one cached ResourceSnapshot. Instantaneous readings are labelled "now"; cumulative-since-restart figures (peak temperature, throttle events, rejects) are labelled separately so a peak is never read as the current value. ALL markup lives in this fragment so the innerHTML poll swaps identical structure (initial render == refresh). #} {% include "fragments/resource_strip.html" %}
Snapshot age {{ "%.0f"|format(snapshot.collected_age_seconds) }}s. Readings marked now are instantaneous; since restart figures accumulate until the reporting service restarts.
Shared by: {{ g.services | join(", ") }}
| Utilization (now) | {% if g.utilization_percent is not none %}{{ g.utilization_percent }}%{% else %}unknown{% endif %} |
|---|---|
| Memory (now) | {% if g.vram_total_bytes is not none %}{{ gib(g.vram_used_bytes) }} / {{ gib(g.vram_total_bytes) }} GiB{% if pct is not none %} ({{ pct }}%){% endif %}{% else %}unknown{% endif %} |
| Temperature (now) | {% if g.temperature_celsius is not none %}{{ g.temperature_celsius }}°C{% else %}unknown{% endif %} |
| Peak temperature (since restart) | {% if g.max_temperature_celsius is not none %}{{ g.max_temperature_celsius }}°C{% else %}unknown{% endif %} |
| Throttling (now) | {% if g.throttle_active is none %}unknown{% elif g.throttle_active %}yes{% if g.throttle_reasons %} ({{ g.throttle_reasons | join(", ") }}){% endif %}{% else %}no{% endif %} |
| Throttle events (since restart) | {% if g.throttle_events_since_start is not none %}{{ g.throttle_events_since_start }}{% else %}unknown{% endif %} |
No GPU telemetry reported. On a CPU-only install this is expected.
{% endif %}| Service | Reachable | Device | Queue (now) | Rejected (since restart) | ||
|---|---|---|---|---|---|---|
| {{ v.name }} | {{ "yes" if v.up else "no" }} | {{ v.device or "unknown" }} | {% if v.admission is not none %}{{ v.admission.pending }}/{{ v.admission.max_pending }} | {{ v.admission.rejected_since_start }} | {% else %}unavailable | unavailable | {% endif %}
No service reported queue telemetry.
{% endif %}