@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / f3f8d8fff4
Fork 0

A high-throughput and memory-efficient inference and serving engine for LLMs

Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git

Synced Nov 15, 17:15 UTC

implement prometheus fast-api-instrumentor for http service metrics (#15657)

daniel-salib committed Mar 28, 2025 at 17:12 UTC f3f8d8fff4c5354d5214f0f6f29e4dc5c4e3a8ca
1 file changed +11
vllm/entrypoints/openai/api_server.py
+11
@@ -311,6 +311,7 @@ def mount_metrics(app: FastAPI):
311 # See https://prometheus.github.io/client_python/multiprocess/
312 from prometheus_client import (CollectorRegistry, make_asgi_app,
313 multiprocess)
314 + from prometheus_fastapi_instrumentator import Instrumentator
315
316 prometheus_multiproc_dir_path = os.getenv("PROMETHEUS_MULTIPROC_DIR", None)
317 if prometheus_multiproc_dir_path is not None:
@@ -318,6 +319,16 @@ def mount_metrics(app: FastAPI):
319 prometheus_multiproc_dir_path)
320 registry = CollectorRegistry()
321 multiprocess.MultiProcessCollector(registry)
322 + Instrumentator(
323 + excluded_handlers=[
324 + "/metrics",
325 + "/health",
326 + "/load",
327 + "/ping",
328 + "/version",
329 + ],
330 + registry=registry,
331 + ).add().instrument(app).expose(app)
332
333 # Add prometheus asgi middleware to route /metrics requests
334 metrics_route = Mount("/metrics", make_asgi_app(registry=registry))