o
    g                     @   sz   d dl Z d dlZd dlZd dlmZmZmZ d dlmZ d dl	m
Z
mZ d dlmZ eeZddiZG dd	 d	e
ZdS )
    N)AnyDictSet)System)ProductTelemetryClientProductTelemetryEvent)overridez$process_person_profileFc                       sJ   e Zd Zdef fddZededdfddZdeddfd	d
Z  Z	S )Posthogsystemc                    sX   |j jr	dtjv rdt_ntd dt_t	
d}d|_i | _t | _t | d S )NpytestTzpAnonymized telemetry enabled. See                     https://docs.trychroma.com/telemetry for more information./phc_YeUxaojbKk5KPi8hNlx1bBKHzuZ4FDtl67kH1blv8Bhposthog)settingsanonymized_telemetrysysmodulesr   disabledloggerinfoproject_api_keylogging	getLoggerbatched_eventssetseen_event_typessuper__init__)selfr
   posthog_logger	__class__ Y/var/www/visachat/venv/lib/python3.10/site-packages/chromadb/telemetry/product/posthog.pyr      s   
zPosthog.__init__eventreturnNc                 C   s   |j dks|j| jvr| j|j | | d S |j}|| jvr(|| j|< d S | j| |}|| j|< |j|j krF| | | j|= d S d S )N   )max_batch_size	batch_keyr   add_direct_capturer   batch
batch_size)r   r#   r'   batched_eventr!   r!   r"   capture%   s   




zPosthog.capturec              
   C   sh   zt | j|ji |jt| j W d S  ty3 } zt	d|j d|  W Y d }~d S d }~ww )NzFailed to send telemetry event z: )
r   r-   user_idname
propertiesPOSTHOG_EVENT_SETTINGScontext	Exceptionr   error)r   r#   er!   r!   r"   r)   5   s   
&zPosthog._direct_capture)
__name__
__module____qualname__r   r   r   r   r-   r)   __classcell__r!   r!   r   r"   r	      s
    r	   )r   r   r   typingr   r   r   chromadb.configr   chromadb.telemetry.productr   r   	overridesr   r   r6   r   r1   r	   r!   r!   r!   r"   <module>   s    
