o
    i                     @   s  U d dl mZmZ d dlmZ d dlmZ d dlmZm	Z	 d dl
mZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZmZ eeZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZ G dd deZ!e Z"da#ee e$d< e! Z%defddZ&ded e'ddfd!d"Z(deddfd#d$Z)				d+d%e*d&ee* d'ee* d(ee dee ddfd)d*Z+dS ),    )ABCabstractmethod)	getLogger)environ)Optionalcast)	LogRecord)SeverityNumber)"_OTEL_PYTHON_EVENT_LOGGER_PROVIDER)
TraceFlags)Once)_load_provider)AnyValue_ExtendedAttributesc                       sj   e Zd Z							ddedee dee dee ded dee d	ee d
ee f fddZ	  Z
S )EventNname	timestamptrace_idspan_idtrace_flagsr   bodyseverity_number
attributesc	           
   	      s<   |pi }i |d|i}	t  j|||||||	d || _d S )Nz
event.name)r   r   r   r   r   r   r   )super__init__r   )
selfr   r   r   r   r   r   r   r   event_attributes	__class__ d/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/opentelemetry/_events/__init__.pyr   "   s    
	zEvent.__init__)NNNNNNN)__name__
__module____qualname__strr   intr   r	   r   r   __classcell__r   r   r   r    r   !   s2    	r   c                
   @   sH   e Zd Z			ddedee dee dee fddZedddZdS )EventLoggerNr   version
schema_urlr   c                 C   s   || _ || _|| _|| _d S N)_name_version_schema_url_attributesr   r   r(   r)   r   r   r   r    r   ?   s   
zEventLogger.__init__eventr   returnc                 C      dS )z-Emits a :class:`Event` representing an event.Nr   r   r0   r   r   r    emitK       zEventLogger.emitNNN)r0   r   r1   N)	r!   r"   r#   r$   r   r   r   r   r4   r   r   r   r    r'   >   s    
r'   c                   @   s   e Zd ZdeddfddZdS )NoOpEventLoggerr0   r1   Nc                 C   s   d S r*   r   r3   r   r   r    r4   Q   s   zNoOpEventLogger.emit)r!   r"   r#   r   r4   r   r   r   r    r7   P   s    r7   c                
       sf   e Zd Z			ddedee dee dee f fddZedefd	d
Z	de
ddfddZ  ZS )ProxyEventLoggerNr   r(   r)   r   c                    s(   t  j||||d d | _t|| _d S )N)r   r(   r)   r   )r   r   _real_event_loggerr7   _noop_event_loggerr/   r   r   r    r   V   s   zProxyEventLogger.__init__r1   c                 C   s6   | j r| j S trt| j| j| j| j| _ | j S | jS r*   )r9   _EVENT_LOGGER_PROVIDERget_event_loggerr+   r,   r-   r.   r:   )r   r   r   r    _event_loggerf   s   zProxyEventLogger._event_loggerr0   c                 C   s   | j | d S r*   )r=   r4   r3   r   r   r    r4   u   s   zProxyEventLogger.emitr6   )r!   r"   r#   r$   r   r   r   propertyr'   r=   r   r4   r&   r   r   r   r    r8   U   s     r8   c                   @   sB   e Zd Ze			d	dedee dee dee def
ddZdS )
EventLoggerProviderNr   r(   r)   r   r1   c                 C   r2   )z'Returns an EventLoggerProvider for use.Nr   r/   r   r   r    r<   z   r5   z$EventLoggerProvider.get_event_loggerr6   )	r!   r"   r#   r   r$   r   r   r'   r<   r   r   r   r    r?   y   s     r?   c                   @   >   e Zd Z			d	dedee dee dee def
ddZdS )
NoOpEventLoggerProviderNr   r(   r)   r   r1   c                 C   s   t ||||dS N)r(   r)   r   )r7   r/   r   r   r    r<      s   z(NoOpEventLoggerProvider.get_event_loggerr6   r!   r"   r#   r$   r   r   r'   r<   r   r   r   r    rA          rA   c                   @   r@   )
ProxyEventLoggerProviderNr   r(   r)   r   r1   c                 C   s&   t rt j||||dS t||||dS rB   )r;   r<   r8   r/   r   r   r    r<      s   z)ProxyEventLoggerProvider.get_event_loggerr6   rC   r   r   r   r    rE      rD   rE   Nr;   r1   c                  C   s4   t d u rttvr
tS ttd} t| dd tdt S )Nevent_logger_providerFlogr?   )r;   r
   r   _PROXY_EVENT_LOGGER_PROVIDERr   _set_event_logger_providerr   rF   r   r   r    get_event_logger_provider   s   
rL   rF   rH   c                    s6   d fdd}t |}|r|std d S d S d S )Nr1   c                      s    a d S r*   )r;   r   rK   r   r    set_elp   s   z+_set_event_logger_provider.<locals>.set_elpz8Overriding of current EventLoggerProvider is not allowed)r1   N)_EVENT_LOGGER_PROVIDER_SET_ONCEdo_once_loggerwarning)rF   rH   rM   did_setr   rK   r    rJ      s   
rJ   c                 C   s   t | dd d S )NTrG   )rJ   rK   r   r   r    set_event_logger_provider   s   rS   r   r(   r)   r   c                 C   s   |d u rt  }|| |||S r*   )rL   r<   )r   r(   r)   r   rF   r   r   r    r<      s   r<   )NNNN),abcr   r   loggingr   osr   typingr   r   opentelemetry._logsr   opentelemetry._logs.severityr	   #opentelemetry.environment_variablesr
   opentelemetry.trace.spanr   opentelemetry.util._oncer   opentelemetry.util._providersr   opentelemetry.util.typesr   r   r!   rP   r   r'   r7   r8   r?   rA   rE   rN   r;   __annotations__rI   rL   boolrJ   rS   r$   r<   r   r   r   r    <module>   sh   $

