mirror of
https://github.com/hanzo-ml/kserve.git
synced 2026-10-30 20:53:49 +00:00
Signed-off-by: Sergey Bekkerman <[email protected]> Signed-off-by: SeanCondon <[email protected]> Co-authored-by: SeanCondon <[email protected]>
Grafana dashboards
Kserve EPP metrics dashboards, based on the llm-d monitoring docs:
| Dashboard | File | Description |
|---|---|---|
| Kserve EPP metrics – All | kserve-epp-all-dashboard.json |
All-in-one: Routing & load balancing, prefix caching, and P/D disaggregation in a single dashboard |
| Kserve EPP metrics – Intelligent Routing & Load Balancing | routing-load-balancing-dashboard.json |
Request/token distribution, idle GPU time, routing latency |
| Kserve EPP metrics – Prefix Caching | prefix-caching-dashboard.json |
vLLM prefix cache and EPP prefix indexer |
| Kserve EPP metrics – P/D Disaggregation | pd-disaggregation-dashboard.json |
Prefill/decode workers, queue length, P/D decision rates |
Each dashboard has Reference text panels and links to the corresponding sections in the llm-d docs. Use the all-in-one dashboard for a single view of all EPP metrics.
1. Intelligent Routing & Load Balancing
Panels
- Request distribution (QPS per instance)
- Token distribution by pod
- Idle GPU time
- Routing decision latency P99
2. Prefix Caching
Panels
- vLLM prefix cache
- Prefix cache hit rate (overall)
- Per-instance hit rate by pod
- Cache utilization % by pod/model — uses the metric set by
--kv-cache-usage-percentage-metricin the LLM inference service config (e.g.llmisvc_config_default.yaml). Default:vllm:kv_cache_usage_perc. - Hits vs queries rate (time series)
- EPP prefix indexer
- EPP prefix indexer size
- EPP prefix indexer hit ratio (P50, P90)
- EPP prefix indexer hit bytes (P50, P90)
3. P/D Disaggregation
Panels
- Prefill worker utilization
- Decode worker utilization (KV cache usage; same metric as Prefix Caching — see
--kv-cache-usage-percentage-metricin LLM inference service config) - Prefill queue length
- P/D decision rate by type
- Decode-only request rate
- Prefill-decode request rate
- P/D decision ratio (prefill-decode)
Import in Grafana
- In Grafana: Dashboards → New → Import.
- Upload JSON file and select one of:
kserve-epp-all-dashboard.json,routing-load-balancing-dashboard.json,prefix-caching-dashboard.json,pd-disaggregation-dashboard.json(or paste its contents). - Choose the Prometheus datasource that scrapes your cluster (e.g. the one that has the
kserve-labServiceMonitors). - Click Import.
Repeat for each dashboard you want.
Requirements
- Prometheus scraping vLLM and EPP metrics (see llm-d Observability and Monitoring).
- Metric names: dashboards use
vllm:prefix_cache_*,vllm:kv_cache_usage_perc, and other llm-d metrics (vLLM uses the colon form in Prometheus). - KV cache usage metric: The Prefix Caching “Cache utilization %” and P/D Disaggregation “Decode worker utilization” panels use the metric name configured by
--kv-cache-usage-percentage-metricin the LLM inference service (e.g.vllm:kv_cache_usage_perc). If you change that config, update the dashboard queries inprefix-caching-dashboard.json,pd-disaggregation-dashboard.json, andkserve-epp-all-dashboard.jsonto use the same metric name.