Files
dashboards/tests/fixtures/metrics_radiance.txt
T
ducoterra 219d7a7c3b phase: 34_radiance_llm_engine
Everything is verified and green. Final report:

**Phase 34 final verification pass — complete**

- Verified all 6 completed tasks' work against the live fleet and hermetic suite: `llm:radiance` job registered, `llm_engines()` registry drives 404 gate / history defaults / `/api/config` (additive, byte-identical gufo/vllm keys), radiance field map + `/stats` sidecar + 7-position spec curve, `/llm` strip/curve/rows.
- **Defect found & fixed (pre-existing, task 05):** the vLLM-only sentence "vLLM exposes no per-slot JSON…" rendered on the **radiance** panel (`slotSection`'s non-gufo branch). Fix: vLLM line gated to `engine === 'vllm'`; radiance's panel slot section renders nothing (its session home is the strip) — `page-llm.js` + the served-byte pin in `tests/test_api.py` (now asserts the radiance branch is empty and the sentence can't leak). Browser-verified; re-shot `data/logs/34-llm-radiance-rest.png` (the 4.5-min wait found no in-flight request, so the busy shot remains the earlier pass's — its strip rows still stand; only the panel text predates the fix).
- Tests: `uv run pytest` → **2031 passed, 19 skipped** (100%); `uv run pytest --cov` → **98.73%** (floor 94%; config 100%, llm 99%, collectors 98%, api 99%); `uv run ruff check src tests agent && uv run pyright` → clean; `node --check` OK; `uv pip list --outdated` → empty.
- `uv run pytest -m live --live` → **13 passed, 2 skipped** (vLLM unset — correct; live-write opt-in — correct); the read-only radiance test passed.
- Completion criteria: (1) engines `gufo`+`radiance`, `fleet.engines_live` 2, `config.llm.radiance.enabled` true — **pass (live curl)**; (2) unset → 404 no-dial + no job — **pass (spy-pinned, green)**; (3) fixtures present, both families (79 `radiance:` / 198 `vllm:` lines), drift pin — **pass**; (4) panel/curve/rows — **pass (re-shot rest screenshot)**; (5) live radiance test — **pass**; (6) suite/coverage/lint/`bash .agents/validate.sh` (exit 0) — **pass**; (7) docs — below; (8) gufo/vLLM behaviour unchanged — **pass (existing pins untouched)**.
- Documentation: **README.md** full review — env table, LLM-engines section, architecture diagram, capture-script and `/llm` section all name radiance correctly; no inconsistencies found, no changes needed. **AGENTS.md** — the three task-06 fixes (fleet line, route row, module bullets) are in place and all other statements match reality; no changes needed.
- Dev server healthy (`./scripts/dev-server.sh status`: all sources ok, `llm:radiance` answering); all changes left in the working tree for the harness.
- Next pending phase: none — 34 was the last phase in `todo/`.
2026-11-01 18:53:46 -05:00

429 lines
35 KiB
Plaintext

# Verbatim /metrics reply from the radiance engine, recorded by
# ./scripts/capture-fixtures.sh — the engine's own Prometheus text
# format: the radiance: native series + the vllm: compatibility family.
# Volatile values (counters, gauges) move every poll, so a diff here
# on re-capture is expected; the contract asserts the series-name set
# against RADIANCE_SERIES/RADIANCE_HISTOGRAMS/RADIANCE_OPTIONAL in
# sources/llm.py — never the numbers (the nut_*.vars precedent).
# HELP vllm:num_requests_running Number of requests currently running on GPU.
# TYPE vllm:num_requests_running gauge
vllm:num_requests_running{model_name="juggernaut",engine="0"} 0
# HELP vllm:num_requests_waiting Number of requests waiting to be processed.
# TYPE vllm:num_requests_waiting gauge
vllm:num_requests_waiting{model_name="juggernaut",engine="0"} 0
# HELP vllm:gpu_cache_usage_perc GPU KV-cache usage. 1 means 100 percent usage.
# TYPE vllm:gpu_cache_usage_perc gauge
vllm:gpu_cache_usage_perc{model_name="juggernaut",engine="0"} 0.74272018671035767
# HELP vllm:kv_cache_usage_perc KV-cache usage. 1 means 100 percent usage.
# TYPE vllm:kv_cache_usage_perc gauge
vllm:kv_cache_usage_perc{model_name="juggernaut",engine="0"} 0.74272018671035767
# HELP radiance:kv_cache_max_tokens Tokens of context the KV cache holds with every block it lends the experts taken back.
# TYPE radiance:kv_cache_max_tokens gauge
radiance:kv_cache_max_tokens{model_name="juggernaut",engine="0"} 443968
# HELP radiance:kv_cache_max_bytes VRAM the KV cache holds with every block it lends the experts taken back, one card.
# TYPE radiance:kv_cache_max_bytes gauge
radiance:kv_cache_max_bytes{model_name="juggernaut",engine="0"} 15901392896
# HELP radiance:kv_resident_blocks Blocks of every streamed KV group the device ring holds; 0 when no group streams.
# TYPE radiance:kv_resident_blocks gauge
radiance:kv_resident_blocks{model_name="juggernaut",engine="0"} 0
# HELP radiance:kv_stream_misses_total Blocks copied into a streamed KV group's ring from the host mirror.
# TYPE radiance:kv_stream_misses_total counter
radiance:kv_stream_misses_total{model_name="juggernaut",engine="0"} 0
# HELP radiance:kv_stream_bytes_total Bytes a streamed KV group's resolve moved, by direction.
# TYPE radiance:kv_stream_bytes_total counter
radiance:kv_stream_bytes_total{model_name="juggernaut",engine="0",dir="in"} 0
# HELP vllm:gpu_prefix_cache_hit_rate GPU prefix cache block hit rate.
# TYPE vllm:gpu_prefix_cache_hit_rate gauge
vllm:gpu_prefix_cache_hit_rate{model_name="juggernaut",engine="0"} 0.97886091470718384
# HELP vllm:prompt_tokens_total Number of prefill tokens processed.
# TYPE vllm:prompt_tokens_total counter
vllm:prompt_tokens_total{model_name="juggernaut",engine="0"} 56553179
# HELP vllm:generation_tokens_total Number of generation tokens processed.
# TYPE vllm:generation_tokens_total counter
vllm:generation_tokens_total{model_name="juggernaut",engine="0"} 423779
# HELP vllm:num_preemptions_total Cumulative number of preemptions from the engine.
# TYPE vllm:num_preemptions_total counter
vllm:num_preemptions_total{model_name="juggernaut",engine="0"} 0
# HELP radiance:preempt_forced_total Preempted prefill waits that ended by reclaiming cache blocks and forcing a lowest-priority running victim (--preempt-wait-ms).
# TYPE radiance:preempt_forced_total counter
radiance:preempt_forced_total{model_name="juggernaut",engine="0"} 0
# HELP vllm:request_success_total Count of successfully processed requests.
# TYPE vllm:request_success_total counter
vllm:request_success_total{model_name="juggernaut",engine="0",finished_reason="stop"} 7
vllm:request_success_total{model_name="juggernaut",engine="0",finished_reason="length"} 0
vllm:request_success_total{model_name="juggernaut",engine="0",finished_reason="tool_calls"} 594
vllm:request_success_total{model_name="juggernaut",engine="0",finished_reason="abort"} 2
vllm:request_success_total{model_name="juggernaut",engine="0",finished_reason="error"} 0
# HELP vllm:time_to_first_token_seconds Histogram of time to first token in seconds.
# TYPE vllm:time_to_first_token_seconds histogram
vllm:time_to_first_token_seconds_bucket{model_name="juggernaut",engine="0",le="0.001"} 0
vllm:time_to_first_token_seconds_bucket{model_name="juggernaut",engine="0",le="0.0050000000000000001"} 0
vllm:time_to_first_token_seconds_bucket{model_name="juggernaut",engine="0",le="0.01"} 0
vllm:time_to_first_token_seconds_bucket{model_name="juggernaut",engine="0",le="0.02"} 0
vllm:time_to_first_token_seconds_bucket{model_name="juggernaut",engine="0",le="0.040000000000000001"} 0
vllm:time_to_first_token_seconds_bucket{model_name="juggernaut",engine="0",le="0.059999999999999998"} 0
vllm:time_to_first_token_seconds_bucket{model_name="juggernaut",engine="0",le="0.080000000000000002"} 0
vllm:time_to_first_token_seconds_bucket{model_name="juggernaut",engine="0",le="0.10000000000000001"} 0
vllm:time_to_first_token_seconds_bucket{model_name="juggernaut",engine="0",le="0.25"} 0
vllm:time_to_first_token_seconds_bucket{model_name="juggernaut",engine="0",le="0.5"} 0
vllm:time_to_first_token_seconds_bucket{model_name="juggernaut",engine="0",le="0.75"} 1
vllm:time_to_first_token_seconds_bucket{model_name="juggernaut",engine="0",le="1"} 9
vllm:time_to_first_token_seconds_bucket{model_name="juggernaut",engine="0",le="2.5"} 407
vllm:time_to_first_token_seconds_bucket{model_name="juggernaut",engine="0",le="5"} 584
vllm:time_to_first_token_seconds_bucket{model_name="juggernaut",engine="0",le="7.5"} 595
vllm:time_to_first_token_seconds_bucket{model_name="juggernaut",engine="0",le="10"} 599
vllm:time_to_first_token_seconds_bucket{model_name="juggernaut",engine="0",le="20"} 603
vllm:time_to_first_token_seconds_bucket{model_name="juggernaut",engine="0",le="40"} 603
vllm:time_to_first_token_seconds_bucket{model_name="juggernaut",engine="0",le="80"} 603
vllm:time_to_first_token_seconds_bucket{model_name="juggernaut",engine="0",le="160"} 603
vllm:time_to_first_token_seconds_bucket{model_name="juggernaut",engine="0",le="640"} 603
vllm:time_to_first_token_seconds_bucket{model_name="juggernaut",engine="0",le="2560"} 603
vllm:time_to_first_token_seconds_bucket{model_name="juggernaut",engine="0",le="+Inf"} 603
vllm:time_to_first_token_seconds_sum{model_name="juggernaut",engine="0"} 1448.9084620109995
vllm:time_to_first_token_seconds_count{model_name="juggernaut",engine="0"} 603
# HELP vllm:time_per_output_token_seconds Histogram of time per output token in seconds.
# TYPE vllm:time_per_output_token_seconds histogram
vllm:time_per_output_token_seconds_bucket{model_name="juggernaut",engine="0",le="0.01"} 237
vllm:time_per_output_token_seconds_bucket{model_name="juggernaut",engine="0",le="0.025000000000000001"} 588
vllm:time_per_output_token_seconds_bucket{model_name="juggernaut",engine="0",le="0.050000000000000003"} 603
vllm:time_per_output_token_seconds_bucket{model_name="juggernaut",engine="0",le="0.074999999999999997"} 603
vllm:time_per_output_token_seconds_bucket{model_name="juggernaut",engine="0",le="0.10000000000000001"} 603
vllm:time_per_output_token_seconds_bucket{model_name="juggernaut",engine="0",le="0.14999999999999999"} 603
vllm:time_per_output_token_seconds_bucket{model_name="juggernaut",engine="0",le="0.20000000000000001"} 603
vllm:time_per_output_token_seconds_bucket{model_name="juggernaut",engine="0",le="0.29999999999999999"} 603
vllm:time_per_output_token_seconds_bucket{model_name="juggernaut",engine="0",le="0.40000000000000002"} 603
vllm:time_per_output_token_seconds_bucket{model_name="juggernaut",engine="0",le="0.5"} 603
vllm:time_per_output_token_seconds_bucket{model_name="juggernaut",engine="0",le="0.75"} 603
vllm:time_per_output_token_seconds_bucket{model_name="juggernaut",engine="0",le="1"} 603
vllm:time_per_output_token_seconds_bucket{model_name="juggernaut",engine="0",le="2.5"} 603
vllm:time_per_output_token_seconds_bucket{model_name="juggernaut",engine="0",le="5"} 603
vllm:time_per_output_token_seconds_bucket{model_name="juggernaut",engine="0",le="7.5"} 603
vllm:time_per_output_token_seconds_bucket{model_name="juggernaut",engine="0",le="10"} 603
vllm:time_per_output_token_seconds_bucket{model_name="juggernaut",engine="0",le="20"} 603
vllm:time_per_output_token_seconds_bucket{model_name="juggernaut",engine="0",le="40"} 603
vllm:time_per_output_token_seconds_bucket{model_name="juggernaut",engine="0",le="80"} 603
vllm:time_per_output_token_seconds_bucket{model_name="juggernaut",engine="0",le="+Inf"} 603
vllm:time_per_output_token_seconds_sum{model_name="juggernaut",engine="0"} 6.9956323654383148
vllm:time_per_output_token_seconds_count{model_name="juggernaut",engine="0"} 603
# HELP vllm:inter_token_latency_seconds Histogram of inter-token latency in seconds.
# TYPE vllm:inter_token_latency_seconds histogram
vllm:inter_token_latency_seconds_bucket{model_name="juggernaut",engine="0",le="0.01"} 237
vllm:inter_token_latency_seconds_bucket{model_name="juggernaut",engine="0",le="0.025000000000000001"} 588
vllm:inter_token_latency_seconds_bucket{model_name="juggernaut",engine="0",le="0.050000000000000003"} 603
vllm:inter_token_latency_seconds_bucket{model_name="juggernaut",engine="0",le="0.074999999999999997"} 603
vllm:inter_token_latency_seconds_bucket{model_name="juggernaut",engine="0",le="0.10000000000000001"} 603
vllm:inter_token_latency_seconds_bucket{model_name="juggernaut",engine="0",le="0.14999999999999999"} 603
vllm:inter_token_latency_seconds_bucket{model_name="juggernaut",engine="0",le="0.20000000000000001"} 603
vllm:inter_token_latency_seconds_bucket{model_name="juggernaut",engine="0",le="0.29999999999999999"} 603
vllm:inter_token_latency_seconds_bucket{model_name="juggernaut",engine="0",le="0.40000000000000002"} 603
vllm:inter_token_latency_seconds_bucket{model_name="juggernaut",engine="0",le="0.5"} 603
vllm:inter_token_latency_seconds_bucket{model_name="juggernaut",engine="0",le="0.75"} 603
vllm:inter_token_latency_seconds_bucket{model_name="juggernaut",engine="0",le="1"} 603
vllm:inter_token_latency_seconds_bucket{model_name="juggernaut",engine="0",le="2.5"} 603
vllm:inter_token_latency_seconds_bucket{model_name="juggernaut",engine="0",le="5"} 603
vllm:inter_token_latency_seconds_bucket{model_name="juggernaut",engine="0",le="7.5"} 603
vllm:inter_token_latency_seconds_bucket{model_name="juggernaut",engine="0",le="10"} 603
vllm:inter_token_latency_seconds_bucket{model_name="juggernaut",engine="0",le="20"} 603
vllm:inter_token_latency_seconds_bucket{model_name="juggernaut",engine="0",le="40"} 603
vllm:inter_token_latency_seconds_bucket{model_name="juggernaut",engine="0",le="80"} 603
vllm:inter_token_latency_seconds_bucket{model_name="juggernaut",engine="0",le="+Inf"} 603
vllm:inter_token_latency_seconds_sum{model_name="juggernaut",engine="0"} 6.9956323654383148
vllm:inter_token_latency_seconds_count{model_name="juggernaut",engine="0"} 603
# HELP vllm:e2e_request_latency_seconds Histogram of end to end request latency in seconds.
# TYPE vllm:e2e_request_latency_seconds histogram
vllm:e2e_request_latency_seconds_bucket{model_name="juggernaut",engine="0",le="0.29999999999999999"} 0
vllm:e2e_request_latency_seconds_bucket{model_name="juggernaut",engine="0",le="0.5"} 0
vllm:e2e_request_latency_seconds_bucket{model_name="juggernaut",engine="0",le="0.80000000000000004"} 0
vllm:e2e_request_latency_seconds_bucket{model_name="juggernaut",engine="0",le="1"} 0
vllm:e2e_request_latency_seconds_bucket{model_name="juggernaut",engine="0",le="1.5"} 0
vllm:e2e_request_latency_seconds_bucket{model_name="juggernaut",engine="0",le="2"} 10
vllm:e2e_request_latency_seconds_bucket{model_name="juggernaut",engine="0",le="2.5"} 38
vllm:e2e_request_latency_seconds_bucket{model_name="juggernaut",engine="0",le="5"} 271
vllm:e2e_request_latency_seconds_bucket{model_name="juggernaut",engine="0",le="10"} 450
vllm:e2e_request_latency_seconds_bucket{model_name="juggernaut",engine="0",le="15"} 514
vllm:e2e_request_latency_seconds_bucket{model_name="juggernaut",engine="0",le="20"} 538
vllm:e2e_request_latency_seconds_bucket{model_name="juggernaut",engine="0",le="30"} 566
vllm:e2e_request_latency_seconds_bucket{model_name="juggernaut",engine="0",le="40"} 575
vllm:e2e_request_latency_seconds_bucket{model_name="juggernaut",engine="0",le="50"} 585
vllm:e2e_request_latency_seconds_bucket{model_name="juggernaut",engine="0",le="60"} 593
vllm:e2e_request_latency_seconds_bucket{model_name="juggernaut",engine="0",le="120"} 600
vllm:e2e_request_latency_seconds_bucket{model_name="juggernaut",engine="0",le="240"} 602
vllm:e2e_request_latency_seconds_bucket{model_name="juggernaut",engine="0",le="480"} 603
vllm:e2e_request_latency_seconds_bucket{model_name="juggernaut",engine="0",le="960"} 603
vllm:e2e_request_latency_seconds_bucket{model_name="juggernaut",engine="0",le="1920"} 603
vllm:e2e_request_latency_seconds_bucket{model_name="juggernaut",engine="0",le="7680"} 603
vllm:e2e_request_latency_seconds_bucket{model_name="juggernaut",engine="0",le="+Inf"} 603
vllm:e2e_request_latency_seconds_sum{model_name="juggernaut",engine="0"} 6416.8390601850087
vllm:e2e_request_latency_seconds_count{model_name="juggernaut",engine="0"} 603
# HELP vllm:request_decode_time_seconds Histogram of time spent in the decode phase, in seconds.
# TYPE vllm:request_decode_time_seconds histogram
vllm:request_decode_time_seconds_bucket{model_name="juggernaut",engine="0",le="0.29999999999999999"} 0
vllm:request_decode_time_seconds_bucket{model_name="juggernaut",engine="0",le="0.5"} 2
vllm:request_decode_time_seconds_bucket{model_name="juggernaut",engine="0",le="0.80000000000000004"} 44
vllm:request_decode_time_seconds_bucket{model_name="juggernaut",engine="0",le="1"} 85
vllm:request_decode_time_seconds_bucket{model_name="juggernaut",engine="0",le="1.5"} 155
vllm:request_decode_time_seconds_bucket{model_name="juggernaut",engine="0",le="2"} 219
vllm:request_decode_time_seconds_bucket{model_name="juggernaut",engine="0",le="2.5"} 274
vllm:request_decode_time_seconds_bucket{model_name="juggernaut",engine="0",le="5"} 397
vllm:request_decode_time_seconds_bucket{model_name="juggernaut",engine="0",le="10"} 493
vllm:request_decode_time_seconds_bucket{model_name="juggernaut",engine="0",le="15"} 531
vllm:request_decode_time_seconds_bucket{model_name="juggernaut",engine="0",le="20"} 544
vllm:request_decode_time_seconds_bucket{model_name="juggernaut",engine="0",le="30"} 570
vllm:request_decode_time_seconds_bucket{model_name="juggernaut",engine="0",le="40"} 579
vllm:request_decode_time_seconds_bucket{model_name="juggernaut",engine="0",le="50"} 587
vllm:request_decode_time_seconds_bucket{model_name="juggernaut",engine="0",le="60"} 593
vllm:request_decode_time_seconds_bucket{model_name="juggernaut",engine="0",le="120"} 600
vllm:request_decode_time_seconds_bucket{model_name="juggernaut",engine="0",le="240"} 602
vllm:request_decode_time_seconds_bucket{model_name="juggernaut",engine="0",le="480"} 603
vllm:request_decode_time_seconds_bucket{model_name="juggernaut",engine="0",le="960"} 603
vllm:request_decode_time_seconds_bucket{model_name="juggernaut",engine="0",le="1920"} 603
vllm:request_decode_time_seconds_bucket{model_name="juggernaut",engine="0",le="7680"} 603
vllm:request_decode_time_seconds_bucket{model_name="juggernaut",engine="0",le="+Inf"} 603
vllm:request_decode_time_seconds_sum{model_name="juggernaut",engine="0"} 4966.4525284600077
vllm:request_decode_time_seconds_count{model_name="juggernaut",engine="0"} 603
# HELP vllm:request_prompt_tokens Number of prefill tokens processed.
# TYPE vllm:request_prompt_tokens histogram
vllm:request_prompt_tokens_bucket{model_name="juggernaut",engine="0",le="1"} 0
vllm:request_prompt_tokens_bucket{model_name="juggernaut",engine="0",le="2"} 0
vllm:request_prompt_tokens_bucket{model_name="juggernaut",engine="0",le="5"} 0
vllm:request_prompt_tokens_bucket{model_name="juggernaut",engine="0",le="10"} 0
vllm:request_prompt_tokens_bucket{model_name="juggernaut",engine="0",le="20"} 0
vllm:request_prompt_tokens_bucket{model_name="juggernaut",engine="0",le="50"} 0
vllm:request_prompt_tokens_bucket{model_name="juggernaut",engine="0",le="100"} 0
vllm:request_prompt_tokens_bucket{model_name="juggernaut",engine="0",le="200"} 0
vllm:request_prompt_tokens_bucket{model_name="juggernaut",engine="0",le="500"} 0
vllm:request_prompt_tokens_bucket{model_name="juggernaut",engine="0",le="1000"} 0
vllm:request_prompt_tokens_bucket{model_name="juggernaut",engine="0",le="2000"} 0
vllm:request_prompt_tokens_bucket{model_name="juggernaut",engine="0",le="5000"} 0
vllm:request_prompt_tokens_bucket{model_name="juggernaut",engine="0",le="10000"} 8
vllm:request_prompt_tokens_bucket{model_name="juggernaut",engine="0",le="20000"} 25
vllm:request_prompt_tokens_bucket{model_name="juggernaut",engine="0",le="50000"} 111
vllm:request_prompt_tokens_bucket{model_name="juggernaut",engine="0",le="100000"} 353
vllm:request_prompt_tokens_bucket{model_name="juggernaut",engine="0",le="200000"} 603
vllm:request_prompt_tokens_bucket{model_name="juggernaut",engine="0",le="+Inf"} 603
vllm:request_prompt_tokens_sum{model_name="juggernaut",engine="0"} 56553179
vllm:request_prompt_tokens_count{model_name="juggernaut",engine="0"} 603
# HELP vllm:request_generation_tokens Number of generation tokens processed.
# TYPE vllm:request_generation_tokens histogram
vllm:request_generation_tokens_bucket{model_name="juggernaut",engine="0",le="1"} 0
vllm:request_generation_tokens_bucket{model_name="juggernaut",engine="0",le="2"} 0
vllm:request_generation_tokens_bucket{model_name="juggernaut",engine="0",le="5"} 0
vllm:request_generation_tokens_bucket{model_name="juggernaut",engine="0",le="10"} 0
vllm:request_generation_tokens_bucket{model_name="juggernaut",engine="0",le="20"} 0
vllm:request_generation_tokens_bucket{model_name="juggernaut",engine="0",le="50"} 0
vllm:request_generation_tokens_bucket{model_name="juggernaut",engine="0",le="100"} 52
vllm:request_generation_tokens_bucket{model_name="juggernaut",engine="0",le="200"} 244
vllm:request_generation_tokens_bucket{model_name="juggernaut",engine="0",le="500"} 437
vllm:request_generation_tokens_bucket{model_name="juggernaut",engine="0",le="1000"} 516
vllm:request_generation_tokens_bucket{model_name="juggernaut",engine="0",le="2000"} 564
vllm:request_generation_tokens_bucket{model_name="juggernaut",engine="0",le="5000"} 594
vllm:request_generation_tokens_bucket{model_name="juggernaut",engine="0",le="10000"} 599
vllm:request_generation_tokens_bucket{model_name="juggernaut",engine="0",le="20000"} 602
vllm:request_generation_tokens_bucket{model_name="juggernaut",engine="0",le="50000"} 603
vllm:request_generation_tokens_bucket{model_name="juggernaut",engine="0",le="100000"} 603
vllm:request_generation_tokens_bucket{model_name="juggernaut",engine="0",le="200000"} 603
vllm:request_generation_tokens_bucket{model_name="juggernaut",engine="0",le="+Inf"} 603
vllm:request_generation_tokens_sum{model_name="juggernaut",engine="0"} 423779
vllm:request_generation_tokens_count{model_name="juggernaut",engine="0"} 603
# HELP vllm:request_params_n Histogram of the n request parameter.
# TYPE vllm:request_params_n histogram
vllm:request_params_n_bucket{model_name="juggernaut",engine="0",le="1"} 603
vllm:request_params_n_bucket{model_name="juggernaut",engine="0",le="2"} 603
vllm:request_params_n_bucket{model_name="juggernaut",engine="0",le="5"} 603
vllm:request_params_n_bucket{model_name="juggernaut",engine="0",le="10"} 603
vllm:request_params_n_bucket{model_name="juggernaut",engine="0",le="20"} 603
vllm:request_params_n_bucket{model_name="juggernaut",engine="0",le="+Inf"} 603
vllm:request_params_n_sum{model_name="juggernaut",engine="0"} 603
vllm:request_params_n_count{model_name="juggernaut",engine="0"} 603
# HELP vllm:request_params_max_tokens Histogram of the max_tokens request parameter.
# TYPE vllm:request_params_max_tokens histogram
vllm:request_params_max_tokens_bucket{model_name="juggernaut",engine="0",le="1"} 0
vllm:request_params_max_tokens_bucket{model_name="juggernaut",engine="0",le="2"} 0
vllm:request_params_max_tokens_bucket{model_name="juggernaut",engine="0",le="5"} 0
vllm:request_params_max_tokens_bucket{model_name="juggernaut",engine="0",le="10"} 0
vllm:request_params_max_tokens_bucket{model_name="juggernaut",engine="0",le="20"} 0
vllm:request_params_max_tokens_bucket{model_name="juggernaut",engine="0",le="50"} 0
vllm:request_params_max_tokens_bucket{model_name="juggernaut",engine="0",le="100"} 0
vllm:request_params_max_tokens_bucket{model_name="juggernaut",engine="0",le="200"} 0
vllm:request_params_max_tokens_bucket{model_name="juggernaut",engine="0",le="500"} 0
vllm:request_params_max_tokens_bucket{model_name="juggernaut",engine="0",le="1000"} 0
vllm:request_params_max_tokens_bucket{model_name="juggernaut",engine="0",le="2000"} 0
vllm:request_params_max_tokens_bucket{model_name="juggernaut",engine="0",le="5000"} 0
vllm:request_params_max_tokens_bucket{model_name="juggernaut",engine="0",le="10000"} 0
vllm:request_params_max_tokens_bucket{model_name="juggernaut",engine="0",le="20000"} 0
vllm:request_params_max_tokens_bucket{model_name="juggernaut",engine="0",le="50000"} 30
vllm:request_params_max_tokens_bucket{model_name="juggernaut",engine="0",le="100000"} 603
vllm:request_params_max_tokens_bucket{model_name="juggernaut",engine="0",le="200000"} 603
vllm:request_params_max_tokens_bucket{model_name="juggernaut",engine="0",le="+Inf"} 603
vllm:request_params_max_tokens_sum{model_name="juggernaut",engine="0"} 38535168
vllm:request_params_max_tokens_count{model_name="juggernaut",engine="0"} 603
# HELP radiance:prefill_tokens_per_second Prefill throughput over the scheduler's recent window.
# TYPE radiance:prefill_tokens_per_second gauge
radiance:prefill_tokens_per_second{model_name="juggernaut",engine="0"} 54.816162109375
# HELP radiance:decode_tokens_per_second Decode throughput over the scheduler's recent window.
# TYPE radiance:decode_tokens_per_second gauge
radiance:decode_tokens_per_second{model_name="juggernaut",engine="0"} 50.574676513671875
# HELP radiance:decode_step_seconds_best Fastest single-sequence decode window this process has run, in seconds per step: the mean of 32 consecutive single-stream steps. With speculation a step emits 1 + accepted tokens. Resets on restart.
# TYPE radiance:decode_step_seconds_best gauge
radiance:decode_step_seconds_best{model_name="juggernaut",engine="0"} 0.032004689000000003
# HELP radiance:decode_step_seconds_recent Most recent single-sequence decode window, in seconds per step (see _best). Holds its value while no single-stream window completes.
# TYPE radiance:decode_step_seconds_recent gauge
radiance:decode_step_seconds_recent{model_name="juggernaut",engine="0"} 0.041546212999999999
# HELP radiance:engine_steps_total Scheduler steps executed. One forward pass of the model, plus whatever draft rounds followed it; with speculation a step emits more than one token.
# TYPE radiance:engine_steps_total counter
radiance:engine_steps_total{model_name="juggernaut",engine="0"} 113985
# HELP radiance:engine_steps_prefill_total Scheduler steps carrying only prefill chunks.
# TYPE radiance:engine_steps_prefill_total counter
radiance:engine_steps_prefill_total{model_name="juggernaut",engine="0"} 1174
# HELP radiance:engine_steps_mixed_total Scheduler steps carrying both a prefill chunk and a decode row.
# TYPE radiance:engine_steps_mixed_total counter
radiance:engine_steps_mixed_total{model_name="juggernaut",engine="0"} 388
# HELP radiance:engine_steps_decode_total Scheduler steps carrying only decode rows.
# TYPE radiance:engine_steps_decode_total counter
radiance:engine_steps_decode_total{model_name="juggernaut",engine="0"} 112423
# HELP radiance:engine_steps_ahead_total Steps whose forward pass was issued behind the step before, ahead of its commit.
# TYPE radiance:engine_steps_ahead_total counter
radiance:engine_steps_ahead_total{model_name="juggernaut",engine="0"} 112279
# HELP radiance:engine_prefill_chunks_capped_total Prefill chunks held back so decode rows and waiting requests got into the step (--busy-prefill-chunk).
# TYPE radiance:engine_prefill_chunks_capped_total counter
radiance:engine_prefill_chunks_capped_total{model_name="juggernaut",engine="0"} 2
# HELP radiance:engine_steps_held_total Decode-only steps run after a prefill chunk while other sequences decode (--prefill-interleave).
# TYPE radiance:engine_steps_held_total counter
radiance:engine_steps_held_total{model_name="juggernaut",engine="0"} 0
# HELP radiance:decode_rows_unspeculated_total Decode rows that took no draft, for any reason.
# TYPE radiance:decode_rows_unspeculated_total counter
radiance:decode_rows_unspeculated_total{model_name="juggernaut",engine="0"} 0
# HELP radiance:engine_step_seconds_total Seconds spent inside a scheduler step, all shapes.
# TYPE radiance:engine_step_seconds_total counter
radiance:engine_step_seconds_total{model_name="juggernaut",engine="0"} 5702.6847473990001
# HELP radiance:engine_step_seconds_decode_total Seconds spent inside a scheduler step carrying only decode rows.
# TYPE radiance:engine_step_seconds_decode_total counter
radiance:engine_step_seconds_decode_total{model_name="juggernaut",engine="0"} 4295.7781233209998
# HELP radiance:prefill_tokens_total Prompt tokens the engine has computed, exact.
# TYPE radiance:prefill_tokens_total counter
radiance:prefill_tokens_total{model_name="juggernaut",engine="0"} 2320091
# HELP radiance:decode_tokens_total Tokens the engine has generated, exact, counted when the step commits rather than when the request finishes.
# TYPE radiance:decode_tokens_total counter
radiance:decode_tokens_total{model_name="juggernaut",engine="0"} 423176
# HELP radiance:draft_tokens_total Speculative tokens proposed.
# TYPE radiance:draft_tokens_total counter
radiance:draft_tokens_total{model_name="juggernaut",engine="0"} 850906
# HELP radiance:draft_accepted_total Speculative tokens accepted; the pair the acceptance ratio is computed from.
# TYPE radiance:draft_accepted_total counter
radiance:draft_accepted_total{model_name="juggernaut",engine="0"} 301618
# HELP radiance:draft_refills_total Prefix hits ended a drafter window early so a windowed block drafter has context.
# TYPE radiance:draft_refills_total counter
radiance:draft_refills_total{model_name="juggernaut",engine="0"} 323
# HELP radiance:draft_refill_tokens_total Cached prompt tokens those hits gave back to be recomputed.
# TYPE radiance:draft_refill_tokens_total counter
radiance:draft_refill_tokens_total{model_name="juggernaut",engine="0"} 661504
# HELP radiance:lookup_proposals_total Prompt-lookup proposals made, with prompt lookup the only drafter.
# TYPE radiance:lookup_proposals_total counter
radiance:lookup_proposals_total{model_name="juggernaut",engine="0"} 0
# HELP radiance:lookup_held_total Prompt-lookup proposals held back unverified: not expected to pay for their verify rows at the measured step cost.
# TYPE radiance:lookup_held_total counter
radiance:lookup_held_total{model_name="juggernaut",engine="0"} 0
# HELP radiance:lookup_held_drafts_total Drafts in the held-back proposals.
# TYPE radiance:lookup_held_drafts_total counter
radiance:lookup_held_drafts_total{model_name="juggernaut",engine="0"} 0
# HELP radiance:lookup_held_hits_total Of the held-back proposals scored against the text that followed, the drafts that came true: what verifying them would have accepted.
# TYPE radiance:lookup_held_hits_total counter
radiance:lookup_held_hits_total{model_name="juggernaut",engine="0"} 0
# HELP radiance:linear_prefix_cache_hit_rate Fraction of prompt tokens served from a linear-state checkpoint (spec 7.3).
# TYPE radiance:linear_prefix_cache_hit_rate gauge
radiance:linear_prefix_cache_hit_rate{model_name="juggernaut",engine="0"} 0.95897507667541504
# HELP radiance:attn_cached_tokens_total Prompt tokens served from the paged attention prefix cache.
# TYPE radiance:attn_cached_tokens_total counter
radiance:attn_cached_tokens_total{model_name="juggernaut",engine="0"} 55357696
# HELP radiance:linear_cached_tokens_total Prompt tokens served from a linear-state checkpoint.
# TYPE radiance:linear_cached_tokens_total counter
radiance:linear_cached_tokens_total{model_name="juggernaut",engine="0"} 54233088
# HELP radiance:linear_checkpoints_written_total Linear-state checkpoints written.
# TYPE radiance:linear_checkpoints_written_total counter
radiance:linear_checkpoints_written_total{model_name="juggernaut",engine="0"} 825
# HELP radiance:prefix_cache_evictions_total Prefix-cache entries evicted (attention blocks).
# TYPE radiance:prefix_cache_evictions_total counter
radiance:prefix_cache_evictions_total{model_name="juggernaut",engine="0"} 0
# HELP radiance:prefix_cache_ckpt_evictions_total Prefix-cache linear-state checkpoints evicted.
# TYPE radiance:prefix_cache_ckpt_evictions_total counter
radiance:prefix_cache_ckpt_evictions_total{model_name="juggernaut",engine="0"} 437
# HELP radiance:prefix_cache_expired_total Prefix-cache entries no request used for --prefix-cache-ttl, taken out.
# TYPE radiance:prefix_cache_expired_total counter
radiance:prefix_cache_expired_total{model_name="juggernaut",engine="0"} 35942
# HELP radiance:prefix_cache_ckpt_expired_total Prefix-cache linear-state checkpoints taken out by --prefix-cache-ttl.
# TYPE radiance:prefix_cache_ckpt_expired_total counter
radiance:prefix_cache_ckpt_expired_total{model_name="juggernaut",engine="0"} 33
# HELP radiance:prefix_cache_ckpt_evictions_by_reason_total Linear-state checkpoints evicted, by reason: released by --checkpoint-policy, or the least recently used of a store retention left full.
# TYPE radiance:prefix_cache_ckpt_evictions_by_reason_total counter
radiance:prefix_cache_ckpt_evictions_by_reason_total{model_name="juggernaut",engine="0",reason="retention"} 437
radiance:prefix_cache_ckpt_evictions_by_reason_total{model_name="juggernaut",engine="0",reason="store_full"} 0
# HELP radiance:prefix_cache_released_total Prefix-cache entries and linear-state snapshots a client released on purpose (DELETE /sessions).
# TYPE radiance:prefix_cache_released_total counter
radiance:prefix_cache_released_total{model_name="juggernaut",engine="0",what="entries"} 0
radiance:prefix_cache_released_total{model_name="juggernaut",engine="0",what="snapshots"} 0
# HELP radiance:prefix_cache_ckpt_refused_total Checkpoints not written because every snapshot slot was in use by a restore in the same step.
# TYPE radiance:prefix_cache_ckpt_refused_total counter
radiance:prefix_cache_ckpt_refused_total{model_name="juggernaut",engine="0"} 0
# HELP radiance:prefix_hit_cuts_total Admissions whose prefix hit was cut, by reason: reused nothing for want of a snapshot at or below the hit, for a windowed group no window snapshot covers, or for blocks that could not be adopted; or resumed at a snapshot more than one checkpoint interval below the hit.
# TYPE radiance:prefix_hit_cuts_total counter
radiance:prefix_hit_cuts_total{model_name="juggernaut",engine="0",reason="no_snapshot"} 0
radiance:prefix_hit_cuts_total{model_name="juggernaut",engine="0",reason="windowed_group"} 0
radiance:prefix_hit_cuts_total{model_name="juggernaut",engine="0",reason="adopt_failed"} 0
radiance:prefix_hit_cuts_total{model_name="juggernaut",engine="0",reason="resumed_below"} 136
# HELP radiance:prefix_restore_cuts_total Restores from the host tier the pool could not hold whole, even after giving up the VRAM copies of other stored conversations; each came back only in part, on a model with recurrent state up to the deepest snapshot the room reaches.
# TYPE radiance:prefix_restore_cuts_total counter
radiance:prefix_restore_cuts_total{model_name="juggernaut",engine="0"} 0
# HELP radiance:prefix_hit_cut_tokens_total Prompt tokens the attention cache held and admission computed again, because the hit resumed at a snapshot below it or reused nothing.
# TYPE radiance:prefix_hit_cut_tokens_total counter
radiance:prefix_hit_cut_tokens_total{model_name="juggernaut",engine="0"} 1124608
# HELP radiance:draft_acceptance_ratio Fraction of speculative draft tokens accepted.
# TYPE radiance:draft_acceptance_ratio gauge
radiance:draft_acceptance_ratio{model_name="juggernaut",engine="0"} 0.35446688532829285
# HELP radiance:draft_position_acceptance_ratio Conditional acceptance at each draft position, given every earlier one was taken.
# TYPE radiance:draft_position_acceptance_ratio gauge
radiance:draft_position_acceptance_ratio{model_name="juggernaut",engine="0",position="0"} 0.73114069004096804
radiance:draft_position_acceptance_ratio{model_name="juggernaut",engine="0",position="1"} 0.72421126063279173
radiance:draft_position_acceptance_ratio{model_name="juggernaut",engine="0",position="2"} 0.73612988425386472
radiance:draft_position_acceptance_ratio{model_name="juggernaut",engine="0",position="3"} 0.74895000105527532
radiance:draft_position_acceptance_ratio{model_name="juggernaut",engine="0",position="4"} 0.76621766330383811
radiance:draft_position_acceptance_ratio{model_name="juggernaut",engine="0",position="5"} 0.7862449429937477
radiance:draft_position_acceptance_ratio{model_name="juggernaut",engine="0",position="6"} 0.79249695949106558
# HELP radiance:draft_position_reached_total Verifies that evaluated each draft position.
# TYPE radiance:draft_position_reached_total counter
radiance:draft_position_reached_total{model_name="juggernaut",engine="0",position="0"} 121558
radiance:draft_position_reached_total{model_name="juggernaut",engine="0",position="1"} 88876
radiance:draft_position_reached_total{model_name="juggernaut",engine="0",position="2"} 64365
radiance:draft_position_reached_total{model_name="juggernaut",engine="0",position="3"} 47381
radiance:draft_position_reached_total{model_name="juggernaut",engine="0",position="4"} 35486
radiance:draft_position_reached_total{model_name="juggernaut",engine="0",position="5"} 27190
radiance:draft_position_reached_total{model_name="juggernaut",engine="0",position="6"} 21378
# HELP radiance:draft_position_accepted_total Verifies that accepted each draft position.
# TYPE radiance:draft_position_accepted_total counter
radiance:draft_position_accepted_total{model_name="juggernaut",engine="0",position="0"} 88876
radiance:draft_position_accepted_total{model_name="juggernaut",engine="0",position="1"} 64365
radiance:draft_position_accepted_total{model_name="juggernaut",engine="0",position="2"} 47381
radiance:draft_position_accepted_total{model_name="juggernaut",engine="0",position="3"} 35486
radiance:draft_position_accepted_total{model_name="juggernaut",engine="0",position="4"} 27190
radiance:draft_position_accepted_total{model_name="juggernaut",engine="0",position="5"} 21378
radiance:draft_position_accepted_total{model_name="juggernaut",engine="0",position="6"} 16942
# HELP radiance:num_requests_preempted Requests currently preempted and awaiting recompute.
# TYPE radiance:num_requests_preempted gauge
radiance:num_requests_preempted{model_name="juggernaut",engine="0"} 0
# HELP radiance:http_queue_depth Requests admitted by the HTTP layer and not yet finished.
# TYPE radiance:http_queue_depth gauge
radiance:http_queue_depth{model_name="juggernaut",engine="0"} 0
# HELP radiance:http_admission_rejected_total Requests refused with 429 because the admission queue was full.
# TYPE radiance:http_admission_rejected_total counter
radiance:http_admission_rejected_total{model_name="juggernaut",engine="0"} 0
# HELP radiance:client_disconnect_total Streams cancelled because the client went away.
# TYPE radiance:client_disconnect_total counter
radiance:client_disconnect_total{model_name="juggernaut",engine="0"} 2
# HELP radiance:stream_overflow_total Requests failed because the HTTP reader could not drain the sink.
# TYPE radiance:stream_overflow_total counter
radiance:stream_overflow_total{model_name="juggernaut",engine="0"} 0
# HELP radiance:http_responses_total HTTP responses by status class.
# TYPE radiance:http_responses_total counter
radiance:http_responses_total{model_name="juggernaut",engine="0",class="2xx"} 655
radiance:http_responses_total{model_name="juggernaut",engine="0",class="4xx"} 0
radiance:http_responses_total{model_name="juggernaut",engine="0",class="5xx"} 0