o
    `šjÆ  ã                   @   s$   d dl mZmZ G dd„ deƒZdS )é    )ÚABCÚabstractmethodc                   @   sL   e Zd ZdZedd„ ƒZedd„ ƒZedd„ ƒZedd	„ ƒZed
d„ ƒZ	dS )ÚAbstractMetricsReporterzm
    An abstract class to allow things to listen as new metrics
    are created so they can be reported.
    c                 C   ó   dS )z×
        This is called when the reporter is first registered
        to initially register all existing metrics

        Arguments:
            metrics (list of KafkaMetric): All currently existing metrics
        N© )ÚselfÚmetricsr   r   ú\/home/djax/ivt_ai_plugin/venv/lib/python3.10/site-packages/kafka/metrics/metrics_reporter.pyÚinit	   s   	zAbstractMetricsReporter.initc                 C   r   )z{
        This is called whenever a metric is updated or added

        Arguments:
            metric (KafkaMetric)
        Nr   ©r   Úmetricr   r   r	   Úmetric_change   ó   z%AbstractMetricsReporter.metric_changec                 C   r   )zr
        This is called whenever a metric is removed

        Arguments:
            metric (KafkaMetric)
        Nr   r   r   r   r	   Úmetric_removal   r   z&AbstractMetricsReporter.metric_removalc                 C   r   )z€
        Configure this class with the given key-value pairs

        Arguments:
            configs (dict of {str, ?})
        Nr   )r   Úconfigsr   r   r	   Ú	configure(   r   z!AbstractMetricsReporter.configurec                 C   r   )z-Called when the metrics repository is closed.Nr   )r   r   r   r	   Úclose2   s   zAbstractMetricsReporter.closeN)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r
   r   r   r   r   r   r   r   r	   r      s    


	
	
	r   N)Úabcr   r   r   r   r   r   r	   Ú<module>   s    