File: //opt/alt/python37/lib/python3.7/site-packages/prometheus_client/__pycache__/metrics.cpython-37.pyc
B
bP�ef � @ s� d dl Z d dlmZ d dlZd dlZd dlmZmZmZm Z m
Z
mZmZm
Z
mZmZmZ ddlmZ ddlmZmZmZ ddlmZmZmZmZ ddlmZmZmZ dd l m!Z!m"Z" dd
l#m$Z$m%Z% eddd
�Z&ededef d
�Z'dd� Z(dd� Z)dd� Z*dd� Z+e,d�dd�Z-e-� Z.G dd� de�Z/G dd� de/�Z0G dd� de/�Z1G d d!� d!e/�Z2G d"d#� d#e/�Z3G d$d%� d%e/�Z4G d&d'� d'e/�Z5dS )(� N)�Lock)�Any�Callable�Dict�Iterable�List�Optional�Sequence�Tuple�Type�TypeVar�Union� )�values)�ExceptionCounter�InprogressTracker�Timer)�Metric�METRIC_LABEL_NAME_RE�METRIC_NAME_RE�RESERVED_METRIC_LABEL_NAME_RE)� Collector�CollectorRegistry�REGISTRY)�Exemplar�Sample)�floatToGoString�INF�T�MetricWrapperBase)�bound�F.c C s� d}|r||d 7 }|r$||d 7 }||7 }| dkrJ|� d�rJ|d d� }|rh|� d| �sh|d| 7 }|r�| dkr�td| ��|S )N� �_�counter�_totali����)�info�statesetz2Metric name is of a type that cannot have a unit: )�endswith�
ValueError)�metric_type�name� namespace� subsystem�unitZ full_name� r/ �J/opt/alt/python37/lib/python3.7/site-packages/prometheus_client/metrics.py�_build_full_name s r1 c C s0 t �| �std| ��t�| �r,td| ��d S )NzInvalid label metric name: zReserved label metric name: )r �matchr) r )�lr/ r/ r0 �_validate_labelname( s
r4 c C s8 t |�}x*|D ]"}t|� || jkrtd| ��qW |S )NzReserved label metric name: )�tupler4 �_reserved_labelnamesr) )�cls�
labelnamesr3 r/ r/ r0 �_validate_labelnames/ s
r9 c C sN d}x4| � � D ](\}}t|� |t|�7 }|t|�7 }qW |dkrJtd��d S )Nr � zDExemplar labels have %d UTF-8 characters, exceeding the limit of 128)�itemsr4 �lenr) )�exemplarZrunes�k�vr/ r/ r0 �_validate_exemplar8 s r@ )�returnc C s t j�dd��� dkS )NZ!PROMETHEUS_DISABLE_CREATED_SERIES�False)�true�1�t)�os�environ�get�lowerr/ r/ r/ r0 �_get_use_createdB s rJ c @ s< e Zd ZU dZee ed<