o
    #f8                     @   s*   d dl mZ d dlmZ G dd dZdS )    )Union)
Attributesc                   @   s|   e Zd ZdZddeeef deddfddZe	deeef fdd	Z
e	defd
dZdedefddZdefddZdS )ObservationzA measurement observed in an asynchronous instrument

    Return/yield instances of this class from asynchronous instrument callbacks.

    Args:
        value: The float or int measured value
        attributes: The measurement's attributes
    Nvalue
attributesreturnc                 C   s   || _ || _d S N)_value_attributes)selfr   r    r   g/home/ubuntu/dev/venv/lib/python3.10/site-packages/mysql/opentelemetry/metrics/_internal/observation.py__init__   s   
zObservation.__init__c                 C      | j S r   )r	   r   r   r   r   r   "      zObservation.valuec                 C   r   r   )r
   r   r   r   r   r   &   r   zObservation.attributesotherc                 C   s"   t |to| j|jko| j|jkS r   )
isinstancer   r   r   )r   r   r   r   r   __eq__*   s
   


zObservation.__eq__c                 C   s   d| j  d| j dS )NzObservation(value=z, attributes=))r   r   r   r   r   r   __repr__1   s   zObservation.__repr__r   )__name__
__module____qualname____doc__r   intfloatr   r   propertyr   r   objectboolr   strr   r   r   r   r   r      s     	r   N)typingr   mysql.opentelemetry.util.typesr   r   r   r   r   r   <module>   s   