Live Data:
{% if stream.error %}
({{ stream.error }})
{% else %}
- Messages: {{ stream.live_messages }}
- Size: {{ stream.live_bytes|filesizeformat }} {% if stream.live_messages == 0 %}
- First message: (empty)
- Last message: (empty) {% else %}
- First message: {% if stream.live_first_ts %} {{ stream.live_first_ts.isoformat() }} {% elif stream.first_ts_error %} (lookup failed: {{ stream.first_ts_error }}) {% else %} (unknown) {% endif %}
- Last message: {% if stream.live_last_ts %} {{ stream.live_last_ts.isoformat() }} {% elif stream.last_ts_error %} (lookup failed: {{ stream.last_ts_error }}) {% else %} (unknown) {% endif %} {% endif %}
Configuration:
{% if errors and errors[stream.name] %}
- Max age: {{ (stream.max_age_s / 86400)|round(1) }} days ({{ stream.max_age_s }}s)
- Max bytes (current): {{ stream.max_bytes_cfg|filesizeformat }}
{{ errors[stream.name] }}
{% endif %}
Set Retention:
{% set presets = [(1, '1 day'), (7, '7 days'), (14, '14 days'), (30, '30 days'), (365, '365 days')] %}
{% for days, label in presets %}
{% set preset_seconds = days * 86400 %}
{% endfor %}