
    !<i=                        d dl Z d dlZd dlmZ d dlmZ d dlmZmZm	Z	m
Z
mZmZmZmZmZ d dlmZmZmZmZmZ d dlmZmZ d dlmZ d dlmZmZmZmZ d d	l m!Z! d d
l"m#Z#m$Z$ d dl%m&Z&m'Z'm(Z(m)Z) d dl*m+Z+ d dl,m-Z- d dl.m/Z/m0Z0 dZ1dZ2eee	ee
eegZ3eeee!e#e$gZ4e	ee
eeeeegZ5eeeee!e)gZ6e	ee
eegZ7ee)gZ8dZ9 G d de          Z: G d de          Z;de;fdZ<de;fdZ= G d d          Z>e;j?        fdZ@e;j?        fdZAd ZBd ZCd ZDd  ZEd! ZFd" ZGd# ZHd$ ZId% ZJd& ZKd' ZLd( ZMd) ZNd* ZOd+ ZPd, ZQd- ZRd. ZSd/ ZTd0e;j?        fd1eUd2eVd3eWd4eXd5e;f
d6ZYde;d7eWfd8ZZdS )9    N)Enum)http_status_to_status_code)	HTTP_FLAVOR	HTTP_HOSTHTTP_METHODHTTP_SCHEMEHTTP_SERVER_NAMEHTTP_STATUS_CODEHTTP_TARGETHTTP_URLHTTP_USER_AGENT)NET_HOST_NAMENET_HOST_PORTNET_PEER_IPNET_PEER_NAMENET_PEER_PORT)CLIENT_ADDRESSCLIENT_PORT)
ERROR_TYPE)HTTP_REQUEST_METHODHTTP_REQUEST_METHOD_ORIGINALHTTP_RESPONSE_STATUS_CODE
HTTP_ROUTE)NETWORK_PROTOCOL_VERSION)SERVER_ADDRESSSERVER_PORT)URL_FULLURL_PATH	URL_QUERY
URL_SCHEME)USER_AGENT_ORIGINAL)Schemas)Status
StatusCode)g        g      @g      $@g      9@g      I@g     R@g      Y@g     @o@g     @@g     p@g     @@g     @g     @g     L@g     @)g{Gzt?g{Gz?g?g?g333333?g?g      ?g      ?g      ?   g      @   g      @
   OTEL_SEMCONV_STABILITY_OPT_INc                       e Zd ZdZdZdZdS )!_OpenTelemetryStabilitySignalTypehttpdatabasegen_aiN)__name__
__module____qualname__HTTPDATABASEGEN_AI     /Users/kimhansen/Desktop/03 Workspace/ceo-agents/chl-effectiveness/mcp-servers/whoop/.venv/lib/python3.11/site-packages/opentelemetry/instrumentation/_semconv.pyr*   r*      s        DHFFFr5   r*   c                   &    e Zd ZdZdZdZdZdZdZdS )_StabilityModedefaultr+   zhttp/dupr,   zdatabase/dupgen_ai_latest_experimentalN)	r.   r/   r0   DEFAULTr1   HTTP_DUPr2   DATABASE_DUPGEN_AI_LATEST_EXPERIMENTALr4   r5   r6   r8   r8      s/        GDHH!L!=r5   r8   modec                 "    | t           j        k    S N)r8   r;   r?   s    r6   _report_newrC      s    >)))r5   c                 6    | t           j        t           j        fvS rA   )r8   r1   r2   rB   s    r6   _report_oldrE      s    +^-DEEEr5   c                       e Zd ZdZ ej                    Zi Zed             Z	e
d             Zededefd            ZdS ))_OpenTelemetrySemanticConventionStabilityFc                 2   | j         5  | j        r	 d d d            d S t          j                            t
                    }|s^t          j        t          j	        t          j
        t          j	        t          j        t          j	        i| _        d| _        	 d d d            d S d |                    d          D             }|                     |t          j        t          j                  | j        t          j        <   |                     |t          j	        t          j                  | j        t          j        <   |                     |t          j
        t          j                  | j        t          j
        <   d| _        d d d            d S # 1 swxY w Y   d S )NTc                 6    g | ]}|                                 S r4   )strip).0ss     r6   
<listcomp>zI_OpenTelemetrySemanticConventionStability._initialize.<locals>.<listcomp>   s     @@@17799@@@r5   ,)_lock_initializedosenvirongetr(   r*   r1   r8   r;   r2   r3   &_OTEL_SEMCONV_STABILITY_SIGNAL_MAPPINGsplit_filter_moder<   r>   r=   )clsopt_inopt_in_lists      r6   _initializez5_OpenTelemetrySemanticConventionStability._initialize   s   Y )	$ )	$ )	$ )	$ )	$ )	$ )	$ )	$ )	$ )	$ Z^^$ABBF  6:N<R5>@V5<n>T>:
 $( !)	$ )	$ )	$ )	$ )	$ )	$ )	$ )	$$ A@fll3.?.?@@@K   ^0.2I  616   &9  618   '+  61:  $CS)	$ )	$ )	$ )	$ )	$ )	$ )	$ )	$ )	$ )	$ )	$ )	$ )	$ )	$ )	$ )	$ )	$ )	$s   	FA7F"CFFFc                 F    |j         | v r|S |j         | v r|nt          j        S rA   )valuer8   r;   )rY   stable_modedup_modes      r6   rV   z6_OpenTelemetrySemanticConventionStability._filter_mode   s8     >[((O  K// K'	
r5   signal_typereturnc                 L    | j                             |t          j                  S rA   )rT   rS   r8   r;   )rW   r_   s     r6   (_get_opentelemetry_stability_opt_in_modezR_OpenTelemetrySemanticConventionStability._get_opentelemetry_stability_opt_in_mode   s'    
 9==/
 
 	
r5   N)r.   r/   r0   rP   	threadingLockrO   rT   classmethodrZ   staticmethodrV   r*   r8   rb   r4   r5   r6   rG   rG      s        LINE-/**$ *$ [*$X 

 

 \

 
;
	
 
 
 [
 
 
r5   rG   c                 x    i }|t           j        k    r|n|}|                                 D ]\  }}||v r|||<   |S rA   )r8   r1   items)attrs	old_attrs	new_attrssem_conv_opt_in_modefiltered_attrsallowed_attributeskeyvals           r6   _filter_semconv_duration_attrsrq     s^     N *^-@@@		i  KKMM & &S$$$"%N3r5   c                     i }t          |          r#|                                 D ]\  }}||v r|||<   t          |          r#|                                 D ]\  }}||v r|||<   |S rA   )rE   rh   rC   )ri   rj   rk   rl   rm   ro   rp   s          r6   )_filter_semconv_active_request_count_attrrs     s     N'(( * 	* 	*HCi&)s#'(( * 	* 	*HCi&)s#r5   c                     |r|| |<   d S d S rA   r4   resultro   r\   s      r6   set_string_attributerw   (  s!     s r5   c                 V    |r&	 t          |          | |<   d S # t          $ r Y d S w xY wd S rA   )int
ValueErrorru   s      r6   set_int_attributer{   -  sN     	e**F3KKK 	 	 	FF	 s    
&&c                 D   |                                 }|                                 }||k    r%t          |          rt          | t          |           t	          |          rt          | t
          |           t          |          rt          | t          |           d S d S rA   )rJ   rC   rw   r   rE   r   r   )rv   original
normalizedrl   s       r6   _set_http_methodr   5  s    ~~H!!##J :+.B"C"CV%A8LLL'(( >V[*==='(( FV%8*EEEEEF Fr5   c                     t          |          rt          | t          |           t          |          rt          | t          |           d S d S rA   )rE   r{   r
   rC   r   )rv   coderl   s      r6   _set_http_status_coder   C  s]    '(( :&"2D999'(( C&";TBBBBBC Cr5   c                     t          |          rt          | t          |           t          |          rt          | t          |           d S d S rA   )rE   rw   r   rC   r   )rv   urlrl   s      r6   _set_http_urlr   J  sX    '(( 4VXs333'(( 4VXs333334 4r5   c                     t          |          rt          | t          |           t          |          rt          | t          |           d S d S rA   )rE   rw   r   rC   r    )rv   schemerl   s      r6   _set_http_schemer   Q  sX    '(( :V[&999'(( 9VZ888889 9r5   c                     t          |          rt          | t          |           t          |          rt          | t          |           d S d S rA   rE   rw   r   rC   r   rv   versionrl   s      r6   _set_http_flavor_versionr   X  \    '(( ;V[':::'(( HV%=wGGGGGH Hr5   c                     t          |          rt          | t          |           t          |          rt          | t          |           d S d S rA   )rE   rw   r   rC   r!   )rv   
user_agentrl   s      r6   _set_http_user_agentr   _  s]    '(( BV_jAAA'(( FV%8*EEEEEF Fr5   c                     t          |          rt          | t          |           t          |          rt          | t          |           d S d S rA   )rE   rw   r   rC   r   rv   hostrl   s      r6   _set_http_host_clientr   i  sX    '(( 6VY555'(( ;V^T:::::; ;r5   c                     t          |          rt          | t          |           t          |          rt          | t          |           d S d S rA   )rE   rw   r   rC   r   )rv   	peer_namerl   s      r6   _set_http_net_peer_name_clientr   p  s[    '(( ?V]I>>>'(( @V^Y?????@ @r5   c                     t          |          rt          | t          |           t          |          rt          | t          |           d S d S rA   )rE   r{   r   rC   r   rv   portrl   s      r6   _set_http_peer_port_clientr   w  X    '(( 7&-666'(( 5&+t444445 5r5   c                     t          |          rt          | t          |           t          |          rt          | t          |           d S d S rA   r   r   s      r6   "_set_http_network_protocol_versionr   ~  r   r5   c                     t          |          rt          | t          |           t          |          rt          | t          |           d S d S rA   )rE   rw   r   rC   r   r   s      r6   _set_http_net_hostr     X    '(( :V]D999'(( ;V^T:::::; ;r5   c                     t          |          rt          | t          |           t          |          rt          | t          |           d S d S rA   )rE   r{   r   rC   r   r   s      r6   _set_http_net_host_portr     r   r5   c                     t          |          rt          | t          |           t          |          r2|rt          | t          |           |rt          | t
          |           d S d S d S rA   )rE   rw   r   rC   r   r   )rv   targetpathqueryrl   s        r6   _set_http_targetr     s    '(( :V[&999'(( ; 	9 4888 	; E:::::	; ;	; 	;r5   c                     t          |          rt          | t          |           t          |          r2|                     t
                    st          | t
          |           d S d S d S rA   )rE   rw   r   rC   rS   r   r   s      r6   _set_http_host_serverr     sv    '(( 6VY555'(( ?zz.)) 	? >>>>>? ?	? 	?r5   c                     t          |          rt          | t          |           t          |          r2|                     t
                    st          | t
          |           d S d S d S rA   )rE   rw   r   rC   rS   r   )rv   iprl   s      r6   _set_http_peer_ip_serverr     sv    '(( 6V["555'(( =zz.)) 	= <<<<<= =	= 	=r5   c                     t          |          rt          | t          |           t          |          rt          | t          |           d S d S rA   )rE   r{   r   rC   r   r   s      r6   _set_http_peer_port_serverr     r   r5   c                     t          |          rt          | t          |           t          |          rt          | t          |           d S d S rA   )rE   rw   r   rC   r   )rv   namerl   s      r6   _set_http_net_peer_name_serverr     r   r5   Tmetrics_attributesstatus_codestatus_code_strserver_spanrl   c                 l   |dk     rt          |          r
||t          <   |                                 r\t          |          r|                     t          |           |                     t          t          j        d|z                        d S d S t          ||          }t          |          r9|                                 r|                     t          |           ||t          <   t          |          r|                                 r|                     t          |           ||t          <   |t          j        k    r9|                                 r|                     t          |           ||t          <   |                                 r$|                     t          |                     d S d S )Nr   zNon-integer HTTP status: )r   )rC   r   is_recordingset_attribute
set_statusr#   r$   ERRORr   rE   r
   r   )spanr   r   r   r   rl   statuss          r6   _set_statusr     s    Q+,, 	=-<z* 	/00 @"":???OO$//A     	 	 ,[
 
 
 +,, 	?  "" B""#3[AAA3>/0+,, 	A  "" K""#<kJJJ<G89)))$$&& D&&z?CCC1@":. 	,OOF6NN+++++	, 	,r5   r`   c                 D    | t           j        u rdS t          j        j        S )Nz'https://opentelemetry.io/schemas/1.11.0)r8   r;   r"   V1_21_0r\   rB   s    r6   _get_schema_urlr     s!    ~%%%88?  r5   )[rQ   rc   enumr   #opentelemetry.instrumentation.utilsr   <opentelemetry.semconv._incubating.attributes.http_attributesr   r   r   r   r	   r
   r   r   r   ;opentelemetry.semconv._incubating.attributes.net_attributesr   r   r   r   r   2opentelemetry.semconv.attributes.client_attributesr   r   1opentelemetry.semconv.attributes.error_attributesr   0opentelemetry.semconv.attributes.http_attributesr   r   r   r   3opentelemetry.semconv.attributes.network_attributesr   2opentelemetry.semconv.attributes.server_attributesr   r   /opentelemetry.semconv.attributes.url_attributesr   r   r   r    6opentelemetry.semconv.attributes.user_agent_attributesr!   opentelemetry.semconv.schemasr"   opentelemetry.trace.statusr#   r$   #HTTP_DURATION_HISTOGRAM_BUCKETS_OLD#HTTP_DURATION_HISTOGRAM_BUCKETS_NEW_client_duration_attrs_old_client_duration_attrs_new_server_duration_attrs_old_server_duration_attrs_new'_server_active_requests_count_attrs_old'_server_active_requests_count_attrs_newr(   r*   r8   rC   rE   rG   r;   rq   rs   rw   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   dictry   strboolr   r   r4   r5   r6   <module>r      s   
			           J J J J J J
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                     I H H H H H                                        2 1 1 1 1 1 9 9 9 9 9 9 9 9' #&' #(   	  	    + ' + ' !@        > > > > >T > > >*n * * * *Fn F F F FF
 F
 F
 F
 F
 F
 F
 F
Z (/	   * (/	   $  
  F F FC C C4 4 49 9 9H H HF F F; ; ;@ @ @5 5 5H H H; ; ;5 5 5; ; ;? ? ?= = =5 5 5; ; ; +9+A&, &,&, &, 	&,
 &, )&, &, &, &,T!. !S ! ! ! ! ! !r5   