o
    iE                     @   s|  d Z 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lmZ ddlmZ ddlmZ ddlmZ g Zd	ejd
dfddZeeZe
  ee
j ejrozddlmZ e  W n eyn   ejddd Y nw ejre d zddl!ZW n ey   ejddd Y nw ej"re#  e$ddd Z%ej&rddl'm(Z( e(j#dd e$ddd Z)edd Z)dS )z
Bootstrapping code that is run when using the `ddtrace-run` Python entrypoint
Add all monkey-patching that needs to run by default here
    N)config)
get_logger)ModuleWatchdog)manager)RuntimeWorker)tracerfuncreturnc                 C   s   t |  d S N)post_preloadappend)r    r   M/home/ubuntu/.local/lib/python3.10/site-packages/ddtrace/bootstrap/preload.pyregister_post_preload    s   r   )crashtrackingzfailed to enable crashtrackingT)exc_infoz)profiler enabled via environment variablezfailed to enable profilingopentelemetryc                 C   s`   t jrddlm} ddlm} ||  t jr ddlm} |  t j	r.ddl
m} |  d S d S )Nr   )set_tracer_provider)TracerProvider)set_otel_logs_provider)set_otel_meter_provider)r   _otel_trace_enabledopentelemetry.tracer   ddtrace.opentelemetryr   _otel_logs_enabled#ddtrace.internal.opentelemetry.logsr   _otel_metrics_enabled&ddtrace.internal.opentelemetry.metricsr   )_r   r   r   r   r   r   r   _otel_signalsD   s   

r   )LLMObs)_autozgevent.monkeyc                    sZ   dd l }d|jvrd S dd lm} |j  d u rd S |j j fdd}|_d S )Nr   uwsgic                    s4   | j    }kr|| _ _| g|R i |S r
   )owner	get_identrelease)selfargskwargstidbstmloriginal_releaser   r   ModuleLock_releaser   s   z_.<locals>.ModuleLock_release)sysmodulesimportlib._bootstrap
_bootstrap_thread_ModuleLockr%   )r   r/   bsr.   r   r*   r   r   ^   s   

r   c                   C   s   t   d S r
   )r   _generate_diagnostic_logsr   r   r   r   r      s   )*__doc__typingtddtracer   ddtrace.internal.loggerr   ddtrace.internal.moduler   ddtrace.internal.productsr   (ddtrace.internal.runtime.runtime_metricsr   &ddtrace.internal.settings.crashtrackercrashtracker_config#ddtrace.internal.settings.profilingprofiling_configddtrace.tracer   r   Callabler   __name__logrun_protocolpost_preload_productsenabledddtrace.internal.corer   start	Exceptionerrordebugddtrace.profiling.auto_runtime_metrics_enabledenableafter_module_importedr   _llmobs_enabledddtrace.llmobsr    r   r   r   r   r   <module>   sP    



!