Skip to content

Commit f3f8d8f

Browse files
authored
implement prometheus fast-api-instrumentor for http service metrics (#15657)
1 parent 26df46e commit f3f8d8f

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

vllm/entrypoints/openai/api_server.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -311,13 +311,24 @@ def mount_metrics(app: FastAPI):
311311
# See https://prometheus.github.io/client_python/multiprocess/
312312
from prometheus_client import (CollectorRegistry, make_asgi_app,
313313
multiprocess)
314+
from prometheus_fastapi_instrumentator import Instrumentator
314315

315316
prometheus_multiproc_dir_path = os.getenv("PROMETHEUS_MULTIPROC_DIR", None)
316317
if prometheus_multiproc_dir_path is not None:
317318
logger.debug("vLLM to use %s as PROMETHEUS_MULTIPROC_DIR",
318319
prometheus_multiproc_dir_path)
319320
registry = CollectorRegistry()
320321
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)
321332

322333
# Add prometheus asgi middleware to route /metrics requests
323334
metrics_route = Mount("/metrics", make_asgi_app(registry=registry))

0 commit comments

Comments
 (0)