o
    Á¿ií  ã                   @   sŽ   d dl 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
 e deƒ ¡ defdd	„Zdeeef fd
d„Zdd„ Zdd„ Zdd„ ZdS )é    N)Úwrap_function_wrapper)Úconfig)Úunwrap)Úget_argument_valueÚlogbookÚreturnc                   C   s   t tddƒS )NÚ__version__Ú )Úgetattrr   © r   r   úZ/home/ubuntu/.local/lib/python3.10/site-packages/ddtrace/contrib/internal/logbook/patch.pyÚget_version   s   r   c                   C   s   ddiS )Nr   z>=1.0.0r   r   r   r   r   Ú_supported_versions   s   r   c                 C   s4   t jrt||ddƒ}|j tj ¡ ¡ | |i |¤ŽS )Nr   Úrecord)r   Ú_logs_injectionr   ÚextraÚupdateÚddtraceÚtracerÚget_log_correlation_context)ÚfuncÚinstanceÚargsÚkwargsr   r   r   r   Ú_w_process_record   s   r   c                   C   s*   t tddƒrdS dt_ttjjdtƒ dS )zŸ
    Patch ``logbook`` module for injection of tracer information
    by editing a log record created via ``logbook.base.RecordDispatcher.process_record``
    Ú_datadog_patchFNTÚprocess_record)r
   r   r   Ú_wÚbaseÚRecordDispatcherr   r   r   r   r   Úpatch    s   r    c                   C   s(   t tddƒrdt_ttjjdƒ d S d S )Nr   Fr   )r
   r   r   Ú_ur   r   r   r   r   r   Úunpatch,   s   ýr"   )r   Úwraptr   r   r   r   Ú$ddtrace.contrib.internal.trace_utilsr   r!   Úddtrace.internal.utilsr   Ú_addÚdictÚstrr   r   r   r    r"   r   r   r   r   Ú<module>   s    þ