AS

ajay150313/slo-impact

API development

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

100 stars Качество 77 Тренд 29MIT

Пользовательско-взвешенная панель SLO - измеряет истинное время безотказной работы 99,99% по фактическому воздействию клиентов, а не по сырой доступности

Обзор

Измерьте истинное время безотказной работы на 99,99% по фактическому воздействию клиентов, а не только по сырой доступности. Каждый SRE знает формулу: (total time − downtime) / total time. Но эта метрика относится идентично к . Когда ваша платформа oncall показала 99,99%, это означало, что ваши клиенты испытали 99,99% доступности? Или просто ваша инфраструктура выросла на 99,99%? Время безотказной работы отсчитывает каждую минуту. Воздействовать на весы безотказной работы, которые были затронуты и был ли это пик трафика. Опубликовано с демо-коллектора in-repo (синтетическая банковская платформа, нет данных о клиентах в реальном времени). Начните с docker-compose up или Slo-impact и откройте http://localhost:8080. Для каждого инцидента мы фиксируем два дополнительных измерения: Отключение в 3 часа утра на 8% трафика, затрагивающее 5% пользователей, способствует только тому, что такое же отключение будет способствовать на пике. Этот разрыв — между тем, что ваши отчеты об инфраструктуре и тем, что чувствуют клиенты — имеет значение для целостности SLO. Если ваш SLO никогда не нарушался, это не SLO.

Обзор (машинный перевод)

** Панель приборов SLO с эффектом пользователя** Измерьте *истинное * 99,99% времени безотказной работы по фактическому воздействию на клиента, а не только по сырой доступности.

##Проблема доступности сырья

Каждый из них знает свою формулу: Но эта метрика рассматривает отключение **3 AM, затрагивающее 3% пользователей **, идентично с отключением. полуденное отключение, затрагивающее всех пользователей при пиковой нагрузке.

Когда ваша платформа oncall показала 99.99%, это означало, что ваши *клиенты * испытали Доступность 99,99%? Или просто ваша инфраструктура выросла на 99,99%?

** - ответ на реальный вопрос. **

Архитектура

Время безотказной работы отсчитывает каждую минуту. Воздействовать на весы безотказной работы, которые были затронуты и был ли это пик трафика.

Демо приборная панель

Опубликовано с демо-коллектора in-repo (синтетическая банковская платформа, нет данных о клиентах в реальном времени). Начните с docker-compose up или slo-impact и откройте http://localhost:8080.

Как это работает

Для каждого инцидента мы фиксируем два дополнительных измерения:

Измерение - значение [скрыто] [скрыто] | user_fraction | Фракция базы пользователей, фактически затронутая (0–1) | traffic_weight | Трафик во время инцидента ÷ базовый трафик |

** Время простоя пользователя в случае инцидента:**

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

slo-impact

User-impact-weighted SLO dashboard.
Measure true 99.99% uptime by actual customer exposure — not just raw availability.


The problem with raw availability

Every SRE knows the formula: (total_time − downtime) / total_time.
But that metric treats a 3 AM outage affecting 3% of users identically to a noon outage affecting all users at peak load.

When your oncall platform showed 99.99%, did it mean your customers experienced 99.99% availability? Or just that your infrastructure was up 99.99% of the time?

slo-impact answers the real question.


Architecture

Raw uptime counts every minute. Impact uptime weights who was affected and whether it was peak traffic.

Demo dashboard

Rendered from the in-repo demo collector (synthetic banking platform, no live customer data). Start it with docker-compose up or slo-impact and open http://localhost:8080.

How it works

For each incident we capture two extra dimensions:

Dimension Meaning
user_fraction Fraction of the user base actually affected (0–1)
traffic_weight Traffic during incident ÷ baseline traffic

User-impact downtime per incident:

impact_seconds = duration × user_fraction × traffic_weight

User-impact uptime:

user_impact_uptime = 1 − (Σ impact_seconds) / window_seconds

A 3 AM outage at 8% traffic affecting 5% of users contributes only 0.4% of what the same outage would contribute at peak. That gap — between what your infrastructure reports and what customers feel — is the number that matters for SLO integrity.

“If your SLO has never been breached, it isn’t an SLO. It’s a slogan.”


Quick start

git clone https://github.com/Ajay150313/slo-impact.git
cd slo-impact
docker-compose up

Open http://localhost:8080 — the dashboard runs with built-in synthetic data that mirrors a realistic digital banking platform. No Prometheus required.

Option 2 — pip

pip install slo-impact          # once published to PyPI
# or from source:
pip install -e .

slo-impact                      # starts on http://0.0.0.0:8080

Option 3 — from source (development)

git clone https://github.com/Ajay150313/slo-impact.git
cd slo-impact
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
uvicorn slo_impact.main:app --reload --port 8080

Prometheus integration

Открыть полный README на GitHub

Рекомендуемые инструменты

Попробуйте другой запрос или уберите фильтр.

Установка

npx skillfish add ajay150313/slo-impact
Новичок в MCP? Начните с руководства на mcpskill.org →