
    jG                        U d dl mZ d dlZd dlZd dlmZmZmZ 	 d dlm	Z	  e	j                  d      Zded<   d dlmZ d	Zd
ZdZ G d d      Zy# e$ r dZY  w xY w)    )annotationsN)	GeneratorLiteralMapping)tracezelasticsearch-apitrace.Tracer | None_tracer)OpenTelemetrySpan1OTEL_PYTHON_INSTRUMENTATION_ELASTICSEARCH_ENABLED>OTEL_PYTHON_INSTRUMENTATION_ELASTICSEARCH_CAPTURE_SEARCH_QUERYomitc                      e Zd Z	 	 	 d	 	 	 	 	 ddZej
                  	 	 	 	 	 	 	 	 dd       Zej
                  d	d       Zej
                  d
d       Zy)OpenTelemetryNc                0   |'t         j                  j                  t        d      dk(  }|xs t        | _        |xr | j
                  d u| _        ||| _        y t         j                  j                  t        t              | _        | j                  dv sJ y )Ntrue)r   raw)
osenvirongetENABLED_ENV_VARr	   tracerenabledbody_strategyBODY_STRATEGY_ENV_VARDEFAULT_BODY_STRATEGY)selfr   r   r   s       r/var/www/internaltesting/Shamanth/prverification/HIS_auto/venv/lib/python3.12/site-packages/elasticsearch/_otel.py__init__zOpenTelemetry.__init__,   s     ?jjnn_f=GG':4;;d#:$!.D!#%'<"D %%888    c             #    K   | j                   r| j                  t        d        y |xs |}| j                  j                  |      5 }|j	                  d|       |j	                  dd       ||j	                  d|       |j                         D ]  \  }}|j	                  d| |        t        ||| j                         d d d        y # 1 sw Y   y xY ww)Nhttp.request.methoddb.system.nameelasticsearchdb.operation.namezdb.operation.parameter.)endpoint_idr   )r   r   r
   start_as_current_spanset_attributeitemsr   )r   methodr%   
path_parts	span_name	otel_spankeyvalues           r   spanzOpenTelemetry.span?   s      ||t{{2#D)))6	[[..y9 	Y##$96B##$4oF&''(;[I(..0 P
U''*A#(GOP $'"00 	 	 	s   AC
B C
	CCCc              #  >  K   | j                   r| j                  t        d        y | j                  j                  |      5 }|j	                  dd       |j	                  d|       |j	                  dd       t        |       d d d        y # 1 sw Y   y xY ww)Nr"   r#   r$   r!   null)r   r   r
   r&   r'   )r   r+   r,   s      r   helpers_spanzOpenTelemetry.helpers_spanZ   s     ||t{{2#D))[[..y9 	/Y##$4oF##$7C##$96B#I..	/ 	/ 	/s   ABAB	BBBc              #     K   | j                   r| j                  |j                  d  y t        j                  |j                        5  d  d d d        y # 1 sw Y   y xY ww)N)r   r   r,   r   use_span)r   r/   s     r   r4   zOpenTelemetry.use_spang   sL     ||t{{2dnn6L^^DNN+ 		 	 	s   A	A%A	A%A"A%)NNN)r   zbool | Noner   r   r   zLiteral['omit', 'raw'] | None)r)   strr%   z
str | Noner*   zMapping[str, str]returnGenerator[OpenTelemetrySpan])r+   r5   r6   r7   )r/   r
   r6   zGenerator[None])	__name__
__module____qualname__r   
contextlibcontextmanagerr/   r2   r4    r   r   r   r   +   s      $&*7;	99 $9 5	9&   	
 & 
& 4 
/ 
/  r   r   )
__future__r   r;   r   typingr   r   r   opentelemetryr   
get_tracerr	   __annotations__ImportErrorelastic_transportr
   r   r   r   r   r=   r   r   <module>rE      su   $ #  	 . .##35#3#34G#HG H 0 F
 Y  C C  Gs   A AA