
    ui)                         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j        e          Z G d de
          ZdS )    N)AnyDictSet)System)ProductTelemetryClientProductTelemetryEvent)overridec                   T     e Zd Zdef fdZededdfd            ZdeddfdZ xZ	S )Posthogsystemc                 N   |j         j        rdt          j        v rdt          _        nt                              d           dt          _        t          j
        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__s      U/var/www/icac/venv/lib/python3.11/site-packages/chromadb/telemetry/product/posthog.pyr   zPosthog.__init__   s    3 	x3;7N7N#GKKP  
 #T *955"&@B*-%%         eventreturnNc                    |j         dk    s|j        | j        vr6| j                            |j                   |                     |           d S |j        }|| j        vr|| j        |<   d S | j        |                             |          }|| j        |<   |j        |j         k    r|                     |           | j        |= d S d S )N   )max_batch_size	batch_keyr   add_direct_capturer   batch
batch_size)r    r%   r*   batched_events       r#   capturezPosthog.capture#   s    1$$t?T(T(T!%%eo666  '''FO	D///-2D	*F+I6<<UCC)6I&#}'CCC  ///#I... DCr$   c                     	 t          j        | j        |j        i |j        | j                   d S # t          $ r0}t                              d|j         d|            Y d }~d S d }~ww xY w)NzFailed to send telemetry event z: )	r   r0   user_idname
propertiescontext	Exceptionr   error)r    r%   es      r#   r,   zPosthog._direct_capture3   s    	NO
45#4t|4    
  	N 	N 	NLLL5:LLLLMMMMMMMMM	Ns   .2 
A,%A''A,)
__name__
__module____qualname__r   r   r	   r   r0   r,   __classcell__)r"   s   @r#   r   r      s        !v ! ! ! ! ! !& /2 /t / / / X/N%: Nt N N N N N N N Nr$   r   )r   r   r   typingr   r   r   chromadb.configr   chromadb.telemetry.productr   r   	overridesr	   r   r9   r   r    r$   r#   <module>rB      s      



 ! ! ! ! ! ! ! ! ! ! " " " " " "             		8	$	$,N ,N ,N ,N ,N$ ,N ,N ,N ,N ,Nr$   