o
    `šj¸  ã                   @   s   d dl Z G dd„ dƒZdS )é    Nc                   @   sT   e Zd ZdZdd„ Zedd„ ƒZedd„ ƒZedd	„ ƒZej	d
d	„ ƒZddd„Z
dS )ÚKafkaMetric)Ú_metric_nameÚ_measurableÚ_configc                 C   s.   |st dƒ‚|st dƒ‚|| _|| _|| _d S )Nzmetric_name must be non-emptyzmeasurable must be non-empty)Ú
ValueErrorr   r   r   )ÚselfÚmetric_nameÚ
measurableÚconfig© r   úX/home/djax/ivt_ai_plugin/venv/lib/python3.10/site-packages/kafka/metrics/kafka_metric.pyÚ__init__   s   
zKafkaMetric.__init__c                 C   ó   | j S ©N)r   ©r   r   r   r   r      ó   zKafkaMetric.metric_namec                 C   r   r   )r   r   r   r   r   r	      r   zKafkaMetric.measurablec                 C   r   r   ©r   r   r   r   r   r
      r   zKafkaMetric.configc                 C   s
   || _ d S r   r   )r   r
   r   r   r   r
      s   
Nc                 C   s$   |d u r
t  ¡ d }| j | j|¡S )Niè  )ÚtimeÚ	monotonicr   Úmeasurer   )r   Útime_msr   r   r   Úvalue!   s   zKafkaMetric.valuer   )Ú__name__Ú
__module__Ú__qualname__Ú	__slots__r   Úpropertyr   r	   r
   Úsetterr   r   r   r   r   r      s    	



r   )r   r   r   r   r   r   Ú<module>   s    