
    ug                         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ddiZ G d d	e
      Zy)
    N)AnyDictSet)System)ProductTelemetryClientProductTelemetryEvent)overridez$process_person_profileFc                   N     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                 0   |j                   j                  rdt        j                  v rdt        _        nt        j                  d       dt        _        t        j                  d      }d|_        i | _        t               | _        t        | =  |       y )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      W/var/www/openai/venv/lib/python3.12/site-packages/chromadb/telemetry/product/posthog.pyr   zPosthog.__init__   sw    33x3;;7N#GKKP
 #T **95"&@B*-%     eventreturnNc                    |j                   dk(  s|j                  | j                  vr7| j                  j                  |j                         | j	                  |       y |j                  }|| j
                  vr|| j
                  |<   y | j
                  |   j                  |      }|| j
                  |<   |j                  |j                   k\  r| j	                  |       | j
                  |= y y )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!!%%eoo6  'OO	D///-2D	*++I6<<UC)6I&##}'C'CC  /##I. Dr$   c                    	 t        j                  | j                  |j                  i |j                  t
        | j                         y # t        $ r/}t        j                  d|j                   d|        Y d }~y d }~ww xY w)NzFailed to send telemetry event z: )
r   r0   user_idname
propertiesPOSTHOG_EVENT_SETTINGScontext	Exceptionr   error)r    r%   es      r#   r,   zPosthog._direct_capture5   st    	NOO

N5##N'=NN
  	NLL:5::,bLMM	Ns   A	A 	B%A??B)
__name__
__module____qualname__r   r   r	   r   r0   r,   __classcell__)r"   s   @r#   r   r      sI    !v !& /2 /t / /N%: Nt Nr$   r   )r   r   r   typingr   r   r   chromadb.configr   chromadb.telemetry.productr   r   	overridesr	   r   r:   r   r5   r    r$   r#   <module>rC      sM      
 ! ! " 			8	$3U; ,N$ ,Nr$   