
    /j                    Z    S SK Jr  S SKrSSKJr  SSKJrJrJ	r	J
r
JrJrJr  SS.SS jjrg)	    )annotationsN   )logger   )AgentMetrics
EOUMetricsInterruptionMetrics
LLMMetricsRealtimeModelMetrics
STTMetrics
TTSMetricsc                  Uc  [         n0 nU R                  (       aB  UU R                  R                  =(       d    SU R                  R                  =(       d    SS.-  n[	        U [
        5      (       a`  UR                  SU[        U R                  S5      U R                  U R                  U R                  [        U R                  S5      S.-  S9  g [	        U [        5      (       Ga  UR                  SU[        U R                  S5      U R                  U R                  R                   U R                  R"                  U R                  R$                  (       a   U R                  R$                  R"                  OSU R                  R&                  U R                  R$                  (       a   U R                  R$                  R&                  OSU R                  R(                  U R                  R$                  (       a   U R                  R$                  R(                  OSU R*                  U R,                  R"                  U R,                  R(                  U R,                  R&                  U R.                  [        U R                  S5      S	.-  S9  g [	        U [0        5      (       a5  UR                  S
UU R2                  [        U R4                  S5      S.-  S9  g [	        U [6        5      (       a?  UR                  SU[        U R8                  S5      [        U R:                  S5      S.-  S9  g [	        U [<        5      (       a*  UR                  SUS[        U R4                  S5      0-  S9  g [	        U [>        5      (       au  UR                  SU[        U R@                  S5      [        U RB                  S5      [        U RD                  S5      U RF                  U RH                  U RJ                  S.-  S9  g g )Nunknown)
model_namemodel_providerzLLM metricsr   )ttftprompt_tokensprompt_cached_tokenscompletion_tokenstokens_per_second)extrazRealtimeModel metricsr   )r   input_tokenscached_input_tokensinput_text_tokensinput_cached_text_tokensinput_image_tokensinput_cached_image_tokensinput_audio_tokensinput_cached_audio_tokensoutput_tokensoutput_text_tokensoutput_audio_tokensoutput_image_tokenstotal_tokensr   zTTS metrics)ttfbaudio_durationzEOU metrics)end_of_utterance_delaytranscription_delayzSTT metricsr&   zInterruption metrics)total_durationprediction_durationdetection_delaynum_interruptionsnum_backchannelsnum_requests)&default_loggermetadatar   r   
isinstancer
   inforoundr   r   r   r   r   r   r   input_token_detailscached_tokenstext_tokenscached_tokens_detailsimage_tokensaudio_tokensr    output_token_detailsr$   r   r%   r&   r   r'   r(   r   r	   r)   r*   r+   r,   r-   r.   )metricsr   r0   s      M/app/agent/.venv/lib/python3.13/site-packages/livekit/agents/metrics/utils.pylog_metricsr=      sc   ~')H!**55B%..==J
 	

 ':&&gllA.!(!6!6(/(D(D%,%>%>%*7+D+Da%H 	 
	
 
G1	2	2#gllA. ' 4 4'.'B'B'P'P%,%@%@%L%L..DD -4,G,G,],],i,i&-&A&A&N&N..DD .5-H-H-^-^-k-k&-&A&A&N&N..DD .5-H-H-^-^-k-k!(!6!6&-&B&B&N&N'.'C'C'P'P'.'C'C'P'P ' 4 4%*7+D+Da%H+ 	 	
6 
GZ	(	("'(>(>"B 	 	
 
GZ	(	(*/0N0NPQ*R',W-H-H!'L 	 	
 
GZ	(	( %(>(>"B 	 	
 
G0	1	1""'(>(>"B',W-H-H!'L#()@)@!#D%,%>%>$+$<$< ' 4 4 	 	
 
2    )r;   r   r   zlogging.Logger | NonereturnNone)
__future__r   logginglogr   r/   baser   r   r	   r
   r   r   r   r=    r>   r<   <module>rF      s0    "  *   KO Y
 Y
r>   