File size: 1,020 Bytes
20fb354
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from inferscale import run_simulation


def test_healthy_run_has_diagnosis():
    result = run_simulation(
        {
            "duration_s": 6,
            "request_rate_rps": 0.5,
            "prompt_tokens_mean": 128,
            "output_tokens_mean": 8,
            "slo_ttft_ms": 2000,
            "slo_e2e_ms": 20000,
            "slo_attainment_target": 0.95,
        }
    )
    assert result["diagnostics"]["code"] in {"healthy", "healthy_near_saturation"}
    assert result["diagnostics"]["provenance"] == "heuristic-simulator-diagnosis"


def test_summary_exposes_component_slo_attainment():
    result = run_simulation(
        {
            "duration_s": 6,
            "request_rate_rps": 2,
            "prompt_tokens_mean": 128,
            "output_tokens_mean": 8,
        }
    )
    summary = result["summary"]
    assert 0 <= summary["ttft_slo_attainment"] <= 1
    assert 0 <= summary["e2e_slo_attainment"] <= 1
    assert set(summary["slo_failure_breakdown"]) == {"ttft_only", "e2e_only", "both"}