o
    i                     @  sT   d dl mZ d dlZddlmZ ddlmZmZm	Z	m
Z
mZmZ dddddZdS )    )annotationsN   )logger   )AgentMetrics
EOUMetrics
LLMMetricsRealtimeModelMetrics
STTMetrics
TTSMetricsmetricsr   r   logging.Logger | NonereturnNonec                C  s  |d u rt }i }| jr|| jjpd| jjpddO }t| tr;|jd|t| jd| j	| j
| jt| jddB d d S t| tr|jd|t| jd| j| jj| jj| jjrZ| jjjnd| jj| jjrg| jjjnd| jj| jjrt| jjjnd| j| jj| jj| jj| jt| jdd	B d d S t| tr|jd
|| jt| jddB d d S t| tr|jd|t| jdt| jddB d d S t| tr|jd|dt| jdiB d d S d S )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'   )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+    r6   ^/var/www/html/livekit_bhavya/venv/lib/python3.10/site-packages/livekit/agents/metrics/utils.pylog_metrics	   s   


















r8   )r   r   r   r   r   r   )
__future__r   logginglogr   r*   baser   r   r   r	   r
   r   r8   r6   r6   r6   r7   <module>   s
     