
    `i0                         d dl Z d dlZd dlmZ d dlmZmZmZmZm	Z	 d dl
mZ erd dl
mZ d dl
mZ d dlmZmZmZ  G d d	e          ZddZddZddZdS )    N)Integration)capture_internal_exceptionsexc_info_from_error!single_exception_from_error_tuplewalk_exception_chainevent_hint_with_exc_info)TYPE_CHECKING)Any)Optional)ExcInfoEventHintc                   *    e Zd ZdZedd            ZdS )SparkWorkerIntegrationspark_workerreturnNc                  *    dd l m}  t          | _        d S Nr   )pyspark.daemondaemon_sentry_worker_mainworker_main)original_daemons    ~/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/sentry_sdk/integrations/spark/spark_worker.py
setup_oncez!SparkWorkerIntegration.setup_once   s"    000000&9###    r   N)__name__
__module____qualname__
identifierstaticmethodr    r   r   r   r      s7        J: : : \: : :r   r   exc_infor   r   c           
         t          j                    }ddd}t          |           } | \  }}}g }t          |           D ]G\  }}}|t          t
          t          fvr+|                    t          ||||j	        |                     H|rP|
                                 t          |           }dd|id}t                       t          j        ||           d S d S )NsparkF)typehandlederrorvalues)level	exception)hint)
sentry_sdk
get_clientr   r   
SystemExitEOFErrorConnectionResetErrorappendr   optionsreverser   _tag_task_contextcapture_event)	r$   client	mechanismexc_type	exc_valuetbrvr-   events	            r   _capture_exceptionr?       s   "$$F U33I"8,,H&Hi	B $8#A#A  )RJ2FGGGII1iV^Y    
 3


'11#*(BHH T2222223 3r   c                  `    ddl m t          j                    } | j        d
fd	            }d S )Nr   )TaskContextr>   r   r-   r   r   Optional[Event]c                 "   t                      5  t          j                                        t                    }                                }||| cd d d            S |                     di                               dt          |                                                     | d                             dt          |	                                                     | d                             dt          |
                                                     | d                             dt          |                                                     |j        rd|j        v rN| d                             d|j        d                    | d                             d|j        d	                    d
|j        v r5|                     di                               d|j        d
                    d d d            n# 1 swxY w Y   | S )NtagsstageIdpartitionIdattemptNumbertaskAttemptIdsentry_app_nameapp_nameapplication_idsentry_application_idzcallSite.shortextracallSite)r   r.   r/   get_integrationr   get
setdefaultstrrE   rF   rG   rH   _localProperties)r>   r-   integrationtask_contextrA   s       r   process_eventz(_tag_task_context.<locals>.process_eventB   sX   (** 	 	$/11AA& K '??,,L"l&:	 	 	 	 	 	 	 	 VR((333|335566   &M$$]C8P8P8R8R4S4STTT&M$$_c,:T:T:V:V6W6WXXX&M$$_c,:T:T:V:V6W6WXXX, $(EEE&M,,"L$ABS$T   &M,,($56MN  
 $|'DDD$$Wb11<<"L$ABR$S  7	 	 	 	 	 	 	 	 	 	 	 	 	 	 	> s   AH"FHHH)r>   r   r-   r   r   rB   )pyspark.taskcontextrA   r.   get_isolation_scopeadd_event_processor)scoperV   rA   s     @r   r6   r6   =   sY    //////*,,E
               r   argsOptional[Any]kwargsc                  @   dd l m} 	  |j        | i | d S # t          $ r| t	          j                                        t                    Mt          j	                    }t                      5  t          |           d d d            Y d S # 1 swxY w Y   Y d S Y d S w xY wr   )pyspark.workerworkermainr0   r.   r/   rO   r   sysr$   r   r?   )r[   r]   original_workerr$   s       r   r   r   f   s   ,,,,,,-d-f----- - - - ""223IJJV|~~H,.. - -"8,,,- - - - - - - - - - - - - - - - - - - - WVV-s4    AB-B=BB	BB	BB)r$   r   r   Nr   )r[   r\   r]   r\   r   N)rb   r.   sentry_sdk.integrationsr   sentry_sdk.utilsr   r   r   r   r   typingr	   r
   r   sentry_sdk._typesr   r   r   r   r?   r6   r   r#   r   r   <module>rh      sA   



     / / / / / /              !           76666666666: : : : :[ : : :3 3 3 3:& & & &R	- 	- 	- 	- 	- 	-r   