Skip to main content

Diagnostic tool for vLLM inference servers

Project description

vLLM Doctor

Package version Supported Python versions

Diagnose vLLM serving issues from /metrics.

vllm-doctor demo

vLLM Doctor reads production metrics and turns them into operational findings: what looks wrong, how confident the diagnosis is, and which vLLM knobs are worth checking first.

vllm-doctor --url http://localhost:8000/metrics

vLLM Doctor is not a dashboard replacement. It is a fast diagnostic snapshot for a single server or Prometheus target.

Why not just a dashboard?

Dashboards show metrics. vLLM Doctor explains inference-system behavior.

Dashboards vLLM Doctor
Shows raw metrics
Explains what's wrong
Recommends vLLM configs
Requires setup
Works on a single server

Installation

With pip:

pip install vllm-doctor

With uv:

uv tool install vllm-doctor

Quickstart

Direct scrape:

vllm-doctor --url http://localhost:8000/metrics

Prometheus:

vllm-doctor --url http://localhost:9090

Options:

Usage: vllm-doctor [OPTIONS]

Options:
  -u, --url      TEXT         URL to diagnose (vLLM /metrics or Prometheus).  [required]
  -w, --window   TEXT         Time window (e.g. '1h', '30m', 'now').  [default: now]
  -f, --format   [text|json]  Output format.  [default: text]
  -v, --verbose               Show additional diagnostic detail.
  -l, --live     INTEGER      Refresh interval in seconds (e.g. --live 10).
  -c, --config   PATH         Path to config file (default: vllm-doctor.toml).
      --help                  Show this message and exit.

Example output

─────────── vLLM Doctor  ·  Health: CRITICAL  ·  Window: 5m ────────────

╭─  Queue pressure  [low confidence] ─────────────────────────────────╮
│   Waiting requests: 7                                                │
│                                                                      │
│    Add replicas or increase concurrency limits                      │
│    Inspect autoscaling thresholds                                   │
╰──────────────────────────────────────────────────────────────────────╯
╭─  KV cache pressure  [high confidence] ─────────────────────────────╮
│   GPU KV cache usage: 94%  ·  Waiting requests: 7                    │
│                                                                      │
│    Reduce max_num_seqs to limit concurrent sequences                │
│    Increase gpu_memory_utilization if GPU memory headroom exists    │
╰──────────────────────────────────────────────────────────────────────╯

  Queue Pressure        warning     [low]
  KV Cache Pressure     critical    [high]
  Low Throughput        ok
  Error Rate            ok
  High TTFT             ok

─────────────────────────── Observed Metrics ───────────────────────────

  Requests Running                             12
  Requests Waiting                              7
  GPU Cache Usage        ███████████████████░ 94%
  Generation Tokens/s                        42.0
  TTFT p95 (s)                              3.200
  TPOT p95 (s)                              0.050

Documentation

Read the full documentation: https://aminalaee.github.io/vllm-doctor

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vllm_doctor-0.2.0.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vllm_doctor-0.2.0-py3-none-any.whl (27.9 kB view details)

Uploaded Python 3

File details

Details for the file vllm_doctor-0.2.0.tar.gz.

File metadata

  • Download URL: vllm_doctor-0.2.0.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for vllm_doctor-0.2.0.tar.gz
Algorithm Hash digest
SHA256 990aa6224dc63ff1d554284370bf72ae851533fc37e636ee9c0409f1bfab8a0d
MD5 b75a2b037be5c3596de5e7c030979415
BLAKE2b-256 2bed8bd135a44f17f2dfbe03ea33ddf3d0f25d583d9a892fe738218c3751cb2e

See more details on using hashes here.

File details

Details for the file vllm_doctor-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: vllm_doctor-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 27.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for vllm_doctor-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 763b545092be1bc8423792f4e6c5c42597962df7d47f7b71859e0ccbc6836309
MD5 ea741e59d93e4c6498be5ea9fec0d564
BLAKE2b-256 ec880b30cd617ae79e82af7fbbaa89dea6db202b7c63a4e3ca6c8602b6cb36ee

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page