
    g                         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
 d dlmZmZmZ d dlmZ d dlmZmZmZ  ee      Z G d	 d
      Zde	fdZd Zd Zy)    )cached_property)	getLogger)environ)get_dist_dependency_conflicts)
BaseDistroDefaultDistro)OTEL_PYTHON_CONFIGURATOR%OTEL_PYTHON_DISABLED_INSTRUMENTATIONSOTEL_PYTHON_DISTRO)__version__)
EntryPointdistributionsentry_pointsc                   >    e Zd Zed        ZdefdZedefd       Zy)_EntryPointDistFinderc                     t               D ci c]%  }|j                  D ]  }| j                  |      | ' c}}S c c}}w )N)r   r   _key_for)selfdisteps      m/var/www/openai/venv/lib/python3.12/site-packages/opentelemetry/instrumentation/auto_instrumentation/_load.py_mappingz_EntryPointDistFinder._mapping'   sL     &
''' MM"t#' '
 	
 
s   *<entry_pointc                 x    t        |dd       }|r|S | j                  j                  | j                  |            S )Nr   )getattrr   getr   )r   r   r   s      r   dist_forz_EntryPointDistFinder.dist_for/   s6    {FD1K}}  {!;<<    c                 R    | j                    d| j                   d| j                   S )N:)groupnamevalue)r   s    r   r   z_EntryPointDistFinder._key_for6   s.    ##$Ak&6&6%7q9J9J8KLLr   N)	__name__
__module____qualname__r   r   r   r   staticmethodr    r   r   r   r   &   s>    
 
=J = Mj M Mr   r   returnc                     t        j                  t        d       } t        d      D ]~  }	 | | |j                  k(  rj |j                                }t        |t              s!t        j                  d|j                         [t        j                  d|j                         |c S  t               S # t        $ r'}t        j                  d|j                         |d }~ww xY w)Nopentelemetry_distror!   z+%s is not an OpenTelemetry Distro. Skippingz"Distribution %s will be configuredz$Distribution %s configuration failed)r   r   r   r   r"   load
isinstancer   _loggerdebug	Exception	exceptionr   )distro_namer   distroexcs       r   _load_distror6   ;   s    ++0$7K#*@A	"k[5E5E&E+))+-!&*5MME#(( 8+:J:J  'F B( ?  	68H8H I		s   AB2!B22	C";"CC"c                    t        j                  t        g       }t               }t	        |t
              r.|j                  d      }|D cg c]  }|j                          }}t        d      D ]  } |j                                  t        d      D ]  }|j                  |v r!t        j                  d|j                         2	 |j                  |      }t        |      }|r"t        j                  d|j                  |       s| j                  |d       t        j                  d	|j                          t        d      D ]  } |j                                  y c c}w # t         $ r# t        j#                  d
|j                         Y t$        $ r'}t        j#                  d|j                         |d }~ww xY w)N,opentelemetry_pre_instrumentr,   opentelemetry_instrumentorz&Instrumentation skipped for library %szSkipping instrumentation %s: %sT)skip_dep_checkzInstrumented %sz#Importing of %s failed, skipping itzInstrumenting of %s failedopentelemetry_post_instrument)r   r   r
   r   r.   strsplitstripr   r-   r"   r/   r0   r   r   load_instrumentorImportErrorr2   r1   )r4   package_to_excludeentry_point_finderxr   entry_point_distconflictr5   s           r   _load_instrumentorsrG   T   s    %JBO.0$c*/55c:1CD1CAaggi1CD#*HI J $*FG11MM8+:J:J 	1::;G45EFH5$$
  $$[$FMM+[-=-=>) HH $*IJ KS E4  
	 5{7G7G  	:K<L<LMI	s*   
E$?E)3E)))GG"F>>Gc                     t        j                  t        d       } d }t        d      D ]  }|"t        j                  d|j                  |       '	 | | |j                  k(  r6 |j                                j                  t               |j                  }n&t        j                  d|j                  | t                y # t        $ r'}t        j                  d|j                         |d }~ww xY w)Nopentelemetry_configuratorr,   z1Configuration of %s not loaded, %s already loaded)auto_instrumentation_versionz6Configuration of %s not loaded because %s is set by %szConfiguration of %s failed)r   r   r	   r   r/   warningr"   r-   	configurer   r1   r2   )configurator_name
configuredr   r5   s       r   _load_configuratorsrO      s    $<dCJ#*FG!OOC  
 	!)$(8(88"  "$..1< /  )--
L$$%,	% H0  	:K<L<LMI	s   A-C	C1
"C,,C1N)	functoolsr   loggingr   osr   *opentelemetry.instrumentation.dependenciesr   $opentelemetry.instrumentation.distror   r   3opentelemetry.instrumentation.environment_variablesr	   r
   r   %opentelemetry.instrumentation.versionr   &opentelemetry.util._importlib_metadatar   r   r   r$   r/   r   r6   rG   rO   r(   r   r   <module>rX      sc    &   K 
 >  H
M M*j 20fr   