{% extends "base.html" %} {% block title %}SLOs โ€” Ops Hub{% endblock %} {% block extra_css %} {% endblock %} {% block content %} โ† Ops Hub

๐Ÿ“Š SLOs

Service Level Objectives ยท Burn Rates ยท Error Budgets โ€” {{ classification }}

{% set slos = data.slos %} {% set summary = data.summary %}
{{ summary.get('total_slos', 'โ€”') }}
Total SLOs
{{ summary.get('met_count', 0) }}
Met
{{ summary.get('at_risk_count', 0) }}
At Risk
{{ summary.get('breached_count', 0) }}
Breached

SLO Status

SLO NameTargetCurrentBurn RateStatus
{% if slos %} {% for slo in slos %} {% set status = slo.get('status','unknown') %} {% set burn = slo.get('burn_rate', 0) %} {% set burn_pct = [burn * 10, 100]|min %}
{{ slo.get('name', slo.get('slo_name', '?')) }}
{{ slo.get('service', '') }}
{{ slo.get('target', slo.get('target_value', '?')) }}% {{ slo.get('current_value', 'โ€”') }}%
{{ burn|round(2) }}x
{{ status|upper }}
{% endfor %} {% else %}

No SLOs configured.

{% endif %}
{% if slos %}

Error Budget Remaining

{% for slo in slos[:6] %} {% set budget = slo.get('error_budget_remaining', slo.get('budget_remaining', 100)) %}
{{ slo.get('name', slo.get('slo_name', '?')) }}
{{ budget|round(1) }}%
{% endfor %}
{% endif %} {% include "includes/iqe_query_widget.html" %} {% endblock %}