o
    i4                     @   s   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	m
Z
 ddlmZ dd	lmZ e jjjZe jjjZe jjjZd
efddZd
eeef fddZdd Zdd ZdS )    N)_DD_PIN_NAME)_DD_PIN_PROXY_NAME)Pin)	memcached)schematize_service_name   )WrappedClient)WrappedHashClientreturnc                   C   s   t tddS )N__version__ )getattr
pymemcache r   r   ]/home/ubuntu/.local/lib/python3.10/site-packages/ddtrace/contrib/internal/pymemcache/patch.pyget_version   s   r   c                   C   s   ddiS )Nr   z>=3.4r   r   r   r   r   _supported_versions   s   r   c                  C   sR   t tddrd S dt_ttjj_ttjj_ttjj_	t
tj} t| dt d S )N_datadog_patchFTservice)r   r   r   r   clientbaseClienthashr	   
HashClientr   
memcachedxSERVICEr   ontor   r   r   r   patch   s   



r   c                   C   sP   t tddsdS dt_ttjj_ttjj_t	tjj_
tttd tttd dS )zRemove pymemcache tracingr   FN)r   r   r   _Clientr   r   r   _hash_Clientr   _hash_HashClientr   setattrr   r   r   r   r   r   unpatch)   s   


r#   )r   pymemcache.client.hashddtrace._trace.pinr   r   r   ddtrace.extr   r   ddtrace.internal.schemar   r   r   r	   r   r   r   r   r    r!   strr   dictr   r   r#   r   r   r   r   <module>   s     


