ó
    Ý/jF  ã                   ó  • S SK r S SKrS SKrSSKJr  \R
                  " SSS// SQS9r\R                  " S	S
S/SS9r\R                  " SSS/SS9r	\R                  " SSS/5      r
SS jrS\SS4S jrSS jrSS jrS\SS4S jrg)é    Né   )ÚutilsÚ*lk_agents_proc_initialize_duration_secondsz"Time taken to initialize a processÚnodename)gš™™™™™¹?g      à?é   r   é   é
   )ÚbucketsÚlk_agents_active_job_countzActive jobsÚlivesum)Úmultiprocess_modeÚlk_agents_child_process_countzTotal number of child processesÚmaxÚlk_agents_worker_loadzWorker load percentageÚreturnc                  ó  •  [        [        R                  " [        R                  " 5       5      R                  SS95      n [        R                  [        R                  " 5       S9R                  U 5        g! [         a     gf = f)zSUpdate child process count metric. Must be called periodically in the main process.T)Ú	recursive©r   N)ÚlenÚpsutilÚProcessÚosÚgetpidÚchildrenÚCHILD_PROC_GAUGEÚlabelsr   r   ÚsetÚ	Exception)Úcounts    ÚQ/app/agent/.venv/lib/python3.13/site-packages/livekit/agents/telemetry/metrics.pyÚ_update_child_proc_countr!   (   sc   € ðÜ”F—N’N¤2§9¢9£;Ó/×8Ñ8À4Ð8ÐHÓIˆÜ×Ñ¬¯ªÓ)9ÐÐ:×>Ñ>¸uÕEøÜó áðús   ‚A4A7 Á7
BÂBÚworker_loadc                 ón   • [         R                  [        R                  " 5       S9R	                  U 5        g ©Nr   )ÚCPU_LOAD_GAUGEr   r   r   r   )r"   s    r    Ú_update_worker_loadr&   2   s%   € Ü×Ñ¤5§>¢>Ó#3ÐÐ4×8Ñ8¸ÕEó    c                  ól   • [         R                  [        R                  " 5       S9R	                  5         g r$   )ÚRUNNING_JOB_GAUGEr   r   r   Úinc© r'   r    Újob_startedr,   6   ó#   € Ü×Ñ¤e§n¢nÓ&6ÐÐ7×;Ñ;Õ=r'   c                  ól   • [         R                  [        R                  " 5       S9R	                  5         g r$   )r)   r   r   r   Údecr+   r'   r    Ú	job_endedr0   :   r-   r'   Útime_elapsedc                 ón   • [         R                  [        R                  " 5       S9R	                  U 5        g r$   )ÚPROC_INITIALIZE_TIMEr   r   r   Úobserve)r1   s    r    Úproc_initializedr5   >   s%   € Ü×Ñ¬¯ªÓ)9ÐÐ:×BÑBÀ<ÕPr'   )r   N)r   Úprometheus_clientr   Ú r   Ú	Histogramr3   ÚGauger)   r   r%   r!   Úfloatr&   r,   r0   r5   r+   r'   r    Ú<module>r;      sÊ   ðÛ 	ã Û å à(×2Ò2Ø0Ø(Ø€LÚ#ñ	Ð ð &×+Ò+Ø ØØ€LØñ	Ð ð %×*Ò*Ø#Ø%Ø€LØñ	Ð ð #×(Ò(ØØØ€Ló€ôðF Uð F¨tô Fô>ô>ðQ eð Q°õ Qr'   