o
    ir                     @   s   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 d d
lmZ dd Zdd ZdS )    N)Pin)_SPAN_MEASURED_KEY)	SpanTypes)db)	COMPONENT)schematize_cache_operation)schematize_service_name)get_argument_value)tracerc                 C   s   t tj}|r| s| |i |S t||dd}tjtdddt	d dt
jd:}|td |td	 |d| |d
|j |d|jjj | |i |}|tjd	 |W  d    S 1 sgw   Y  d S )Nr   keydogpile.cachedogpilecache_providerget_or_createserviceresource	span_typedogpile_cache   regionbackend)r   get_fromr   cacheenabledr	   r
   tracer   r   r   CACHE_set_tag_strr   
set_metricr   set_tagnameactual_backend	__class____name__r   ROWCOUNT)funcinstanceargskwargspinr   spanresponse r-   a/home/ubuntu/.local/lib/python3.10/site-packages/ddtrace/contrib/internal/dogpile_cache/region.py_wrap_get_create   s(   
$r/   c                 C   s   t tj}|r| s| |i |S t||dd}tjtdddt	d ddd<}|
td	 |td
 |d| |d|j |d|jjj | |i |}|tjt| |W  d    S 1 shw   Y  d S )Nr   keysr   r   r   get_or_create_multir   r   r   r   r   r   )r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r   r%   len)r&   r'   r(   r)   r*   r0   r+   r,   r-   r-   r.   _wrap_get_create_multi%   s(   
$r3   )r   ddtrace._trace.pinr   ddtrace.constantsr   ddtrace.extr   r   ddtrace.internal.constantsr   ddtrace.internal.schemar   r   ddtrace.internal.utilsr	   ddtrace.tracer
   r/   r3   r-   r-   r-   r.   <module>   s    