
    Vix                         S r SSKJrJr  SSKJr  SSKJr  SSKJ	r	  \" \
5      r " S S\5      r " S S	\5      rSS	/rg
)z*
OpenTelemetry Base Distribution (Distro)
    )ABCabstractmethod)	getLogger)BaseInstrumentor)
EntryPointc                   F    \ rS rSrSrSrS r\S 5       rS r	S\
4S jrS	rg)

BaseDistro   zAn ABC for distroNc                 r    U R                   c  [        R                  " U /UQ70 UD6U l         U R                   $ N)	_instanceobject__new__)clsargskwargss      w/home/james-whalen/.local/share/pipx/venvs/semgrep/lib/python3.13/site-packages/opentelemetry/instrumentation/distro.pyr   BaseDistro.__new__"   s0    == "NN3@@@CM}}    c                     g)Configure the distributionN selfr   s     r   
_configureBaseDistro._configure(   s    r   c                 (    U R                   " S0 UD6  g)r   Nr   )r   r   s     r   	configureBaseDistro.configure,   s    !&!r   entry_pointc                 R    UR                  5       nU" 5       R                  " S0 UD6  g)a  Takes an instrumentation entry point and activates it by instantiating
and calling instrument() on it.
This is called for each opentelemetry_instrumentor entry point by auto
instrumentation.

Distros can override this method to customize the behavior by
inspecting each entry point and configuring them in special ways,
passing additional arguments, load a replacement/fork instead,
skip loading entirely, etc.
Nr   )load
instrument)r   r    r   instrumentors       r   load_instrumentorBaseDistro.load_instrumentor0   s%     *5)9)9);!!+F+r   r   )__name__
__module____qualname____firstlineno____doc__r   r   r   r   r   r   r%   __static_attributes__r   r   r   r	   r	      s5    I ) )",%,r   r	   c                       \ rS rSrS rSrg)DefaultDistroA   c                     g r   r   r   s     r   r   DefaultDistro._configureB   s    r   r   N)r'   r(   r)   r*   r   r,   r   r   r   r.   r.   A   s    r   r.   N)r+   abcr   r   loggingr   *opentelemetry.instrumentation.instrumentorr   &opentelemetry.util._importlib_metadatar   r'   _LOGr	   r.   __all__r   r   r   <module>r8      sG     $  G =!, !,HJ 
 
)r   