o
    i=                     @   s   d dl Zd dlmZ d dlmZ d dlmZ d dlmZ d%dd	Z	d%d
dZ
d%ddZd%ddZd%ddZd%ddZd%ddZd%ddZd%ddZd%ddZd%ddZd%ddZG d d! d!eZG d"d deZejed#d$ e Zee dS )&    N)get_agent_hostname)DDConfig)
get_config)report_configurationconfigExporterConfigc                 C   s   t | j}td|S )NOTEL_EXPORTER_OTLP_ENDPOINT)r   _get_default_endpointPROTOCOLr   r   default_endpoint r   \/home/ubuntu/.local/lib/python3.10/site-packages/ddtrace/internal/settings/_opentelemetry.py_derive_endpoint	   s   
r   c                 C      t | j| j}td|S )N OTEL_EXPORTER_OTLP_LOGS_ENDPOINT)r   r	   LOGS_PROTOCOL	LOGS_PATHr   r   r   r   r   _derive_logs_endpoint      
r   c                 C      t d| jS )N OTEL_EXPORTER_OTLP_LOGS_PROTOCOLr   r
   r   r   r   r   _derive_logs_protocol      r   c                 C   r   )NOTEL_EXPORTER_OTLP_LOGS_HEADERSr   HEADERSr   r   r   r   _derive_logs_headers   r   r   c                 C      t d| jtS )NOTEL_EXPORTER_OTLP_LOGS_TIMEOUTr   DEFAULT_TIMEOUTintr   r   r   r   _derive_logs_timeout      r%   c                 C   r   )N#OTEL_EXPORTER_OTLP_METRICS_ENDPOINT)r   r	   METRICS_PROTOCOLMETRICS_PATHr   r   r   r   r   _derive_metrics_endpoint   r   r*   c                 C   s   t ddg| jS )N#OTEL_EXPORTER_OTLP_METRICS_PROTOCOLOTEL_EXPORTER_OTLP_PROTOCOLr   r   r   r   r   _derive_metrics_protocol$   s   r-   c                 C   r   )N"OTEL_EXPORTER_OTLP_METRICS_HEADERSr   r   r   r   r   _derive_metrics_headers(   r   r/   c                 C   r    )N"OTEL_EXPORTER_OTLP_METRICS_TIMEOUTr"   r   r   r   r   _derive_metrics_timeout,   r&   r1   c                 C   r   )N1OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE)r   &DEFAULT_METRICS_TEMPORALITY_PREFERENCEr   r   r   r   &_derive_metrics_temporality_preference0   s   r4   c                 C   r    )NOTEL_METRIC_EXPORT_INTERVAL)r   -DEFAULT_METRICS_METRIC_READER_EXPORT_INTERVALr$   r   r   r   r   -_derive_metrics_metric_reader_export_interval6   r&   r7   c                 C   r    )NOTEL_METRIC_EXPORT_TIMEOUT)r   ,DEFAULT_METRICS_METRIC_READER_EXPORT_TIMEOUTr$   r   r   r   r   ,_derive_metrics_metric_reader_export_timeout:   r&   r:   c                   @   s   e Zd ZdZdS )OpenTelemetryConfigotelN)__name__
__module____qualname__
__prefix__r   r   r   r   r;   >   s    r;   c                   @   sp  e Zd ZU dZdZeed< dZeed< dZ	eed< dZ
eed	< d
e  dZeed< d
e  dZeed< dZeed< dZeed< dZeed< ejeje dddZeeeZejededZejededZeeeZeeeZeeeZ eee!Z"eee#Z$eee%Z&eee'Z(eee)Z*eee+Z,eee-Z.eee/Z0e1ddedefddZ2dS )r   exporter DEFAULT_HEADERSi'  r#   z/v1/logsr   z/v1/metricsr)   zhttp://z:4317DEFAULT_GRPC_ENDPOINTz:4318DEFAULT_HTTP_ENDPOINTdeltar3   r6   iL  r9   zotlp.protocolgrpc)defaultzotlp.headerszotlp.timeoutprotocolendpointc                 C   s"   |   dv rtj | S tj S )N)z	http/jsonzhttp/protobuf)lowerr   rE   rD   )rI   rJ   r   r   r   r	   a   s   z$ExporterConfig._get_default_endpointN)rB   )3r=   r>   r?   r@   rC   str__annotations__r#   r$   r   r)   r   rD   rE   r3   r6   r9   r   vtOptionalr
   dr   ENDPOINTr   TIMEOUTr   r   r   LOGS_ENDPOINTr   LOGS_HEADERSr%   LOGS_TIMEOUTr-   r(   r*   METRICS_ENDPOINTr/   METRICS_HEADERSr1   METRICS_TIMEOUTr4   METRICS_TEMPORALITY_PREFERENCEr7   %METRICS_METRIC_READER_EXPORT_INTERVALr:   $METRICS_METRIC_READER_EXPORT_TIMEOUTstaticmethodr	   r   r   r   r   r   B   s8   
 rA   )	namespace)r   r   )typingrO    ddtrace.internal.settings._agentr   ddtrace.internal.settings._corer   ddtrace.internal.telemetryr   r   r   r   r   r   r%   r*   r-   r/   r1   r4   r7   r:   r;   r   includeotel_configr   r   r   r   <module>   s,    











&