OwlCyberSecurity - MANAGER
Edit File: platform_collector.cpython-312.pyc
� B��gW � �h � d dl Zd dlmZmZmZ ddlmZmZ ddl m Z mZmZ G d� de � Z e � Zy)� N)�Any�Iterable�Optional� )�GaugeMetricFamily�Metric)� Collector�CollectorRegistry�REGISTRYc �` � e Zd ZdZedfdee dee fd�Zde e fd�Zed� � Z d � Zd � Zy)�PlatformCollectorz)Collector for python platform informationN�registry�platformc � � |�t n|| _ | j � }| j j � }|dk( r|j | j � � | j dd|� g| _ |r|j | � y y )N�Java�python_infozPython platform information) �pf� _platform�_info�system�update�_java�_add_metric�_metrics�register)�selfr r �infor s �S/opt/hc_python/lib/python3.12/site-packages/prometheus_client/platform_collector.py�__init__zPlatformCollector.__init__ s} � � (�/��X����z�z�|�����&�&�(���V���K�K�� � ��%����]�,I�4�P� �� � ����d�#� � �returnc � � | j S )N)r )r s r �collectzPlatformCollector.collect s � ��}�}�r c � � |j � }|D �cg c] }|| �� }}t | ||�� }|j |d� |S c c}w )N)�labelsr )�keysr � add_metric)�name� documentation�datar% �k�values�gs r r zPlatformCollector._add_metric sK � ������#)�*�6�a�$�q�'�6��*��d�M�&�A�� ���V�Q����� +s �Ac � � | j j � \ }}}| j j � | j j � |||d�S )N)�version�implementation�major�minor� patchlevel)r �python_version_tuple�python_version�python_implementation)r r1 r2 r3 s r r zPlatformCollector._info% sN � �#'�>�>�#F�#F�#H� ��u�j��~�~�4�4�6�"�n�n�B�B�D���$� � r c �Z � | j j � \ }}}}|\ }}}||||d�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 zPlatformCollector._java/ s? � �*.�.�.�*A�*A�*C�'��a���)/�&���Y�'�%�#�� � r )�__name__� __module__�__qualname__�__doc__r r r r r r r r# �staticmethodr r r � 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_COLLECTORrI r r �<module>rM s2 �� � *� *� 3� <� <�/ � � / �d '�(� � 4r