{% extends "base.html" %} {% block title %}{{ _("System stats") }}{% endblock %} {% block content %}
{{ _("This is the machine the panel process itself runs on. Bots deployed in") }} legacy_space {{ _("mode run on their own separate HF Space and aren't reflected in this host's CPU/RAM — only in the per-user table below (allocated quota, not live usage). Bots running in") }} multitenant {{ _("mode (subprocess inside this Space) do show live CPU/RAM in the \"live\" columns.") }}
| {{ _("User") }} | {{ _("Bots") }} | {{ _("Running") }} | {{ _("By status") }} | {{ _("Live CPU") }} {{ _("(multitenant)") }} | {{ _("Live RAM") }} {{ _("(multitenant)") }} | {{ _("Allocated CPU") }} | {{ _("Allocated RAM") }} | {{ _("Storage used") }} |
|---|---|---|---|---|---|---|---|---|
|
{{ row.user.username[:2]|upper }}
{{ row.user.username }}
|
{{ row.bots_total }} | {% if row.bots_running %} {{ row.bots_running }} {% else %} 0 {% endif %} |
{# Compact status pills: 🟢3 🔨1 💤2 etc. #}
{% if row.bots_by_status %}
{% for key in ['running', 'building', 'starting', 'sleeping', 'error', 'pending', 'stopped'] %}
{% set n = row.bots_by_status.get(key, 0) %}
{% if n > 0 %}
{% set icon = {'running':'🟢','building':'🔨','starting':'⏳','sleeping':'💤','error':'🔴','pending':'⏸','stopped':'⏹'}[key] %}
{{ icon }}{{ n }}
{% endif %}
{% endfor %}
{% else %}
—
{% endif %}
|
{{ row.cpu_live_percent }}% | {{ row.ram_live_mb }} MB | {{ row.cpu_alloc_cores }} / {{ row.user.cpu_quota_cores }} {{ _("cores") }} | {{ row.ram_alloc_mb }} / {{ row.user.ram_quota_mb }} MB | {{ row.storage_used_mb }} / {{ row.user.storage_quota_mb }} MB |
| {{ _("No users yet.") }} | ||||||||