HEX
Server: Apache
System: Linux 185.122.168.184.host.secureserver.net 5.14.0-570.60.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Nov 5 05:00:59 EST 2025 x86_64
User: barbeatleanalyti (1024)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //var/opt/nydus/ops/mysql/opentelemetry/sdk/util/__pycache__/__init__.cpython-39.pyc
a

�,�h��@s�ddlZddlZddlmZmZddlmZmZddlm	Z	ddl
m
Z
dd�Zdd	�ZGd
d�de�Z
e
dd
�Gdd�de��ZdS)�N)�OrderedDict�deque)�MutableMapping�Sequence)�Optional)�
deprecatedcCstj�|d�}|�d�S)z*Get an ISO 8601 string from time_ns value.ge��Az%Y-%m-%dT%H:%M:%S.%fZ)�datetime�utcfromtimestamp�strftime)�nanoseconds�ts�r
�X/opt/nydus/tmp/pip-target-wkfpz8uv/lib64/python/mysql/opentelemetry/sdk/util/__init__.py�
ns_to_iso_strsrcCstttdd�|�����S)z*Converts a dict to be used as a unique keycSs&t|dt�r"|dt|d�fS|S)N�r)�
isinstance�list�tuple)�kvr
r
r�<lambda>$�z!get_dict_as_key.<locals>.<lambda>)r�sorted�map�items)�labelsr
r
r�get_dict_as_keys���rc@s^eZdZdZeed�dd�Zdd�Zdd�Zd	d
�Z	dd�Z
d
d�Zdd�Ze
dd��ZdS)�BoundedListz�An append only list with a fixed max size.

    Calls to `append` and `extend` will drop the oldest elements if there is
    not enough room.
    ��maxlencCs d|_t|d�|_t��|_dS)Nrr)�droppedr�_dq�	threading�Lock�_lock��selfrr
r
r�__init__2szBoundedList.__init__cCs&t|�j�dt|j��d|jj�d�S�N�(z	, maxlen=�))�type�__name__rr r�r%r
r
r�__repr__7szBoundedList.__repr__cCs
|j|S�N)r )r%�indexr
r
r�__getitem__:szBoundedList.__getitem__cCs
t|j�Sr.)�lenr r,r
r
r�__len__=szBoundedList.__len__cCs8|j�tt|j��Wd�S1s*0YdSr.)r#�iterrr r,r
r
r�__iter__@szBoundedList.__iter__cCsb|j�H|jjdur4t|j�|jjkr4|jd7_|j�|�Wd�n1sT0YdS)Nr)r#r rr1r�append)r%�itemr
r
rr5DszBoundedList.appendcCsr|j�X|jjdurDt|�t|j�|jj}|dkrD|j|7_|j�|�Wd�n1sd0YdS�Nr)r#r rr1r�extend)r%�seqZto_dropr
r
rr8JszBoundedList.extendcCst|�}||�}|�|�|Sr.)rr8)�clsrr9Zbounded_listr
r
r�from_seqRs
zBoundedList.from_seqN)r+�
__module__�__qualname__�__doc__r�intr&r-r0r2r4r5r8�classmethodr;r
r
r
rr+srz1.4.0)�versionc@s^eZdZdZeed�dd�Zdd�Zdd�Zd	d
�Z	dd�Z
d
d�Zdd�Ze
dd��ZdS)�BoundedDictz�An ordered dict with a fixed max capacity.

    Oldest elements are dropped when the dict is full and a new element is
    added.
    rcCsD|dur"t|t�st�|dkr"t�||_d|_t�|_t��|_	dSr7)
rr?�
ValueErrorrrr�_dictr!r"r#r$r
r
rr&bs
zBoundedDict.__init__cCs$t|�j�dt|j��d|j�d�Sr')r*r+�dictrDrr,r
r
rr-mszBoundedDict.__repr__cCs
|j|Sr.�rD�r%�keyr
r
rr0pszBoundedDict.__getitem__cCs�|j��|jdur:|jdkr:|jd7_Wd�dS||jvrN|j|=n>|jdur�t|j�|jkr�|jtt|j����=|jd7_||j|<Wd�n1s�0YdS)Nrr)r#rrrDr1�nextr3�keys)r%rH�valuer
r
r�__setitem__ss

zBoundedDict.__setitem__cCs|j|=dSr.rFrGr
r
r�__delitem__�szBoundedDict.__delitem__cCs8|j�t|j���Wd�S1s*0YdSr.)r#r3rD�copyr,r
r
rr4�szBoundedDict.__iter__cCs
t|j�Sr.)r1rDr,r
r
rr2�szBoundedDict.__len__cCs.t|�}||�}|��D]\}}|||<q|Sr.)rr)r:r�mappingZbounded_dictrHrKr
r
r�from_map�s

zBoundedDict.from_mapN)r+r<r=r>rr?r&r-r0rLrMr4r2r@rPr
r
r
rrBZs
rB)rr!�collectionsrr�collections.abcrr�typingrrrrrrBr
r
r
r�<module>s/