+
    ~j                     "   ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^RIHt ^RIH	t	 ^RI
Ht ^RIHt ^RIHt  ]  ! R R	4      t]P(                   U u0 uF  q P+                  R
4      '       g   K  V kK  	  up tRR ltR#   ] d    ]t LPi ; iu up i )    )defaultdictN)Gauge)Metric)
MmapedDict)Sample)floatToGoStringc                   h   a  ] tR t^t o RtR	R lt]R
R l4       t]R 4       t]R 4       t	R t
RtV tR# )MultiProcessCollectorz+Collector for files for multi-process mode.Nc                   Vf   R\         P                  9   dY   R\         P                  9  dD   \         P                  R,          \         P                  R&   \        P                  ! R\        4       \         P                  P                  R4      pV'       d&   \         P                  P                  V4      '       g   \        R4      hW n	        V'       d   VP                  V 4       R # R # )Nprometheus_multiproc_dirPROMETHEUS_MULTIPROC_DIRzpprometheus_multiproc_dir variable has been deprecated in favor of the upper case naming PROMETHEUS_MULTIPROC_DIRz:env PROMETHEUS_MULTIPROC_DIR is not set or not a directory)osenvironwarningswarnDeprecationWarninggetpathisdir
ValueError_pathregister)selfregistryr   s   &&&s/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/prometheus_client/multiprocess.py__init__MultiProcessCollector.__init__   s    <)RZZ7<V^`^h^h<h9;D^9_

56  Q  Se  f::>>"<=D277==..YZZ
d#     c                V    \         P                  V 4      p\         P                  W!4      # )zMerge metrics from given mmap files.

By default, histograms are accumulated, as per prometheus wire format.
But if writing the merged data back to mmap files, use
accumulate=False to avoid compound accumulation.
)r
   _read_metrics_accumulate_metrics)files
accumulatemetricss   && r   mergeMultiProcessCollector.merge#   s%     (55e<$88MMr   c                X  a / p/ oV3R  lpV  F  p\         P                  P                  V4      P                  R4      pV^ ,          p \        P
                  ! V4      pT F  w  rxrT! T4      w  rrpTP                  T4      pTf   \        YT4      pTY&   TR8X  d9   T^,          RR pT^,          Tn
        TP                  YRT33,           Y4       Kv  TP                  YT4       K  	  K  	  V#   \         d,    TR8X  d#   T^,          P                  R4      '       d    EK  h i ; i)c                    < SP                  V 4      pV'       gF   \        P                  ! V 4      w  r#rE\        \	        VP                  4       4      4      pW#WFV3;pSV &   V# N)r   jsonloadstuplesorteditems)keyvalmetric_namenamelabels	help_text
labels_key	key_caches   &      r   
_parse_key7MultiProcessCollector._read_metrics.<locals>._parse_key3   sU    --$C7;zz#46"6&,,.#9:
(36y'YYinJr   _gaugeliveNpid)r   r   basenamesplitr   read_all_values_from_fileFileNotFoundError
startswithr   r   _multiprocess_mode
add_sample)r"   r$   r7   fpartstypfile_valuesr/   value	timestampr9   r1   r2   r3   r5   r4   metricr<   r6   s   &                 @r   r    #MultiProcessCollector._read_metrics.   s-   		 AGG$$Q'--c2E(C(BB1E -8(ICMc?@6y [1>#KC@F+1G('>(3B-C05aF-%%d5#,,H%[ %%d> -8 6 - % '>eAh&9&9&&A&A s   	C33/D)'D)c                   V P                  4        EF  p\        R  4      p\        R 4      p\        R 4      pVP                   EFB  pVw  rxrrVP                  R8X  d>   VP                  R9   d-   \
        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      pVP                  R8X  Ed   VP                  R9   d0   W8,          P                  Wx3V	4      pW8  d   WV,          Wx3&   K  K  VP                  R9   d0   W8,          P                  Wx3V	4      pW8  d   WV,          Wx3&   K  K  VP                  R9   d    W8,          Wx3;;,          V	,          uu&   EK  VP                  R9   dH   WH,          V,          p\        T
;'       g    ^ 4      p
W8  d   WV,          Wx3&   WV,          V&   EKo  EKr  WV,          Wx3&   EK  VP                  R8X  d   V Fo  pV^ ,          R8X  g   K  \        V^,          4      p\
        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      pVV,          V;;,          V	,          uu&    EK  	  W8,          Wx3;;,          V	,          uu&   EK&  W8,          Wx3;;,          V	,          uu&   EKE  	  VP                  R8X  d   VP                  4        F  w  ppRp\        VP                  4       4       FW  w  pp	VP                  R	,           VR\        V4      33,           3pV'       d   VV	,          pVW8,          V&   KL  WV,          V&   KY  	  V'       g   K  VW8,          VP                  R
,           V3&   K  	  . Vn        VP                  4        FQ  w  ppVP                  4        F7  w  w  prVP                  P                  \        V\        V4      V	4      4       K9  	  KS  	  EK  	  V P                  4       # )c                       \        \        4      # r)   r   float r   r   <lambda>;MultiProcessCollector._accumulate_metrics.<locals>.<lambda>[   	    +e*<r   c                       \        \        4      # r)   rO   rQ   r   r   rR   rS   \   s	    K4Fr   c                       \        \        4      # r)   rO   rQ   r   r   rR   rS   ]   rT   r   r:   c              3   D   "   T F  q^ ,          R8w  g   K  Vx  K  	  R# 5i)r   r<   NrQ   .0ls   & r   	<genexpr><MultiProcessCollector._accumulate_metrics.<locals>.<genexpr>j   s     "Ff!11f    
 	histogramlec              3   D   "   T F  q^ ,          R8w  g   K  Vx  K  	  R# 5i)r   r_   NrQ   rX   s   & r   r[   r\      s     .Q&QaDDLqq&r]   g        _bucket_count)minliveminmaxlivemaxsumlivesum
mostrecentlivemostrecent)rc   rd   )re   rf   )rg   rh   )ri   rj   )valuesr   samplestyperC   r,   
setdefaultrP   r.   r-   r2   r   appendr   dict)r$   r#   rK   rl   sample_timestampsbucketssr2   r3   rI   rJ   exemplarnative_histogram_valuecurrentcurrent_timestamprZ   bucket_value
without_lerk   accbucket
sample_keyr9   samples_by_labelsname_s   &&                       r   r!   )MultiProcessCollector._accumulate_metricsX   sK   nn&F!"<=G +,F G!"<=G^^STPe KK7*11 6  #U"Ff"FUU"Ff"FFF;;')004FF")/"<"<d^U"S ?>CFOTN; +226HH")/"<"<d^U"S ?>CFOTN; +226HH75@7226VV,=,Ed,K)$))..q$9	,8>CFOTN;>Gf5d; 9 ;@7[[K/ $Q44<+01;L)..Q&.Q.Q&.Q)QJ#J/=F=! $  75@7 OTN3u<3c $h {{k)&-mmoNFFC)/)?"KK)3"t_V-D&E%GG&
 &5LC:=GOJ7:?FOJ7 *@ "zLOx)?(HI '6   FN(/$$.?.E.E.G*OUFNN))&Ve*LM /H )8U 'Z ~~r   c                    \         P                   ! \        P                  P                  V P                  R 4      4      pV P                  VRR7      # )z*.dbT)r#   )globr   r   joinr   r%   )r   r"   s   & r   collectMultiProcessCollector.collect   s6    		"'',,tzz6:;zz%Dz11r   )r   r)   )T)__name__
__module____qualname____firstlineno____doc__r   staticmethodr%   r    r!   r   __static_attributes____classdictcell__)__classdict__s   @r   r
   r
      sY     5$ N N ' 'R N  N `2 2r   r
   r;   c                R   Vf>   \         P                  P                  R\         P                  P                  R4      4      p\         F[  p\        P                  ! \         P
                  P                  VRV RV  R24      4       F  p\         P                  ! V4       K  	  K]  	  R# )zBDo bookkeeping for when one process dies in a multi-process setup.Nr   r   gauge_r9   z.db)r   r   r   _LIVE_GAUGE_MULTIPROCESS_MODESr   r   r   remove)r<   r   moderE   s   &&  r   mark_process_deadr      sq    |zz~~8"**..Ic:de.277<<tfAcU#.FGHAIIaL I /r   r)   )collectionsr   r   r*   r   r   r$   r   metrics_corer   	mmap_dictr   rl   r   utilsr   rA   	NameErrorIOErrorr
   _MULTIPROC_MODESrB   r   r   )ms   0r   <module>r      s    #   	     !  " 
X2 X2v .3-C-C!\-C||TZG[!!-C!\ E    ~ "]s   A= B-B=	B	B	