
    AHj;                     "   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	  ej                  e      Z G d de      Zddddddd	d
d	dddd	d	d	dddej                  fdZd Zd Zd Zd Zd Zd Zd Ze	d        Zd Zd Zd Zd Zd Zd Zy)    N)Enum)lib)contextmanagerc                       e Zd ZdZdZdZy)LineNor         N)__name__
__module____qualname__LastInstructionFirstNoLine     J/root/tools/cai/cai_env/lib/python3.12/site-packages/pyroscope/__init__.pyr   r      s    OEFr   r   zhttp://localhost:4040 Fd   Tc                 ^   | t        j                  dt               | }|
t        j                  dt               | t        _        |r)t        j                         }t        j                  |       t        j                  |j                  d      |j                  d      |j                  d      |j                  d      |j                  d      |||	||||t        |      j                  d      |xs dj                  d      t        |      j                  d      |j                         y )Nz,app_name is deprecated, use application_namez&native is deprecated and not supportedUTF-8r   )warningswarnDeprecationWarningLOGGERdisabledgetEffectiveLevelr   initialize_logginginitialize_agentencodetags_to_stringhttp_headers_to_jsonvalue)app_nameapplication_nameserver_address
auth_tokenbasic_auth_usernamebasic_auth_passwordenable_loggingsample_ratedetect_subprocessesoncpunativegil_only
report_pidreport_thread_idreport_thread_nametags	tenant_idhttp_headersline_no	log_levels                       r   	configurer7      s   , DFXY#>@RS((FO,,.	y)(g&'"""7+""7+t##G,	b  )\*11':!r   c                      t        j                         } | rt        j                  d       y t        j	                  d       y )Nz%Pyroscope Agent successfully shutdownzPyroscope Agent shutdown failed)r   
drop_agentr   infowarning)drops    r   shutdownr=   F   s+    >>D;<89r   c                 n    t        j                  | |j                  d      |j                  d             y Nr   )r   add_thread_tagr   	thread_idkeyr"   s      r   r@   r@   N   s&    y#**W"5u||G7LMr   c                 n    t        j                  | |j                  d      |j                  d             y r?   )r   remove_thread_tagr   rA   s      r   rE   rE   Q   s&    )SZZ%8%,,w:OPr   c                 l    t        j                  |j                  d      |j                  d             y r?   )r   add_global_tagr   rA   s      r   rG   rG   T   s$    szz'*ELL,ABr   c                 l    t        j                  | j                  d      |j                  d             y r?   )r   remove_global_tagr   )rC   r"   s     r   rI   rI   W   s$    #**W-u||G/DEr   c           
          | ydj                  | j                         D cg c]  \  }}dj                  ||       c}}      S c c}}w )Nr   ,z{}={})joinitemsformatr2   rC   r"   s      r   r    r    Z   s<    |88$**,OJCW^^C/OPPOs   A
c                 2    | yt        j                  |       S )Nz{})jsondumps)headerss    r   r!   r!   _   s    ::gr   c           
   #   Z  K   | j                         D ]L  \  }}t        j                  t        j                         |j                  d      |j                  d             N 	 d  | j                         D ]L  \  }}t        j                  t        j                         |j                  d      |j                  d             N y # | j                         D ]L  \  }}t        j                  t        j                         |j                  d      |j                  d             N w xY wwr?   )rM   r   r@   	threading	get_identr   rE   rO   s      r   tag_wrapperrW   d   s     jjl ^
U9..0#**W2Eu||T[G\]^e**, 	eJC!!)"5"5"7G9Lell[bNcd	e$**, 	eJC!!)"5"5"7G9Lell[bNcd	es    A D+#C 'A D+A!D((D+c                  8    t        j                  dt               y Nz deprecated, no longer applicabler   r   r   r   r   r   stopr[   n       MM46HIr   c                 8    t        j                  dt               y rY   rZ   )names    r   change_namer_   p   r\   r   c                 8    t        j                  dt               y )Nz$deprecated, use tag_wrapper functionrZ   )r2   s    r   tagra   r   s    MM8:LMr   c                  8    t        j                  dt               y rY   rZ   )keyss    r   remove_tagsrd   t   r\   r   c                  8    t        j                  dt               y rY   rZ   r   r   r   build_summaryrf   v   r\   r   c                  8    t        j                  dt               y rY   rZ   r   r   r   test_loggerrh   x   r\   r   )rU   r   loggingrQ   enumr   pyroscope._nativer   
contextlibr   	getLoggerr
   r   r   r   r7   r=   r@   rE   rG   rI   r    r!   rW   r[   r_   ra   rd   rf   rh   r   r   r   <module>rn      s         ! %			8	$T  .! &&'3j:NQCFQ

 e eJJNJJJr   