Ë
    §Œj(  ã                   ó”   — U d dl Z d dlmZmZmZmZmZmZ er	 d dlm	Z	 neZ	 G d„ d«      Zdaee   ed<   defd„Zy# e
$ r eZ	Y Œ$w xY w)	é    N)ÚTYPE_CHECKINGÚAnyÚCallableÚDictÚListÚOptional)ÚObservationc            	       óœ   — e Zd ZdZddeeeeg ee   f      f   fd„Z	dedeg ee   f   ddfd„Z
dedeeg ee   f      fd	„Zdd
„Zdefd„Zy)ÚObservablesRegistryzG
    Global registry for storing callbacks for observable metrics.
    NÚregistryc                 óL   — |xs i | _         t        j                  «       | _        y ©N)Ú	_registryÚ	threadingÚLockÚ_lock)Úselfr   s     úf/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/redis/observability/registry.pyÚ__init__zObservablesRegistry.__init__   s   € Ø!š RˆŒÜ—^‘^Ó%ˆ�
ó    ÚnameÚcallbackÚreturnc                 óœ   — | j                   5  | j                  j                  |g «      j                  |«       ddd«       y# 1 sw Y   yxY w)z?
        Register a callback for an observable metric.
        N)r   r   Ú
setdefaultÚappend)r   r   r   s      r   ÚregisterzObservablesRegistry.register   s4   € ð �Z‹ZØ�N‰N×%Ñ% d¨BÓ/×6Ñ6°xÔ@÷ �Z‰Zús   �,AÁAc                 ó~   — | j                   5  | j                  j                  |g «      cddd«       S # 1 sw Y   yxY w)z=
        Get all callbacks for an observable metric.
        N)r   r   Úget)r   r   s     r   r   zObservablesRegistry.get   s)   € ð �Z‹ZØ—>‘>×%Ñ% d¨BÓ/÷ �ZŠZús   �3³<c                 óz   — | j                   5  | j                  j                  «        ddd«       y# 1 sw Y   yxY w)z%
        Clear the registry.
        N)r   r   Úclear©r   s    r   r!   zObservablesRegistry.clear&   s%   € ð �Z‹ZØ�N‰N× Ñ Ô"÷ �Z‰Zús   �1±:c                 ó,   — t        | j                  «      S )z9
        Get the number of registered callbacks.
        )Úlenr   r"   s    r   Ú__len__zObservablesRegistry.__len__-   s   € ô �4—>‘>Ó"Ð"r   r   )r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ústrr   r   r   r   r   r   r!   Úintr%   © r   r   r   r      s�   „ ññ&  c¨4°¸¸TÀ#¹Y¸Ñ0GÑ+HÐ&HÑ!Ió &ðA˜Sð A¨H°R¸¸c¹°]Ñ,Cð AÈó Að0˜ð 0  X¨b°$°s±)¨mÑ%<Ñ =ó 0ó#ð#˜ô #r   r   Ú_observables_registry_instancer   c                  ó.   — t         €
t        «       a t         S )aJ  
    Get the global observables registry singleton instance.

    This is the Pythonic way to get the singleton instance.

    Returns:
        The global ObservablesRegistry singleton

    Example:
        >>>
        >>> registry = get_observables_registry_instance()
        >>> registry.register('my_metric', my_callback)
    )r-   r   r,   r   r   Ú!get_observables_registry_instancer/   8   s   € ô  &Ð-Ü)<Ó)>Ð&ä)Ð)r   )r   Útypingr   r   r   r   r   r   Úopentelemetry.metricsr	   ÚImportErrorr   r-   Ú__annotations__r/   r,   r   r   Ú<module>r4      sf   ðÜ ß E× Eñ ðÞ5ð €K÷"#ñ "#ðL AEÐ  Ð)<Ñ =Ó Dð*Ð+>ô *øð_ ò ØŠðús   ™= ½AÁA