
    uYf)                        d dl Z d dlZd dlZd dlZd dl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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 erd dlmZ  ee      Z ed       Zd Zd Z d Z!ddZ"d Z#y)    N)TYPE_CHECKING)Any)Dict)Union)agent)get_distributions)callonce)AgentWriter)	LogWriter)DatadogSampler)config   )
get_logger)Tracerc                  *    t        j                         S )N)platformarchitecture     V/var/www/highfloat_scraper/venv/lib/python3.12/site-packages/ddtrace/internal/debug.py<lambda>r       s     5 5 7 r   c                      dt         j                  v xsE t        t        d      xs3 t        t        d      xr! t        j                  t        j
                  k7  S )NVIRTUAL_ENVreal_prefixbase_prefix)osenvironhasattrsysr   prefixr   r   r   in_venvr!   #   sG    
 	# 	K3&	KC'ICOOszz,Ir   c           	      |    dj                  | j                         D cg c]  \  }}|d| c}}      S c c}}w )N,:)joinitems)tagskvs      r   tags_to_strr*   .   s0     88$**,?$!Q1%?@@?s   8
c           
      	   ddl m} t        | j                  t              rd}d}n]t        | j                  t
              r?| j                  }|j                  }	 |j                  g        |j                  d       d}nd	}d}d}t        | j                  t              r,| j                  j                  D cg c]  }t        |       }}t               }t               D 	ci c]  }	|	j                   |	j"                   }
}	i }t$        j&                  j(                  j+                         D ]  \  }}||
v }|t$        j&                  j,                  v }|t.        j0                  v }|r+t$        j2                  j4                  j7                  |d
      }nd}|rt9        ||||
|   ||      ||<   d
||<    |
j7                  dd
      }ddlm} t9        d<i dt>        j>                  jA                         jC                         dtE        jF                         dtE        jH                         dt.        jJ                  dkD  dtM               d   dtE        jN                         dt$        jP                  dddtE        jR                         d|d|d|d|dtU        jV                         dt$        j2                  jX                  xs dd | t$        jZ                  k(  d!t]        j^                  d"      d#| j`                  d$| j                  rtc        | j                        jd                  nd
d%d
d&|d't$        j2                  jf                  xs dd(|ji                  tj        jl                        d)d*t]        j^                  d+d      v d,t$        j2                  jn                  d-t$        j2                  jp                  d.t$        j2                  jr                  d/|j`                  d0t$        j2                  j"                  xs dd1t$        j2                  jt                  d2t]        j^                  d3d      d4tw        | jx                        d5|d6| jz                  d7| j|                  d8t~        j                  d9t~        j                  d:t~        j                  d;t$        j2                  j                  S # t        $ r}d|dt        |      }Y d}~[d}~ww xY wc c}w c c}	w )=z@Collect system and library information into a serializable dict.r   )RuntimeWorker	AGENTLESSNT)	raise_exczAgent not reachable at z. Exception raised: CUSTOMzN/A)enabledinstrumentedmodule_availablemodule_versionmodule_importedr   pip)logdateos_name
os_version	is_64_bitl        r   vmversionlangpythonlang_versionpip_versionin_virtual_env	agent_urlagent_error
statsd_urlenv is_global_tracerenabled_env_settingDATADOG_TRACE_ENABLEDtracer_enabledsampler_typepriority_sampler_typesampler_rulesservicedebugenabled_cliddtrace
PYTHONPATHanalytics_enabledlog_injection_enabledhealth_metrics_enabledruntime_metrics_enabled
dd_versionpriority_sampling_enabledglobal_tagsDD_TAGStracer_tagsintegrationspartial_flush_enabledpartial_flush_min_spansasm_enablediast_enabledwaf_timeoutremote_config_enabledr   )D(ddtrace.internal.runtime.runtime_metricsr,   
isinstance_writerr   r
   rB   writeflush_queue	Exceptionstr_samplerr   rulesr!   r   namer<   rQ   _monkeyPATCH_MODULESr&   _PATCHED_MODULESr   modulesr   _configgetdictddtrace._trace.tracerr6   datetimeutcnow	isoformatr   systemreleasemaxsizer   python_implementation__version__python_versionr   get_stats_urlrE   tracerr   getenvr0   type__name__rN   isEnabledForloggingDEBUGrS   logs_injectionrU   _priority_samplingr*   _tags_partial_flush_enabled_partial_flush_min_spans
asm_config_asm_enabled_iast_enabled_waf_timeout_remote_config_enabled)r   r,   rB   rC   writererM   ruleis_venvppackages_availableintegration_configsmoduler0   r2   module_instrumentedr4   r   r@   r6   s                       r   collectr   4   s    G&..),		FNNK	0$$		LL. K	M&//>2/5/D/DEtTEEiG5F5HI!&&!))+II"??88>>@ 0 "%77$(H(HH CKK/ ^^++//>FF*.0!11&9 /+' +0'=0@ %((6K) +%%'113+ !	+ ##%+ ++%+ "^A&+ ))++ ##+ + ,,.+  + + +   !+" &&(#+$ NN$"%+&  7>>1'+( II&=>)+* ~~++, 8>T&//*33E-+. $/+0 $1+2 &&,"3+4 w}}-5+6 <!<<7+8 "..::9+: &nn;;;+<  '~~DD=+> !. 5 5?+@ >>))/RA+B #*.."C"CC+D IIi,E+F  -G+H )I+J %;;K+L !' ? ?M+N ++O+P  --Q+R ++S+T &nnCCU+ +i  	bOXZ]^_Z`aK	b F Js$   #R> 7S&!S+>	S#SS#c                     G d d      }t        |       }dj                  |j                  d      |j                  d      |j                  d      |j                  d      |j                  d      |j                  d	      xs d
|j                  d      xs d|j                  d      |j                  d      |j                  d      |j                  d      |j                  d      |j                  d      xs d|j                  d      xs d|j                  d      xs d|j                  d      xs d|j                  d      xs d|j                  d      |j                  d      xs d|j                  |j                  |j
                  |j                        }dj                  |j                  |j
                  |j                        }|j                  d      r:|dj                  |j                  |j                  d      |j                        z  }|j                  d      s*|dj                  |j                  |j                        z  }|j                  d      s*|d j                  |j                  |j                        z  }|j                  d      s*|d!j                  |j                  |j                        z  }|d"|z   z  }|d#u rt        |      S |S )$Nc                   ,    e Zd ZdZdZdZdZdZdZdZ	dZ
y	)
pretty_collect.<locals>.bcolorsz[95mz[94mz[96mz[92mz[93mz[91mz[0mz[1mN)r   
__module____qualname__HEADEROKBLUEOKCYANOKGREENWARNINGFAILENDCBOLDr   r   r   bcolorsr      s*    r   r   aj  {blue}{bold}Tracer Configurations:{end}
    Tracer enabled: {tracer_enabled}
    Application Security enabled: {appsec_enabled}
    Remote Configuration enabled: {remote_config_enabled}
    IAST enabled (experimental): {iast_enabled}
    Debug logging: {debug}
    Writing traces to: {agent_url}
    Agent error: {agent_error}
    App Analytics enabled(deprecated): {analytics_enabled}
    Log injection enabled: {log_injection_enabled}
    Health metrics enabled: {health_metrics_enabled}
    Priority sampling enabled: {priority_sampling_enabled}
    Partial flushing enabled: {partial_flush_enabled}
    Partial flush minimum number of spans: {partial_flush_min_spans}
    WAF timeout: {waf_timeout} msecs
    {green}{bold}Tagging:{end}
    DD Service: {service}
    DD Env: {env}
    DD Version: {dd_version}
    Global Tags: {global_tags}
    Tracer Tags: {tracer_tags}rJ   r_   rb   r`   rO   rB   z2Not writing at the moment, is your tracer running?rC   NonerS   rT   rU   rX   r]   r^   zNot setrN   rE   rW   rY   ra   r[   )rJ   appsec_enabledrb   r`   rO   rB   rC   rS   rT   rU   rX   r]   r^   rN   rE   rW   rY   ra   r[   bluegreenboldendz{0}{1}Summary{2}a  

{fail}ERROR: It looks like you have an agent error: '{agent_error}'
 If you're experiencing a connection error, please make sure you've followed the setup for your particular environment so that the tracer and Datadog agent are configured properly to connect, and that the Datadog agent is running: https://ddtrace.readthedocs.io/en/stable/troubleshooting.html#failed-to-send-traces-connectionrefusederror
If your issue is not a connection error then please reach out to support for further assistance: https://docs.datadoghq.com/help/{end})failrC   r   z

{warning}WARNING SERVICE NOT SET: It is recommended that a service tag be set for all traced applications. For more information please see https://ddtrace.readthedocs.io/en/stable/troubleshooting.html{end})warningr   z

{warning}WARNING ENV NOT SET: It is recommended that an env tag be set for all traced applications. For more information please see https://ddtrace.readthedocs.io/en/stable/troubleshooting.html{end}z

{warning}WARNING VERSION NOT SET: It is recommended that a version tag be set for all traced applications. For more information please see https://ddtrace.readthedocs.io/en/stable/troubleshooting.html{end}z

F)r   formatrr   r   r   r   r   r   r   r   escape_ansi)r   colorr   infoinfo_prettysummarys         r   pretty_collectr      s     6?D"( #)&xx 01xx."hh'>?XXn-hhw((;'_+_HH]+5v((#67"hh'>?#xx(@A"&((+F"G"hh'>? $)B C Py#-vHHUO%v88L)3VHH]+5vHH]+HH]+5v^^oo\\LL/ #) #) \ !''gllSGxx5 &gll0GW\\&
Z	[ 88IR &gll&
;		< 88E?Q &gll&
;		< 88L!R &gll&
;		< 6G##K~;''r   c                 P    t        j                  d      }|j                  d|       S )Nz*(?:\x1B[@-_]|[\x80-\x9F])[0-?]*[ -/]*[@-~]rF   )recompilesub)lineansi_escapes     r   r   r   
  s"    **JKK??2t$$r   )T)$ru   r   r   r   r   r   typingr   r   r   r   rQ   ddtrace.internalr   ddtrace.internal.packagesr   ddtrace.internal.utils.cacher	   ddtrace.internal.writerr
   r   ddtrace.samplerr   ddtrace.settings.asmr   r   loggerr   r   r   r   r!   r*   r   r   r   r   r   r   <module>r      s}      	  	 
       " 7 1 / - * 5   
H	 78AnbbJ%r   