AS

ajay150313/slo-impact

API development

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기

100 stars 품질 77 트렌드 29MIT

User-impact-weighted SLO 대시보드 - 실제 고객 노출에 의해 진정한 99.99% 가동 시간을 측정하지 않고, 원시 가용성

개요

실제 고객 노출에 의한 99.99 % 가동 시간을 측정 - 단지 유효성 여부. 모든 SRE는 공식을 알고 있습니다: (total time − 가동불능시간) / total time. 그러나 메트릭은 동일하게 치료한다. 당신의 oncall 플랫폼이 99.99 %를 보았을 때 고객은 99.99 %의 가용성을 경험 했습니까? 또는 인프라가 시간의 99.99 %를 차지 했습니까? 익지않는 가동 시간은 매 분을 조사합니다. 영향을받은 충격 가동 시간 무게와 피크 트래픽이 있는지 여부. In-repo 데모 수집가 (합성 은행 플랫폼, 라이브 고객 데이터 없음)에서 렌더링. docker-compose로 시작하거나 slo-impact 및 open http://localhost:8080. 각 사건을 위해 우리는 2개의 여분 차원을 붙잡습니다: 사용자의 5 %에 영향을 미치는 8 % 트래픽에서 3 AM 정전은 피크에 기여할 것입니다. 그 차이 - 인프라 보고서와 고객이 느끼는 것은 - SLO 무결성에 대한 문제입니다. "SLO가 절대 위반하지 않은 경우, SLO가 아닙니다.

개요(AI 번역)

User-impact-weighted SLO 대시보드. 측정 *true * 실제 고객 노출에 의한 99.99 % 가동 시간 - 단지 원료 가용성.


원료의 문제

모든 SRE는 공식을 알고 있습니다: (total_time − downtime) / total_time. 그러나 메트릭은 사용자의 3 %에 영향을 미치는 ** 3 AM 정전을 치료 ** 동일하게 ** 피크로드에서 모든 사용자에 영향을 미치는 정전 **.

oncall 플랫폼이 표시되면 99.99%, 그것을 의미했다 customers 경험 99.99% 가용성? 또는 인프라가 시간의 99.99 %를 차지 했습니까?

**slo-impact는 실제 질문에 답합니다. **


건축

익지않는 가동 시간은 매 분을 조사합니다. 영향을받은 충격 가동 시간 무게와 피크 트래픽이 있는지 여부.

데모 대시보드

In-repo 데모 수집가 (합성 은행 플랫폼, 라이브 고객 데이터 없음)에서 렌더링. docker-compose up 또는 slo-impact] 으로 시작하고 http://localhost:8080.]

어떻게 작동합니까?

각 사건을 위해 우리는 2개의 여분 차원을 붙잡습니다:

| 차원 | 의미 | |—||| | user_fraction | 사용자 기반의 분수가 실제로 영향을 미치는 (0–1) | | [T6] | 사고시 교통 |

** 사고 당 사용자 충격 가동 중단 시간: **

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요.

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

GitHub에서 전체 README 보기

추천 도구

다른 키워드를 입력하거나 필터를 제거해 보세요.

설치

npx skillfish add ajay150313/slo-impact
MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →