o
    پi{                     @   s6   d dl Z d dlZd dlZddedede jfddZdS )	    N      @	componentintervalreturnc                    sF   ddl m} |dddgd fdd}tj|d	d
}|  |S )Nr   )Counterz sglang:process_cpu_seconds_totalz7Total CPU time consumed by this process (user + system)r   )namedocumentation
labelnamesc                     sT   t  } |  }	 t |  }|j|j |j|j  }j d| |}q	)NT)r   )	psutilProcess	cpu_timestimesleepusersystemlabelsinc)process
last_times
curr_timesdeltar   cpu_seconds_totalr    R/home/ubuntu/.local/lib/python3.10/site-packages/sglang/srt/metrics/cpu_monitor.pymonitor   s   


z)start_cpu_monitor_thread.<locals>.monitorT)targetdaemon)prometheus_clientr   	threadingThreadstart)r   r   r   r   tr   r   r   start_cpu_monitor_thread   s   r#   )r   )r   r   r
   strfloatr    r#   r   r   r   r   <module>   s    