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))