o
    i                     @   s   d Z ddlmZmZ ddlmZ ddlmZ ddlm	Z	 zddl
mZ ddlmZ ddlmZ W n ey;   ed	w zdd
lmZ W n eyO   dZY nw eddiiZG dd deZdddZdddZdS )z
IMPORTANT: The contents of this file are part of a proof of concept and as such
are experimental and not suitable for production use. They may be changed or
removed at any time without prior notice.
    )DidNotEnableIntegration)SentryPropagator)SentrySpanProcessor)logger)trace)set_global_textmap)TracerProviderzopentelemetry not installed)DjangoInstrumentorNis_sql_commentor_enabledTc                   @   s   e Zd ZdZedddZdS )OpenTelemetryIntegrationopentelemetryreturnNc                   C   s   t d t  t d d S )NzT[OTel] Initializing highly experimental OpenTelemetry support. Use at your own risk.z4[OTel] Finished setting up OpenTelemetry integration)r   warning_setup_sentry_tracingdebug r   r   n/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/sentry_sdk/integrations/opentelemetry/integration.py
setup_once!   s
   z#OpenTelemetryIntegration.setup_oncer   N)__name__
__module____qualname__
identifierstaticmethodr   r   r   r   r   r      s    r   r   c                  C   s*   t  } | t  t|  tt  d S )N)r	   add_span_processorr   r   set_tracer_providerr   r   )providerr   r   r   r   .   s   
r   c                  C   s(   t  D ]\} }|  jdi | qd S )Nr   )CONFIGURABLE_INSTRUMENTATIONSitems
instrument)instrumentorkwargsr   r   r   _setup_instrumentors5   s   r#   r   )__doc__sentry_sdk.integrationsr   r   0sentry_sdk.integrations.opentelemetry.propagatorr   4sentry_sdk.integrations.opentelemetry.span_processorr   sentry_sdk.utilsr   r   r   opentelemetry.propagater   opentelemetry.sdk.tracer	   ImportError$opentelemetry.instrumentation.djangor
   r   r   r   r#   r   r   r   r   <module>   s,    
