{% extends "base.html" %} {% import "_macros.html" as ui %} {% block title %}Dashboard · sagittarius{% endblock %} {% block content %}

Dashboard

Live since-startup figures stream in as queries are processed; the persisted window survives restarts.

{% call ui::icon("live") %}{% endcall %}Live (since startup)

{% call ui::icon("queries") %}{% endcall %} {{ total }} Queries
{% call ui::icon("blocked") %}{% endcall %} {{ blocked }} Blocked
{% call ui::icon("ratio") %}{% endcall %} 0.0% Blocked ratio
{% call ui::icon("cached") %}{% endcall %} {{ cached }} Cached
{% call ui::icon("forwarded") %}{% endcall %} {{ forwarded }} Forwarded
{% call ui::icon("domains") %}{% endcall %} {{ blocklist_size }} Blocklist domains

{% call ui::icon("system") %}{% endcall %}System

{% call ui::icon("version") %}{% endcall %} {{ system.version }} Version
{% call ui::icon("uptime") %}{% endcall %} {{ system.uptime }} Uptime
{% call ui::icon("qps") %}{% endcall %} 0.0 Queries/sec
{% call ui::icon("cached") %}{% endcall %} {{ system.cache_entries }} / {{ system.cache_capacity }} Cache entries
{% call ui::icon("memory") %}{% endcall %} {{ system.process_memory }} Process memory

{% call ui::icon("history") %}{% endcall %}Last 24 hours (persisted)

{% call ui::icon("queries") %}{% endcall %} {{ window_total }} Queries
{% call ui::icon("blocked") %}{% endcall %} {{ window_blocked }} Blocked
{% call ui::icon("cached") %}{% endcall %} {{ window_cached }} Cached
{% call ui::icon("forwarded") %}{% endcall %} {{ window_forwarded }} Forwarded
{% call ui::icon("domains") %}{% endcall %}Top domains · 24h
{% if window_top_domains.is_empty() %}

No queries in the last 24 hours.

{% else %} {% for (domain, count) in window_top_domains %} {% endfor %}
DomainQueries
{{ domain }}{{ count }}
{% endif %}
{% call ui::icon("clients") %}{% endcall %}Top clients · 24h
{% if window_top_clients.is_empty() %}

No queries in the last 24 hours.

{% else %} {% for (client, count) in window_top_clients %} {% endfor %}
ClientQueries
{{ client }}{{ count }}
{% endif %}

{% call ui::icon("health") %}{% endcall %}Upstream health (since startup)

{% if upstreams.is_empty() %}

No upstream queries yet.

{% else %}
{% for u in upstreams %} {% endfor %}
Upstream Queries Success Latency Last error
{{ u.addr }} {{ u.queries }} {{ u.success_rate }} {{ u.latency }} {% if u.last_error.is_empty() %}—{% else %}{{ u.last_error }}{% endif %}
{% endif %}

{% call ui::icon("talkers") %}{% endcall %}Top talkers (since startup)

{% call ui::icon("domains") %}{% endcall %}Top domains
{% if top_domains.is_empty() %}

No queries yet.

{% else %} {% for (domain, count) in top_domains %} {% endfor %}
DomainQueries
{{ domain }}{{ count }}
{% endif %}
{% call ui::icon("clients") %}{% endcall %}Top clients
{% if top_clients.is_empty() %}

No queries yet.

{% else %} {% for (client, count) in top_clients %} {% endfor %}
ClientQueries
{{ client }}{{ count }}
{% endif %}
{% endblock %}