o
    i                     @   sr   d dl Z d dlZd dlmZmZ d dl mZ d dlmZ d dl	m
Z
 d dlmZ G dd deZd	efd
dZdS )    N)FastAPIResponse)make_asgi_app)Instrumentator)Mount)get_prometheus_registryc                   @   s   e Zd ZejZdS )PrometheusResponseN)__name__
__module____qualname__prometheus_clientCONTENT_TYPE_LATEST
media_type r   r   c/home/ubuntu/vllm_env/lib/python3.10/site-packages/vllm/entrypoints/serve/instrumentator/metrics.pyr      s    
r   appc                 C   sV   t  }tg d|d | j| td tdt|d}t	d|_
| j| dS )z*Mount prometheus metrics to a FastAPI app.)/metricsz/healthz/loadz/pingz/versionz/server_info)excluded_handlersregistry)response_classr   )r   z^/metrics(?P<path>.*)$N)r   r   add
instrumentexposer   r   r   recompile
path_regexroutesappend)r   r   metrics_router   r   r   attach_router   s   
r   )r   regexr   fastapir   r   r   !prometheus_fastapi_instrumentatorr   starlette.routingr   vllm.v1.metrics.prometheusr   r   r   r   r   r   r   <module>   s   