Files
vLLM/vllm/v1/metrics/cache_hit_source.py
T
e37e51dd24 [Metrics] Expose cached prompt tokens by cache tier (#56318)
Signed-off-by: Cam Quilici <cjquilici@gmail.com>
Signed-off-by: Cam Quilici <cameron@semianalysis.com>
Co-authored-by: Cam Quilici <cameron@semianalysis.com>
Co-authored-by: Nick Hill <nickhill123@gmail.com>
Co-authored-by: Yifan Qiao <yifanqiao@inferact.ai>
2026-10-06 14:52:05 -04:00

33 lines
1.0 KiB
Python

# SPDX-License-Identifier: Apache-2.0
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
from __future__ import annotations
from collections.abc import Iterable
from enum import Enum
class CacheHitSource(str, Enum):
"""Where cached prompt tokens' KV came from.
Members are listed in the order blocks are offloaded: accelerator, then
host memory, then secondary tiers. Per-source token counts are plain
``dict[CacheHitSource, int]`` mappings holding only non-zero entries.
"""
DEVICE = "device"
HOST = "host"
P2P = "p2p"
DISK = "disk"
# Fallback: uninstrumented connector or remote store. Last, so mixing
# with a known tier never reports the known one.
EXTERNAL_UNSPECIFIED = "external_unspecified"
@classmethod
def outermost(cls, sources: Iterable[CacheHitSource]) -> CacheHitSource:
"""The tier in ``sources`` farthest from the accelerator."""
return max(sources, key=_SOURCE_ORDER.__getitem__)
_SOURCE_ORDER = {source: rank for rank, source in enumerate(CacheHitSource)}