
    ]CiW                     h    S SK rS SKJrJr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)AnyIterableOptional   )GaugeMetricFamilyMetric)	CollectorCollectorRegistryREGISTRYc                   n    \ rS rSrSr\S4S\\   S\\   4S jjr	S\
\   4S jr\S	 5       rS
 rS rSrg)PlatformCollector   z)Collector for python platform informationNregistryplatformc                 &   Uc  [         OUU l        U R                  5       nU R                  R                  5       nUS:X  a  UR	                  U R                  5       5        U R                  SSU5      /U l        U(       a  UR                  U 5        g g )NJavapython_infozPython platform information)	pf	_platform_infosystemupdate_java_add_metric_metricsregister)selfr   r   infor   s        ^/home/james-whalen/.local/lib/python3.13/site-packages/prometheus_client/platform_collector.py__init__PlatformCollector.__init__   s}      (/Xzz|&&(VKK

%],I4P
 d#     returnc                     U R                   $ )N)r   )r   s    r   collectPlatformCollector.collect   s    }}r"   c                     UR                  5       nU Vs/ s H  oBU   PM	     nn[        XUS9nUR                  US5        U$ s  snf )N)labelsr   )keysr   
add_metric)namedocumentationdatar(   kvaluesgs          r   r   PlatformCollector._add_metric   sG    #)*6aq'6*d&A	VQ +s   Ac                     U R                   R                  5       u  pnU R                   R                  5       U R                   R                  5       UUUS.$ )N)versionimplementationmajorminor
patchlevel)r   python_version_tuplepython_versionpython_implementation)r   r5   r6   r7   s       r   r   PlatformCollector._info%   sL    #'>>#F#F#H j~~446"nnBBD$
 	
r"   c                 T    U R                   R                  5       u  pp4Uu  pVnUUUUS.$ )N)jvm_versionjvm_release
jvm_vendorjvm_name)r   java_ver)r   java_version_vminfoosinfovm_name
vm_release	vm_vendors           r   r   PlatformCollector._java/   s9    *...*A*A*C')/&Y'%#	
 	
r"   )r   r   )__name__
__module____qualname____firstlineno____doc__r   r   r
   r   r    r   r   r%   staticmethodr   r   r   __static_attributes__ r"   r   r   r      s\    3 :B+/$#$56$#C=$&)   

r"   r   )r   r   typingr   r   r   metrics_corer   r   r   r	   r
   r   r   PLATFORM_COLLECTORrQ   r"   r   <module>rU      s2     * * 3 < </
	 /
d '(  4r"   