Skip to main content

vllmtop

Production-grade TUI dashboard for monitoring vLLM inference servers. Real-time metrics, persistent storage, and Grafana-style visualizations in your terminal.

Features

  • Live Dashboard - Real-time KPI cards, gauge bars, and sparklines with 60s rolling history
  • Historical Explorer - Time-range analysis with interactive charts
  • Request Breakdown - Request completion outcomes and statistics
  • Cache & System Analytics - KV cache usage, prefix cache hit rates, and system metrics
  • Configurable Alerts - Threshold-based alert rules with persistent alert history
  • Multiple Graph Styles - Line, braille, and block charts (press g to cycle)
  • Multi-Server Monitoring - Monitor multiple vLLM instances from a single dashboard
  • Persistent Storage - All metrics saved to SQLite with automatic retention management

Installation

Requires Python 3.11+.

pip install .

For development:

pip install -e ".[dev]"

Quick Start

# Connect to a local vLLM server (default: http://localhost:8000)
vllmtop

# Connect to a remote server
vllmtop --url http://gpu-server:8000

# Use a config file
vllmtop --config config.yaml

# Custom poll interval and retention
vllmtop --url http://localhost:8000 --interval 2 --retention 60

Configuration

Copy the example config and customize:

cp config.example.yaml config.yaml
targets:
  - url: http://localhost:8000
    name: "GPU Server 1"

graph_style: "line"       # line, braille, or block
poll_interval: 1.0        # seconds
db_path: "./vllm_metrics.db"
retention_days: 30

alert_rules:
  - name: "KV Cache Critical"
    metric: "vllm:kv_cache_usage_perc"
    operator: ">"
    threshold: 90.0
    enabled: true

See config.example.yaml for the full configuration reference.

CLI Options

Option Default Description
--url http://localhost:8000 vLLM server URL
--db ./vllm_metrics.db SQLite database path
--retention 30 Data retention in days
--interval 1.0 Poll interval in seconds
--config - Path to YAML config file
--graph-style line Graph style: line, braille, or block

Keyboard Shortcuts

Key Action
1-5 Switch tabs
g Cycle graph style
s Screenshot
ctrl+p Command palette
q Quit

Metrics Tracked

  • Requests - Running, waiting, swapped, queue time
  • Cache - KV cache usage, GPU cache usage, prefix cache hit rate
  • Tokens - Prompt tokens, generation tokens, totals
  • Latency - Time-to-first-token (TTFT), time-per-output-token (TPOT), end-to-end latency
  • Throughput - Prompt and generation throughput (tok/s)

License

MIT

Metadata

Release files for vllm-mon 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vllm-mon 0.1.0
File Size Uploaded Provenance Actions
vllm_mon-0.1.0.tar.gz 18.1 MB Without provenance Details for vllm_mon-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for vllm-mon 0.1.0
File Interpreter ABI Platform Actions
vllm_mon-0.1.0-py3-none-any.whl Python 3 none any Details for vllm_mon-0.1.0-py3-none-any.whl

Total release size: 18.1 MB

Release files / vllm_mon-0.1.0.tar.gz

Download URL vllm_mon-0.1.0.tar.gz
Size 18.1 MB
Tags Source
SHA-256 checksum
How to use checksums
2b082fb5742b118f0eae8ce4ae3d93801706593c93e258de71f3fbe1d2836d4b
BLAKE2b-256 checksum
How to use checksums
39e1f8bce1a464a4933d4941523ca968253ca006eaf652811ca228fce71cc8e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.9

Release files / vllm_mon-0.1.0-py3-none-any.whl

Download URL vllm_mon-0.1.0-py3-none-any.whl
Size 45.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
13bc0e833a37804b48253ed664dd82585cd2aa2505bea778e13b53d5aa3c8193
BLAKE2b-256 checksum
How to use checksums
85f81701069546315d18409956659309d7e7e2ca30a29313e8f2355424a9f148
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.9

Security for vllm-mon 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page