
    d                     $    d dl mZ dZ	 d Zd ZdS )   )floatToGoStringz:application/openmetrics-text; version=0.0.1; charset=utf-8c                     | j         dk    r|j                            d          rdS | j         dv r|j                            d          rdS dS )Ncounter_totalT)	histogramgaugehistogram_bucketF)typenameendswith)metricsamples     Hlib/python3.11/site-packages/prometheus_client/openmetrics/exposition.py_is_valid_exemplar_metricr   
   s^    {i FK$8$8$B$B t{55 &+:N:Ny:Y:Y t5    c                    g }|                                  D ]}	 |j        }|                    d                    ||j                            dd                              dd                              dd                               |                    d| d	|j         d           |j        r!|                    d
| d	|j         d           |j        D ]}|j	        rWd                    d
                    d t          |j	                                                  D                                 }nd}|j        rt          ||          st          d|j         d          d                    d
                    d t          |j        j	                                                  D                                 }|j        j        9d                    |t#          |j        j                  |j        j                  }n0d                    |t#          |j        j                            }nd}d}|j        
d	|j         }|                    d                    |j        |t#          |j                  ||                     # t&          $ r}	|	j        pd|fz   |	_         d}	~	ww xY w|                    d           d
                    |                              d          S )zHReturns the metrics from the registry in latest text format as a string.z# HELP {} {}
\\\
\n"\"z# TYPE  z# UNIT z{{{0}}},c           	          g | ]W\  }}d                      ||                    dd                              dd                              dd                    XS z{}="{}"r   r   r   r   r   r   formatreplace.0kvs      r   
<listcomp>z#generate_latest.<locals>.<listcomp>    sy     B B B $1 #))qyyu55==dEJJRRSVX]^^` ` B B Br    zMetric z8 has exemplars, but is not a histogram bucket or counterc           	          g | ]W\  }}d                      ||                    dd                              dd                              dd                    XS r   r   r    s      r   r$   z#generate_latest.<locals>.<listcomp>)   sy     K K K $1 #))qyyu55==dEJJRRSVX]^^` ` K K Kr   Nz # {} {} {}z # {} {}z{}{} {}{}{}
)r%   z# EOF
zutf-8)collectr   appendr   documentationr   r
   unitsampleslabelsjoinsorteditemsexemplarr   
ValueError	timestampr   value	Exceptionargsencode)
registryoutputr   mnameslabelstrr,   exemplarstrr2   	exceptions
             r   generate_latestr>      sZ   F""$$ 0 0/	KEMM*11v+33D%@@HHuUU]]^achiik k l l lMM;E;;FK;;;<<<{ A??????@@@^ % %8 "(//B B(.qx~~/?/?(@(@B B B1C 1C  D  DHH
  "H: %4VQ?? z()x6;)x)x)xyyy&--chhK K(.qz/@/F/F/H/H(I(IK K K/L /L M MF z+ 
&3&:&:"+AJ,<==J0' ' '1&7&7"+AJ,<==' '
 #%K	; 2 1AK 1 1Io44F#AG,,     ?%L  	 	 	'n5&BIN	 MM)776??!!'***s   I;J
J:"J55J:N)utilsr   CONTENT_TYPE_LATESTr   r>    r   r   <module>rB      sJ    $ # # # # #R  8  6+ 6+ 6+ 6+ 6+r   