
    %`i[              	       l    d dl Z d dlZ d dlmZmZ 	 	 d	deegdf         dedee j                 ddfdZdS )
    N)CallableOptional      ?callback
interval_sloopreturnc                      t          j                    t          d           fd}                     |            d           dS )a1  
    Start logging event loop lags to the callback. In ideal circumstances they should be
    very close to zero. Lags may increase if event loop callbacks block for too long.

    Note: this works for all event loops, including uvloop.

    :param callback: Callback to call with the lag in seconds.
    Nz)No provided loop, nor running loop found.c                    K                                    ri                                } t          j                   d {V                                  | z
  z
  } |                                            gd S d S )N)
is_runningtimeasynciosleep)t0lagr   r   r   s     l/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/ray/_private/async_utils.pymonitorz(enable_monitor_loop_lag.<locals>.monitor-   s      oo 	B-
+++++++++))++"Z/CHSMMM	 oo 	 	 	 	 	    zasync_utils.monitor_loop_lag)name)r   get_running_loop
ValueErrorcreate_task)r   r   r   r   s   ``` r   enable_monitor_loop_lagr      sy     |'))|DEEE       	WWYY%CDDDDDr   )r   N)r   asyncio.eventstypingr   r   floatAbstractEventLoopr    r   r   <module>r      s   ,      % % % % % % % %
 04E Ew}%EE 7,
-E 
	E E E E E Er   