A physics-grounded, cost-aware optimization loop for vLLM
64
stars
192
commits
Rust
primary language
Aug 22, 2026
updated
Inference diagnostics for production vLLM servers.
Less words. Less noise. More signal. More value.
Get started · What is Profile · The engine · Proof · Docs · Website
Are you getting what your hardware is capable of?
One RTX 5090. Muse Glimmer 30B. SWE-Bench agents. Same hardware, different flags.
Throughput 81 → 421 tok/s 5.2x
Cost/1M output tok $3.41 → $0.65 (est) 81% lower
✓ Single binary ✓ No agent to deploy
✓ No config file ✓ Nothing leaves the server
A diagnostic loop. Profile turns opaque inference into deterministic engineering. Reproducible: same server, same traffic, same verdict.
The value is time. You close the gap in a few measured iterations instead of guessing for days.
guessing: metrics ---------------------------> you -> try a flag -> wait
profile: metrics -> physics ceiling -> cause -> fix -> re-measure
worse.✗ Not a dashboard it reasons, not just reports
✗ Not an autotuner no restarts, no synthetic load
✗ Not a simulator reads the server you actually run
Stack comparison: docs/positioning.md.
vLLM on one GPU, /metrics reachable, live traffic. Then:
Install.
curl --proto '=https' --tlsv1.2 -LsSf \
https://github.com/jungledesh/profile/releases/latest/download/profile-installer.sh | sh
Diagnose. Default window is 30s. Raise it when traffic repeats inside the window (shapes).
profile diagnose --url http://localhost:8000/metrics --duration 30s
Apply the Fix. Press Enter. Read the delta. Repeat until the loop names a wall or goes quiet.
No calibration run. Profile never restarts your server.
vllm bench serve.cargo install --git https://github.com/jungledesh/profile.Profile's engine. Deterministic engineering. Reproducible.
The full machinery: docs/engine.md.
Real output, shortened (RTX 5090 Muse Glimmer 30B run; full blocks in docs/workflow.md):
|PROFILE v2.2.1 [muse-glimmer-30b] [NVIDIA GeForce RTX 5090] |
|GPU => decode_eff ~3.5% | $2.10/1M output tok (est) | vRAM 29/32GB |
|REQUESTS run 9 (27.4%) | wait 15 | max 32 |
|CACHE kv_cache 88.6% avg (99.9% peak) |
|THROUGHPUT 131 tok/s |
| |
|[!] KV Cache Pressure Seen in 100% of windows |
| Cause: KV cache 89% avg, 100% peak (threshold: 88%). |
| Scheduler evicting; 15 requests queued on KV admission. |
| Fix: • Raise --gpu-memory-utilization. |
| • Switch --kv-cache-dtype fp8. |
| • Lower --max-model-len 32768 → 21933. Observed p99 21.9k. |
| Expected: TTFT and TPOT recover once evictions stop. |
| Confidence: High |
Measuring delta...
Config changed. Baseline reset.
Throughput 131 → 421 tok/s
TTFT 32857 → 224ms (p95 66946 → 500ms)
Cost/1M output tok $2.10 → $0.65 (est)
|PROFILE v2.2.1 [muse-glimmer-30b] [NVIDIA GeForce RTX 5090] |
|GPU => decode_eff ~11.2% | $0.65/1M output tok (est) | vRAM 30/32GB|
|THROUGHPUT 421 tok/s |
|No issues detected. Capped by vLLM overhead. |
(est) means the physics model, not the server. tok/s
5090 before |████████ 81
after |██████████████████████████████████████████ 421 5.2x
H100 before |█████████████████████████ 257
after |████████████████████████████████████████████████ 490 1.9x
worse, then the flags recovered it.
Slides · VideoWe did the hard part: a deterministic core engine. These pages show the work.
Get started Install, diagnose, apply the fix, read the delta. Then every flag and output line. Run a full session from this page.
Engine The ceiling math from first principles, all eight rules with their fire conditions and fixes, suppression and ranking. Thresholds and edge cases in depth: website Rules.
Research
Profile is not heuristics. The ceiling is a roofline, the field's standard. The engine descends from Intel's Top-down analysis, a decade in perf and VTune. The loop is Coz-style causal perturbation, run as a side effect of normal use.
We also list every known weakness of each method ourselves, with citations, before you find them.
Positioning The full serving stack, and a straight comparison against dashboards, kernel profilers, autotuners, and simulators. Ends with the only honest column that matters: who measures whether the fix worked.
Limitations Every boundary, stated plainly, with the reason it exists. Shorter than you fear, and nothing hidden in it.
Roadmap Multi-GPU, calibrated ceilings, more engines, and the end state: a server that heals itself. Demand reorders it: tell us what you run.
Deep reference on the website: rule thresholds and edge cases, metric sources, the math, the GPU catalog, and engine design.
The tool follows these rules:
(est) or ~. A missing metric prints -. Nothing is invented.We show what your server hides.
The end state: servers that heal themselves, bottlenecks surfaced by physics, no human in the loop.
Until then: close the gap between what you pay for and what your hardware delivers.
191 commits
1 commits
Rust
89.0%
Shell
4.9%
Python
4.6%
Jinja
1.0%
A physics-grounded, cost-aware optimization loop for vLLM
64
stars
192
commits
Rust
primary language
Aug 22, 2026
updated
Inference diagnostics for production vLLM servers.
Less words. Less noise. More signal. More value.
Get started · What is Profile · The engine · Proof · Docs · Website
Are you getting what your hardware is capable of?
One RTX 5090. Muse Glimmer 30B. SWE-Bench agents. Same hardware, different flags.
Throughput 81 → 421 tok/s 5.2x
Cost/1M output tok $3.41 → $0.65 (est) 81% lower
✓ Single binary ✓ No agent to deploy
✓ No config file ✓ Nothing leaves the server
A diagnostic loop. Profile turns opaque inference into deterministic engineering. Reproducible: same server, same traffic, same verdict.
The value is time. You close the gap in a few measured iterations instead of guessing for days.
guessing: metrics ---------------------------> you -> try a flag -> wait
profile: metrics -> physics ceiling -> cause -> fix -> re-measure
worse.✗ Not a dashboard it reasons, not just reports
✗ Not an autotuner no restarts, no synthetic load
✗ Not a simulator reads the server you actually run
Stack comparison: docs/positioning.md.
vLLM on one GPU, /metrics reachable, live traffic. Then:
Install.
curl --proto '=https' --tlsv1.2 -LsSf \
https://github.com/jungledesh/profile/releases/latest/download/profile-installer.sh | sh
Diagnose. Default window is 30s. Raise it when traffic repeats inside the window (shapes).
profile diagnose --url http://localhost:8000/metrics --duration 30s
Apply the Fix. Press Enter. Read the delta. Repeat until the loop names a wall or goes quiet.
No calibration run. Profile never restarts your server.
vllm bench serve.cargo install --git https://github.com/jungledesh/profile.Profile's engine. Deterministic engineering. Reproducible.
The full machinery: docs/engine.md.
Real output, shortened (RTX 5090 Muse Glimmer 30B run; full blocks in docs/workflow.md):
|PROFILE v2.2.1 [muse-glimmer-30b] [NVIDIA GeForce RTX 5090] |
|GPU => decode_eff ~3.5% | $2.10/1M output tok (est) | vRAM 29/32GB |
|REQUESTS run 9 (27.4%) | wait 15 | max 32 |
|CACHE kv_cache 88.6% avg (99.9% peak) |
|THROUGHPUT 131 tok/s |
| |
|[!] KV Cache Pressure Seen in 100% of windows |
| Cause: KV cache 89% avg, 100% peak (threshold: 88%). |
| Scheduler evicting; 15 requests queued on KV admission. |
| Fix: • Raise --gpu-memory-utilization. |
| • Switch --kv-cache-dtype fp8. |
| • Lower --max-model-len 32768 → 21933. Observed p99 21.9k. |
| Expected: TTFT and TPOT recover once evictions stop. |
| Confidence: High |
Measuring delta...
Config changed. Baseline reset.
Throughput 131 → 421 tok/s
TTFT 32857 → 224ms (p95 66946 → 500ms)
Cost/1M output tok $2.10 → $0.65 (est)
|PROFILE v2.2.1 [muse-glimmer-30b] [NVIDIA GeForce RTX 5090] |
|GPU => decode_eff ~11.2% | $0.65/1M output tok (est) | vRAM 30/32GB|
|THROUGHPUT 421 tok/s |
|No issues detected. Capped by vLLM overhead. |
(est) means the physics model, not the server. tok/s
5090 before |████████ 81
after |██████████████████████████████████████████ 421 5.2x
H100 before |█████████████████████████ 257
after |████████████████████████████████████████████████ 490 1.9x
worse, then the flags recovered it.
Slides · VideoWe did the hard part: a deterministic core engine. These pages show the work.
Get started Install, diagnose, apply the fix, read the delta. Then every flag and output line. Run a full session from this page.
Engine The ceiling math from first principles, all eight rules with their fire conditions and fixes, suppression and ranking. Thresholds and edge cases in depth: website Rules.
Research
Profile is not heuristics. The ceiling is a roofline, the field's standard. The engine descends from Intel's Top-down analysis, a decade in perf and VTune. The loop is Coz-style causal perturbation, run as a side effect of normal use.
We also list every known weakness of each method ourselves, with citations, before you find them.
Positioning The full serving stack, and a straight comparison against dashboards, kernel profilers, autotuners, and simulators. Ends with the only honest column that matters: who measures whether the fix worked.
Limitations Every boundary, stated plainly, with the reason it exists. Shorter than you fear, and nothing hidden in it.
Roadmap Multi-GPU, calibrated ceilings, more engines, and the end state: a server that heals itself. Demand reorders it: tell us what you run.
Deep reference on the website: rule thresholds and edge cases, metric sources, the math, the GPU catalog, and engine design.
The tool follows these rules:
(est) or ~. A missing metric prints -. Nothing is invented.We show what your server hides.
The end state: servers that heal themselves, bottlenecks surfaced by physics, no human in the loop.
Until then: close the gap between what you pay for and what your hardware delivers.
191 commits
1 commits
Rust
89.0%
Shell
4.9%
Python
4.6%
Jinja
1.0%