o
    SÛ·io  ã                   @   sx   d dl Z d dlZd dlmZmZ d dlmZ d dlmZ d dl	m
Z
 e
r2d dl	mZ d dlmZmZ G dd	„ d	eƒZdS )
é    N)Ú
ContextVarÚlogger)ÚIntegration©Úadd_global_event_processor)ÚTYPE_CHECKING)ÚOptional)ÚEventÚHintc                   @   s6   e Zd ZdZd
dd„Zed
dd„ƒZed
dd	„ƒZdS )ÚDedupeIntegrationÚdedupeÚreturnNc                 C   s   t dƒ| _d S )Nz	last-seen)r   Ú
_last_seen)Úself© r   úT/home/ubuntu/vllm_env/lib/python3.10/site-packages/sentry_sdk/integrations/dedupe.pyÚ__init__   s   zDedupeIntegration.__init__c                  C   s   t d	dd„ƒ} d S )
NÚeventr	   ÚhintúOptional[Hint]r   úOptional[Event]c                 S   sÂ   |d u r| S t  ¡  t¡}|d u r| S | dd ¡}|d u r| S |j d ¡}|d ur4t|tjƒr2|ƒ n|}|d }||u rDt	 
d|¡ d S z|j t |¡¡ W | S  ty`   |j |¡ Y | S w )NÚexc_infoé   z3DedupeIntegration dropped duplicated error event %s)Ú
sentry_sdkÚ
get_clientÚget_integrationr   Úgetr   Ú
isinstanceÚweakrefÚrefr   ÚinfoÚsetÚ	TypeError)r   r   Úintegrationr   Ú	last_seenÚexcr   r   r   Ú	processor   s.   ÿýýz/DedupeIntegration.setup_once.<locals>.processor)r   r	   r   r   r   r   r   )r&   r   r   r   Ú
setup_once   s   zDedupeIntegration.setup_oncec                  C   s*   t  ¡  t¡} | d u rd S | j d ¡ d S )N)r   r   r   r   r   r!   )r#   r   r   r   Úreset_last_seen9   s   z!DedupeIntegration.reset_last_seen)r   N)Ú__name__Ú
__module__Ú__qualname__Ú
identifierr   Ústaticmethodr'   r(   r   r   r   r   r      s    
"r   )r   r   Úsentry_sdk.utilsr   r   Úsentry_sdk.integrationsr   Úsentry_sdk.scoper   Útypingr   r   Úsentry_sdk._typesr	   r
   r   r   r   r   r   Ú<module>   s    