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/`.
This commit is contained in:
2026-11-01 18:53:46 -05:00
parent 86c8bf4992
commit 219d7a7c3b
77 changed files with 3517 additions and 149 deletions
+17 -11
View File
@@ -3,37 +3,43 @@
gufo_device_lost_total 0
# HELP llamacpp:prompt_tokens_total Total prompt tokens processed, excluding cache hits
# TYPE llamacpp:prompt_tokens_total counter
llamacpp:prompt_tokens_total 1350666
llamacpp:prompt_tokens_total 213784
# HELP llamacpp:prompt_tokens_cached_total Total prompt tokens reused from cache
# TYPE llamacpp:prompt_tokens_cached_total counter
llamacpp:prompt_tokens_cached_total 124529105
llamacpp:prompt_tokens_cached_total 38070188
# HELP llamacpp:prompt_seconds_total Prompt process time
# TYPE llamacpp:prompt_seconds_total counter
llamacpp:prompt_seconds_total 1478.1443332270005
llamacpp:prompt_seconds_total 215.41327585600013
# HELP llamacpp:tokens_predicted_total Total tokens generated
# TYPE llamacpp:tokens_predicted_total counter
llamacpp:tokens_predicted_total 877336
llamacpp:tokens_predicted_total 268387
# HELP llamacpp:tokens_predicted_seconds_total Predict process time
# TYPE llamacpp:tokens_predicted_seconds_total counter
llamacpp:tokens_predicted_seconds_total 26565.247833160014
llamacpp:tokens_predicted_seconds_total 6520.4400505340027
# HELP llamacpp:n_tokens_max Largest observed n_tokens.
# TYPE llamacpp:n_tokens_max counter
llamacpp:n_tokens_max 252622
llamacpp:n_tokens_max 222926
# HELP llamacpp:spec_decode_num_drafts_total Total speculative verification rounds
# TYPE llamacpp:spec_decode_num_drafts_total counter
llamacpp:spec_decode_num_drafts_total 291738
llamacpp:spec_decode_num_drafts_total 83278
# HELP llamacpp:spec_decode_num_draft_tokens_total Total draft tokens proposed
# TYPE llamacpp:spec_decode_num_draft_tokens_total counter
llamacpp:spec_decode_num_draft_tokens_total 789028
llamacpp:spec_decode_num_draft_tokens_total 234468
# HELP llamacpp:spec_decode_num_accepted_tokens_total Total draft tokens accepted
# TYPE llamacpp:spec_decode_num_accepted_tokens_total counter
llamacpp:spec_decode_num_accepted_tokens_total 578514
llamacpp:spec_decode_num_accepted_tokens_total 180837
# HELP gufo_spec_lookup_tokens_total Total prompt-lookup copies proposed
# TYPE gufo_spec_lookup_tokens_total counter
gufo_spec_lookup_tokens_total 17416
# HELP gufo_spec_lookup_accepted_tokens_total Total prompt-lookup copies accepted
# TYPE gufo_spec_lookup_accepted_tokens_total counter
gufo_spec_lookup_accepted_tokens_total 13985
# HELP llamacpp:prompt_tokens_seconds Prompt processing speed in tokens per second
# TYPE llamacpp:prompt_tokens_seconds gauge
llamacpp:prompt_tokens_seconds 160.47362399350274
llamacpp:prompt_tokens_seconds 594.36656560014194
# HELP llamacpp:predicted_tokens_seconds Generation speed in tokens per second
# TYPE llamacpp:predicted_tokens_seconds gauge
llamacpp:predicted_tokens_seconds 42.621031668072597
llamacpp:predicted_tokens_seconds 53.07443936596944
# HELP llamacpp:requests_processing Number of admitted requests, including cache preparation
# TYPE llamacpp:requests_processing gauge
llamacpp:requests_processing 0
+428
View File
@@ -0,0 +1,428 @@
# 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
+5
View File
@@ -0,0 +1,5 @@
# Verbatim /v1/models reply from the radiance engine, recorded by
# ./scripts/capture-fixtures.sh — one JSON document. The model id and
# max_model_len are stable; created is an epoch timestamp that moves.
# The contract asserts the object/data shape — never the numbers.
{"object":"list","data":[{"id":"juggernaut","object":"model","created":1793555024,"owned_by":"radiance","max_model_len":262144,"capabilities":{"chat":true,"tools":true,"reasoning":true,"grammar":true,"embedding":false,"image":true,"video":true,"audio":false,"logprobs":true,"image_generation":false,"image_edit":false,"audio_generation":false,"video_generation":false,"decision":null,"reasoning_efforts":["none","minimal","low","medium","xhigh"]}}]}
+4 -3
View File
@@ -9,7 +9,7 @@ VAR apc battery.charge.low "10"
VAR apc battery.charge.warning "50"
VAR apc battery.date "2001/09/25"
VAR apc battery.mfr.date "2021/06/24"
VAR apc battery.runtime "621"
VAR apc battery.runtime "264"
VAR apc battery.runtime.low "120"
VAR apc battery.type "PbAc"
VAR apc battery.voltage "27.3"
@@ -36,13 +36,14 @@ VAR apc driver.version.usb "libusb-1.0.30 (API: 0x0100010C)"
VAR apc input.sensitivity "medium"
VAR apc input.transfer.high "144"
VAR apc input.transfer.low "88"
VAR apc input.voltage "124.0"
VAR apc input.transfer.reason "input voltage out of range"
VAR apc input.voltage "115.0"
VAR apc input.voltage.nominal "120"
VAR apc ups.beeper.status "enabled"
VAR apc ups.delay.shutdown "20"
VAR apc ups.firmware "952.e5 .D"
VAR apc ups.firmware.aux "e5 "
VAR apc ups.load "46"
VAR apc ups.load "81"
VAR apc ups.mfr "American Power Conversion"
VAR apc ups.mfr.date "2021/01/08"
VAR apc ups.model "Back-UPS RS 1500MS"
+6 -6
View File
@@ -8,7 +8,7 @@ VAR cyberpower battery.charge "100"
VAR cyberpower battery.charge.low "10"
VAR cyberpower battery.charge.warning "20"
VAR cyberpower battery.mfr.date "CPS"
VAR cyberpower battery.runtime "3350"
VAR cyberpower battery.runtime "3525"
VAR cyberpower battery.runtime.low "300"
VAR cyberpower battery.status "100%"
VAR cyberpower battery.type "PbAcid"
@@ -36,20 +36,20 @@ VAR cyberpower driver.version.usb "libusb-1.0.30 (API: 0x0100010C)"
VAR cyberpower input.sensitivity "normal"
VAR cyberpower input.transfer.high "139"
VAR cyberpower input.transfer.low "100"
VAR cyberpower input.voltage "122.0"
VAR cyberpower input.voltage "115.0"
VAR cyberpower input.voltage.nominal "120"
VAR cyberpower output.voltage "122.0"
VAR cyberpower output.voltage "115.0"
VAR cyberpower ups.beeper.status "disabled"
VAR cyberpower ups.delay.shutdown "60"
VAR cyberpower ups.delay.start "120"
VAR cyberpower ups.firmware "CR01906AC911"
VAR cyberpower ups.load "14"
VAR cyberpower ups.load "13"
VAR cyberpower ups.mfr "CPS"
VAR cyberpower ups.model "GX1500U"
VAR cyberpower ups.power "132"
VAR cyberpower ups.power "130"
VAR cyberpower ups.power.nominal "1500"
VAR cyberpower ups.productid "0601"
VAR cyberpower ups.realpower "126"
VAR cyberpower ups.realpower "121"
VAR cyberpower ups.realpower.nominal "900"
VAR cyberpower ups.serial "SCRUBBEDSERIAL1"
VAR cyberpower ups.status "OL"
+1 -1
View File
@@ -20,7 +20,7 @@ Namespace 1 Size/Capacity: 2,000,398,934,016 [2.00 TB]
Namespace 1 Utilization: 1,616,151,379,968 [1.61 TB]
Namespace 1 Formatted LBA Size: 512
Namespace 1 IEEE EUI-64: SCRUBBEDEUI64
Local Time is: Sat Oct 17 23:55:46 2026 EDT
Local Time is: (time of capture removed by scripts/capture-fixtures.sh)
=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
+1 -1
View File
@@ -20,7 +20,7 @@ Namespace 1 Size/Capacity: 250,059,350,016 [250 GB]
Namespace 1 Utilization: 30,404,874,240 [30.4 GB]
Namespace 1 Formatted LBA Size: 512
Namespace 1 IEEE EUI-64: SCRUBBEDEUI64
Local Time is: Sat Oct 17 23:55:47 2026 EDT
Local Time is: (time of capture removed by scripts/capture-fixtures.sh)
=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
+1 -1
View File
@@ -19,7 +19,7 @@ Number of Namespaces: 1
Namespace 1 Size/Capacity: 1,000,204,886,016 [1.00 TB]
Namespace 1 Formatted LBA Size: 512
Namespace 1 IEEE EUI-64: SCRUBBEDEUI64
Local Time is: Sat Oct 17 23:55:47 2026 EDT
Local Time is: (time of capture removed by scripts/capture-fixtures.sh)
=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
+1 -1
View File
@@ -19,7 +19,7 @@ Number of Namespaces: 1
Namespace 1 Size/Capacity: 1,000,204,886,016 [1.00 TB]
Namespace 1 Formatted LBA Size: 512
Namespace 1 IEEE EUI-64: SCRUBBEDEUI64
Local Time is: Sat Oct 17 23:55:48 2026 EDT
Local Time is: (time of capture removed by scripts/capture-fixtures.sh)
=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
+1 -1
View File
@@ -19,7 +19,7 @@ Number of Namespaces: 1
Namespace 1 Size/Capacity: 1,000,204,886,016 [1.00 TB]
Namespace 1 Formatted LBA Size: 512
Namespace 1 IEEE EUI-64: SCRUBBEDEUI64
Local Time is: Sat Oct 17 23:55:48 2026 EDT
Local Time is: (time of capture removed by scripts/capture-fixtures.sh)
=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
+1 -1
View File
@@ -20,7 +20,7 @@ Namespace 1 Size/Capacity: 1,000,204,886,016 [1.00 TB]
Namespace 1 Utilization: 699,798,638,592 [699 GB]
Namespace 1 Formatted LBA Size: 512
Namespace 1 IEEE EUI-64: SCRUBBEDEUI64
Local Time is: Sat Oct 17 23:55:49 2026 EDT
Local Time is: (time of capture removed by scripts/capture-fixtures.sh)
=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
+1 -1
View File
@@ -19,7 +19,7 @@ Number of Namespaces: 1
Namespace 1 Size/Capacity: 1,000,204,886,016 [1.00 TB]
Namespace 1 Formatted LBA Size: 512
Namespace 1 IEEE EUI-64: SCRUBBEDEUI64
Local Time is: Sat Oct 17 23:55:49 2026 EDT
Local Time is: (time of capture removed by scripts/capture-fixtures.sh)
=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
+1 -1
View File
@@ -20,7 +20,7 @@ Namespace 1 Size/Capacity: 1,000,204,886,016 [1.00 TB]
Namespace 1 Utilization: 694,159,712,256 [694 GB]
Namespace 1 Formatted LBA Size: 512
Namespace 1 IEEE EUI-64: SCRUBBEDEUI64
Local Time is: Sat Oct 17 23:55:50 2026 EDT
Local Time is: (time of capture removed by scripts/capture-fixtures.sh)
=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
+1 -1
View File
@@ -18,7 +18,7 @@ Form Factor: 3.5 inches
Device is: In smartctl database 7.5/6204
ATA Version is: ACS-4 (minor revision not indicated)
SATA Version is: SATA 3.3, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Sat Oct 17 23:55:50 2026 EDT
Local Time is: (time of capture removed by scripts/capture-fixtures.sh)
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
+1 -1
View File
@@ -18,7 +18,7 @@ Form Factor: 3.5 inches
Device is: In smartctl database 7.5/6204
ATA Version is: ACS-2, ACS-3 T13/2161-D revision 3b
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Sat Oct 17 23:55:51 2026 EDT
Local Time is: (time of capture removed by scripts/capture-fixtures.sh)
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
+1 -1
View File
@@ -18,7 +18,7 @@ Form Factor: 3.5 inches
Device is: In smartctl database 7.5/6204
ATA Version is: ACS-3 T13/2161-D revision 5
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Sat Oct 17 23:55:52 2026 EDT
Local Time is: (time of capture removed by scripts/capture-fixtures.sh)
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
+1 -1
View File
@@ -18,7 +18,7 @@ Form Factor: 3.5 inches
Device is: In smartctl database 7.5/6204
ATA Version is: ACS-2, ACS-3 T13/2161-D revision 3b
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Sat Oct 17 23:55:52 2026 EDT
Local Time is: (time of capture removed by scripts/capture-fixtures.sh)
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
+1 -1
View File
@@ -17,7 +17,7 @@ Form Factor: 3.5 inches
Device is: Not in smartctl database 7.5/6204
ATA Version is: ACS-4 published, ANSI INCITS 529-2018
SATA Version is: SATA 3.3, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Sat Oct 17 23:55:53 2026 EDT
Local Time is: (time of capture removed by scripts/capture-fixtures.sh)
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
+1 -1
View File
@@ -18,7 +18,7 @@ Form Factor: 3.5 inches
Device is: In smartctl database 7.5/6204
ATA Version is: ACS-3 T13/2161-D revision 5
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Sat Oct 17 23:55:53 2026 EDT
Local Time is: (time of capture removed by scripts/capture-fixtures.sh)
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
+1 -1
View File
@@ -18,7 +18,7 @@ Form Factor: 3.5 inches
Device is: In smartctl database 7.5/6204
ATA Version is: ACS-3 T13/2161-D revision 5
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Sat Oct 17 23:55:54 2026 EDT
Local Time is: (time of capture removed by scripts/capture-fixtures.sh)
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
+1 -1
View File
@@ -18,7 +18,7 @@ Form Factor: 3.5 inches
Device is: In smartctl database 7.5/6204
ATA Version is: ACS-3 T13/2161-D revision 5
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Sat Oct 17 23:55:54 2026 EDT
Local Time is: (time of capture removed by scripts/capture-fixtures.sh)
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
+9
View File
@@ -0,0 +1,9 @@
# Verbatim /stats reply from the radiance engine, recorded by
# ./scripts/capture-fixtures.sh — one JSON document, the engine's own
# shape. Volatile values (uptime_s, now_ms, the counters, kv_*) move
# every poll, so a diff here on re-capture is expected; the contract
# asserts the top-level key set and the cards[]/requests[]/
# draft_positions[] shape — never those numbers (the nut_*.vars
# precedent).
# in_flight was 0 at capture (requests[] has 0 row(s)).
{"model":"juggernaut","version":"1.15.1","uptime_s":15215,"started_at":1793555024,"startup_s":48,"in_flight":0,"queue_cap":32,"now_ms":1793570239000,"running":0,"waiting":0,"preempted":0,"kv_util":0.7427201867103577,"kv_tokens_used":329744,"kv_tokens_total":443968,"kv_tokens_cached":329744,"kv_bytes_used":10805051392.0,"kv_bytes_total":15901392896.0,"kv_bytes_carved":15901392896.0,"kv_tokens_max":443968,"prefix_hit_rate":0.9788609147071838,"prefix_evictions":0.0,"linear_hit_rate":0.958975076675415,"linear_cached_tokens":54233088.0,"checkpoints_written":825.0,"ckpt_evictions":{"retention":437,"store_full":0},"ckpt_refused":0,"released":{"entries":0,"snapshots":0},"hit_cuts":{"no_snapshot":0,"windowed_group":0,"adopt_failed":0,"resumed_below":136},"hit_cut_tokens":1124608.0,"prefill_tps":50.586456298828125,"decode_tps":46.6722526550293,"draft_accept":0.35446688532829285,"preemptions":0,"total_requests":603,"steps":113985,"steps_prefill":1174,"steps_mixed":388,"prefill_chunks_capped":2,"steps_decode":112423,"steps_held":0,"step_ns":5702684747399,"step_ns_decode":4295778123321,"step_ns_decode_best":32004689,"step_ns_decode_recent":41546213,"rows_unspec":0,"draft_positions":[{"reached":121558,"accepted":88876,"rate":0.731140690040968},{"reached":88876,"accepted":64365,"rate":0.7242112606327917},{"reached":64365,"accepted":47381,"rate":0.7361298842538647},{"reached":47381,"accepted":35486,"rate":0.7489500010552753},{"reached":35486,"accepted":27190,"rate":0.7662176633038381},{"reached":27190,"accepted":21378,"rate":0.7862449429937477},{"reached":21378,"accepted":16942,"rate":0.7924969594910656}],"requests":[],"cards":[{"index":0,"name":"AMD Radeon AI PRO R9700","vram_used":34159771648,"vram_total":34208743424}],"link":{"world":1,"ar_calls":0,"ar_bytes":0,"h2d_bytes":0,"d2h_bytes":0,"ssd_reads":0,"ssd_bytes":0,"ssd_staging_bytes":0,"ssd_promoted_bytes":0,"ssd_deposits":0,"ssd_deposit_bytes":0,"pool_evictions":0,"prefetched":0,"prefetch_bytes":0,"staged_bytes":0,"stream_bytes":0,"kv_stream_bytes":0,"kv_streaming":false,"kv_stream_active":false},"passes":{"played":335897,"recorded":2354,"audited":1382,"issued_unkeyed":29,"issued_refused":0,"issued_first":1546,"dispatched":85311704,"unordered":7386027}}