mirror of
https://git.datalinker.icu/vllm-project/vllm.git
synced 2025-12-11 02:04:54 +08:00
implement prometheus fast-api-instrumentor for http service metrics (#15657)
This commit is contained in:
parent
26df46ee59
commit
f3f8d8fff4
@ -311,6 +311,7 @@ def mount_metrics(app: FastAPI):
|
|||||||
# See https://prometheus.github.io/client_python/multiprocess/
|
# See https://prometheus.github.io/client_python/multiprocess/
|
||||||
from prometheus_client import (CollectorRegistry, make_asgi_app,
|
from prometheus_client import (CollectorRegistry, make_asgi_app,
|
||||||
multiprocess)
|
multiprocess)
|
||||||
|
from prometheus_fastapi_instrumentator import Instrumentator
|
||||||
|
|
||||||
prometheus_multiproc_dir_path = os.getenv("PROMETHEUS_MULTIPROC_DIR", None)
|
prometheus_multiproc_dir_path = os.getenv("PROMETHEUS_MULTIPROC_DIR", None)
|
||||||
if prometheus_multiproc_dir_path is not None:
|
if prometheus_multiproc_dir_path is not None:
|
||||||
@ -318,6 +319,16 @@ def mount_metrics(app: FastAPI):
|
|||||||
prometheus_multiproc_dir_path)
|
prometheus_multiproc_dir_path)
|
||||||
registry = CollectorRegistry()
|
registry = CollectorRegistry()
|
||||||
multiprocess.MultiProcessCollector(registry)
|
multiprocess.MultiProcessCollector(registry)
|
||||||
|
Instrumentator(
|
||||||
|
excluded_handlers=[
|
||||||
|
"/metrics",
|
||||||
|
"/health",
|
||||||
|
"/load",
|
||||||
|
"/ping",
|
||||||
|
"/version",
|
||||||
|
],
|
||||||
|
registry=registry,
|
||||||
|
).add().instrument(app).expose(app)
|
||||||
|
|
||||||
# Add prometheus asgi middleware to route /metrics requests
|
# Add prometheus asgi middleware to route /metrics requests
|
||||||
metrics_route = Mount("/metrics", make_asgi_app(registry=registry))
|
metrics_route = Mount("/metrics", make_asgi_app(registry=registry))
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user