
    Q
id                         d dl Z d dlZd dl mZ d dlmZmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ  ed          Zg d	Z G d
 d          ZddZdS )    N)	Namespace)add_index_parsing_optionscreate_redis_url)SearchIndex)IndexSchema)
get_logger)lazy_importz	[RedisVL])num_docs	num_terms
max_doc_idnum_recordspercent_indexedhash_indexing_failuresnumber_of_usesbytes_per_record_avgdoc_table_size_mbinverted_sz_mbkey_table_size_mboffset_bits_per_record_avgoffset_vectors_sz_mboffsets_per_term_avgrecords_per_doc_avgsortable_values_size_mbtotal_indexing_timetotal_inverted_index_blocksvector_index_sz_mbc                   \    e Zd Zd                    dg          Zd ZdefdZdedefdZ	dS )	Stats
zrvl stats [<args>]
c                    t          j        | j                  }|                    dddt          d           t          |          }|                    t          j        dd                    }	 | 	                    |           d S # t          $ r4}t                              |           t          d           Y d }~d S d }~ww xY w)	N)usagez-fz--formatzOutput formatrounded_outline)helptypedefault   r   )argparseArgumentParserr!   add_argumentstrr   
parse_argssysargvstats	Exceptionloggererrorexit)selfparserargses       C:\Users\Dell Inspiron 16\Desktop\tws\AgrotaPowerBi\back-agrota-powerbi\mcp-client-agrota\venv\Lib\site-packages\redisvl/cli/stats.py__init__zStats.__init__+   s    (tz:::*?FW 	 	
 	
 	
 +622  !""..	JJt 	 	 	LLOOOGGGGGGGGG	s   1B 
C)CCr5   c                     |                      |          }t          |                                |j                   dS )znObtain stats about an index.

        Usage:
            rvl stats -i <index_name> | -s <schema_path>
        )output_formatN)_connect_to_index_display_statsinfoformat)r3   r5   indexs      r7   r.   zStats.stats9   s:     &&t,,uzz||4;??????    returnc                    	 t          |          }n9# t          $ r, t                              d           t	          d           Y nw xY w|j        r/t          j        dd|j        ii          }t          ||          }nL|j	        rt          j
        |j	        |          }n)t                              d           t	          d           |S )NzDMust set REDIS_ADDRESS environment variable or provide host and portr   r?   name)schema	redis_url)rE   z%Index name or schema must be provided)r   
ValueErrorr0   r1   r2   r?   r   	from_dictr   rD   	from_yaml)r3   r5   rE   rD   r?   s        r7   r;   zStats._connect_to_indexB   s    	(..II 	 	 	LLV   GGGGG		 : 	 *Gfdj5I+JKKFvCCCEE[ 	)$+KKKEELL@AAAGGGs    3AAN)
__name__
__module____qualname__joinr!   r8   r   r.   r   r;    r@   r7   r   r   $   s        II"	
 E  @) @ @ @ @i K      r@   r   r"   c           	      n     fdt           D             }t          d           t          d |D                       }d|dz   z  }t          d| d           t          d           t          d	| d
           |D ]%\  }}t          d|dd|dd         dd           &t          d| d           d S )Nc                 X    g | ]&}|t                              |                    f'S rM   )r*   get).0key
index_infos     r7   
<listcomp>z"_display_stats.<locals>.<listcomp>Z   s2    HHHc3JNN3//001HHHr@   z
Statistics:c              3   :   K   | ]\  }}t          |          V  d S )N)len)rQ   rR   _s      r7   	<genexpr>z!_display_stats.<locals>.<genexpr>^   s,      ;;fc1S;;;;;;r@   u   ─r&   u   ╭u*   ┬────────────╮u2   │ Stat Key                    │ Value      │u   ├u*   ┼────────────┤u   │ z<27u    │ r   
   z<10u    │u   ╰u*   ┴────────────╯)
STATS_KEYSprintmax)rS   r:   
stats_datamax_key_lengthhorizontal_linerR   values   `      r7   r<   r<   X   s    HHHHZHHHJ 
/;;
;;;;;N~12O	
K
K
K
KLLL	
>???	
K
K
K
KLLL  : :
U8S88852;88889999	
K
K
K
KLLLLLr@   )r"   )r'   r,   r   redisvl.cli.utilsr   r   redisvl.indexr   redisvl.schema.schemar   redisvl.utils.logr   redisvl.utils.utilsr	   r0   rZ   r   r<   rM   r@   r7   <module>rf      s     



       I I I I I I I I % % % % % % - - - - - - ( ( ( ( ( ( + + + + + +	K	 	   
.1 1 1 1 1 1 1 1hM M M M M Mr@   