o
    e©Zhê  ã                   @  sN   d dl mZ d dlmZmZ erd dlmZ d dlmZ dZG dd„ dƒZ	dS )	é    )Úannotations)ÚTYPE_CHECKINGÚMapping)ÚLiteral)ÚSpan)	Úsearchzasync_search.submitZmsearchz
eql.searchz
esql.queryZ
terms_enumZsearch_templateZmsearch_templateZrender_search_templatec                   @  s:   e Zd Z		ddd	d
„Zddd„Zd dd„Zd!dd„ZdS )"ÚOpenTelemetrySpanNÚomitÚ	otel_spanúSpan | NoneÚendpoint_idú
str | NoneÚbody_strategyú'Literal["omit", "raw"]'c                 C  s   || _ || _|| _d S )N)r
   r   r   )Úselfr
   r   r   © r   úN/var/www/html/lang_env/lib/python3.10/site-packages/elastic_transport/_otel.pyÚ__init__,   s   
zOpenTelemetrySpan.__init__ÚhostÚstrÚportÚintÚbase_urlÚtargetÚreturnÚNonec                 C  s@   | j d u rd S | j  d|| ¡ | j  d|¡ | j  d|¡ d S )Nzurl.fullzserver.addresszserver.port)r
   Úset_attribute)r   r   r   r   r   r   r   r   Úset_node_metadata7   s
   
z#OpenTelemetrySpan.set_node_metadataÚheadersúMapping[str, str]c                 C  sV   | j d u rd S | d¡}|d ur| j  d|¡ | d¡}|d ur)| j  d|¡ d S d S )NzX-Found-Handling-Clusterzdb.elasticsearch.cluster.namezX-Found-Handling-Instancezdb.elasticsearch.node.name)r
   Úgetr   )r   r   Zcluster_nameZ	node_namer   r   r   Úset_elastic_cloud_metadataB   s   


ÿz,OpenTelemetrySpan.set_elastic_cloud_metadataÚserialized_bodyÚbytesc                 C  sP   | j d u rd S | jdkrd S | jdkr$| jtv r&| j  d| d¡¡ d S d S d S )Nr	   Úrawzdb.statementzutf-8)r
   r   r   ÚSEARCH_ENDPOINTSr   Údecode)r   r"   r   r   r   Úset_db_statementM   s   


ÿÿz"OpenTelemetrySpan.set_db_statement)Nr	   )r
   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r   )r   r   r   r   )r"   r#   r   r   )Ú__name__Ú
__module__Ú__qualname__r   r   r!   r'   r   r   r   r   r   +   s    û

r   N)
Ú
__future__r   Útypingr   r   r   Zopentelemetry.tracer   r%   r   r   r   r   r   Ú<module>   s   