
    ]Ci                     h    S SK r S SKrS SKJr  SSKJrJr  SSKJrJ	r	J
r
   " S S\5      r\" 5       rg)    N)Iterable   )CounterMetricFamilyMetric)	CollectorCollectorRegistryREGISTRYc                   @    \ rS rSrSr\4S\4S jjrS\\	   4S jr
Srg)	GCCollector	   z,Collector for Garbage collection statistics.registryc                     [        [        S5      (       a  [        R                  " 5       S:w  a  g UR	                  U 5        g )N	get_statsCPython)hasattrgcplatformpython_implementationregister)selfr   s     X/home/james-whalen/.local/lib/python3.13/site-packages/prometheus_client/gc_collector.py__init__GCCollector.__init__   s0    r;''8+I+I+Ky+X$    returnc                 .   [        SSS/S9n[        SSS/S9n[        SSS/S9n[        [        R                  " 5       5       HL  u  pE[	        U5      nUR                  U/US	   S
9  UR                  U/US   S
9  UR                  U/US   S
9  MN     XU/$ )Npython_gc_objects_collectedzObjects collected during gc
generation)labelspython_gc_objects_uncollectablez%Uncollectable objects found during GCpython_gc_collectionsz-Number of times this generation was collected	collected)valueuncollectablecollections)r   	enumerater   r   str
add_metric)r   r"   r$   r%   genstatr   s          r   collectGCCollector.collect   s    ')) >
	
 ,-3 >
 *#; >
 #2<<>2ICSJ  *T+5F G$$j\o9N$O""J<tM7J"K	 3 +66r    N)__name__
__module____qualname____firstlineno____doc__r	   r   r   r   r   r+   __static_attributes__r-   r   r   r   r   	   s&    65=  !2  
7&) 7r   r   )r   r   typingr   metrics_corer   r   r   r   r   r	   r   GC_COLLECTORr-   r   r   <module>r7      s0    	   5 < < 7)  7F } 7r   