Viewing File: /opt/hc_python/lib/python3.12/site-packages/prometheus_client/__pycache__/registry.cpython-312.pyc
�
_��g4 � � � d dl mZmZ d dlZd dlmZ d dlmZmZm Z m
Z
ddlmZ G d� de� Z
G d � d
e
� Z G d� de
� Z G d
� d� Z ed�� Zy)� )�ABC�abstractmethodN)�Lock)�Dict�Iterable�List�Optional� )�Metricc �( � e Zd Zedee fd�� Zy)� Collector�returnc � � y �N� ��selfs �I/opt/hc_python/lib/python3.12/site-packages/prometheus_client/registry.py�collectzCollector.collect s � �� N)�__name__�
__module__�__qualname__r r r r r r r r
r
s � ��
��&�)�
� �
r r
c � � e Zd Zdee fd�Zy)�_EmptyCollectorr c � � g S r r r s r r z_EmptyCollector.collect s � �� r N)r r r r r r r r r r r s � ���&�)� r r c �� � e Zd ZdZddedeeeef fd�Zde ddfd�Z
de ddfd �Zd
� Zde
e fd�Zde
e dd
fd�Zdeeeef ddfd�Zdeeeef fd�Zd� Zddedeeeef dee fd�Zy)�CollectorRegistryz�Metric collector registry.
Collectors must have a no-argument method 'collect' that returns a list of
Metric objects. The returned metrics should be consistent with the Prometheus
exposition formats.
N�
auto_describe�target_infoc �| � i | _ i | _ || _ t � | _ i | _ | j
|� y r )�_collector_to_names�_names_to_collectors�_auto_describer �_lock�_target_info�set_target_info)r r r s r �__init__zCollectorRegistry.__init__ s9 � �?A�� �:<��!�+����V��
�68������[�)r � collectorr c �2 � | j 5 | j |� }t | j � j |� }|rt dj
|� � �|D ] }|| j |<