+
    ~j                    b    ^ RI Ht ^ RIt^RIHt ^RIHtHtH	t	H
t
HtHtHtHt RR/R R lltR# )    )annotationsN)logger)AgentMetricsAvatarMetrics
EOUMetricsInterruptionMetrics
LLMMetricsRealtimeModelMetrics
STTMetrics
TTSMetricsr   c               $    V ^8  d   QhRRRRRR/# )   metricsr   r   zlogging.Logger | NonereturnNone )formats   "q/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/livekit/agents/metrics/utils.py__annotate__r      s(     b> b> b>2G b>SW b>    c          %     
   Vf   \         p/ pV P                  '       dJ   TRV P                  P                  ;'       g    RRV P                  P                  ;'       g    R/,          p\	        V \
        4      '       dm   VP                  RVR\        V P                  ^4      RV P                  RV P                  RV P                  R	\        V P                  ^4      /,          R
7       R # \	        V \        4      '       Ed   TP                  RTR\        V P                  ^4      RV P                  RV P                  P                   RV P                  P"                  RV P                  P$                  '       d!   V P                  P$                  P"                  M^ RV P                  P&                  RV P                  P$                  '       d!   V P                  P$                  P&                  M^ RV P                  P(                  RV P                  P$                  '       d!   V P                  P$                  P(                  M^ RV P*                  RV P,                  P"                  RV P,                  P(                  RV P,                  P&                  RV P.                  R	\        V P                  ^4      /,          R
7       R # \	        V \0        4      '       d?   VP                  RVRV P2                  R\        V P4                  ^4      /,          R
7       R # \	        V \6        4      '       dI   VP                  RVR\        V P8                  ^4      R\        V P:                  ^4      /,          R
7       R # \	        V \<        4      '       d3   VP                  RVR\        V P4                  ^4      /,          R
7       R # \	        V \>        4      '       d   VP                  R VR!\        V P@                  ^4      R"\        V PB                  ^4      R#\        V PD                  ^4      R$V PF                  R%V PH                  R&V PJ                  /,          R
7       R # \	        V \L        4      '       d   / pV PN                  '       d=   V PP                  '       d+   \        V PP                  V PN                  ,
          ^4      VR'&   V PR                  '       d   \        V PR                  ^4      VR(&   VP                  R)W#,          R
7       R # R # )*N
model_nameunknownmodel_providerzLLM metricsttftprompt_tokensprompt_cached_tokenscompletion_tokenstokens_per_second)extrazRealtimeModel metrics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_tokenszTTS metricsttfbaudio_durationzEOU metricsend_of_utterance_delaytranscription_delayzSTT metricszInterruption metricstotal_durationprediction_durationdetection_delaynum_interruptionsnum_backchannelsnum_requestsavatar_join_latencyplayback_latencyzAvatar metrics)*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   r0   r1   r   r   r2   r3   r4   r5   r6   r7   r   session_started_timeavatar_joined_timer9   )r   r   r;   r    s   &$  r   log_metricsrH      sC   ~')H'**55BBg..==JJ
 	

 ':&&gllA.!6!6&(D(D#W%>%>#U7+D+Da%H 	 
	
 
G1	2	2#gllA. 4 4%w'B'B'P'P#W%@%@%L%L*..DDD -4,G,G,],],i,i$g&A&A&N&N+..DDD .5-H-H-^-^-k-k$g&A&A&N&N+..DDD .5-H-H-^-^-k-k!6!6$g&B&B&N&N%w'C'C'P'P%w'C'C'P'P 4 4#U7+D+Da%H+ 	 	
6 
GZ	(	( %(>(>"B 	 	
 
GZ	(	((%0N0NPQ*R%uW-H-H!'L 	 	
 
GZ	(	( %(>(>"B 	 	
 
G0	1	1" %(>(>"B%uW-H-H!'L!5)@)@!#D#W%>%>"G$<$< 4 4 	 	
 
G]	+	+(*'''G,F,F,F+0**W-I-II1,E'( ###(-g.F.F(JE$%$H,<= 
,r   )
__future__r   logginglogr   r:   baser   r   r   r   r	   r
   r   r   rH   r   r   r   <module>rM      s1    "  *	 	 	b>$ b> b>r   