
    Mh                         d dl Z d dlmZmZmZmZ ddlmZmZm	Z	 ddl
mZmZmZ 	 d dlZ ej                    Zn# e$ r dZY nw xY w G d de          Z e            ZdS )	    N)CallableIterableOptionalUnion   )CounterMetricFamilyGaugeMetricFamilyMetric)	CollectorCollectorRegistryREGISTRYi   c            
           e Zd ZdZdd defdedeg eeef         f         dede	e
         fd	Zd
 Zdee         fdZdS )ProcessCollectorz6Collector for Standard Exports such as cpu and memory. c                      dS )Nself r       c/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/prometheus_client/process_collector.py<lambda>zProcessCollector.<lambda>   s    f r   z/proc	namespacepidprocregistryc                    || _         || _        || _        |r|dz   | _        nd| _        d| _        	 t          j        d          | _        n## t          t          t          t          f$ r Y nw xY wt          | _        d| _        	 |                                 | _        n# t          $ r Y nw xY w|r|                    |            d S d S )N	_process_process_g      Y@
SC_CLK_TCKr   )
_namespace_pid_proc_prefix_ticksossysconf
ValueError	TypeErrorAttributeErrorOSError	_PAGESIZE	_pagesize_btime
_boot_timeregister)r   r   r   r   r   s        r   __init__zProcessCollector.__init__   s    
 $	
 	&${2DLL%DL	*\22DKKI~w? 	 	 	D	 # 	//++DKK 	 	 	D	 	$d#####	$ 	$s#   A A,+A,B 
B*)B*c                 >   t          t          j                            | j        d          d          5 }|D ]L}|                    d          r5t          |                                d                   c cd d d            S M	 d d d            d S # 1 swxY w Y   d S )Nstatrbs   btime r   )openr$   pathjoinr!   
startswithfloatsplit)r   r1   lines      r   r-   zProcessCollector._boot_time0   s    "',,tz622D99 	2T 2 2??9-- 2 a1111	2 	2 	2 	2 	2 	2 	2 	222	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2s   ABBBBreturnc                 X   | j         sg S t          j                            | j        t          |                                                                                     }g }	 t          t          j                            |d          d          5 }|	                                
                    d          d         
                                }d d d            n# 1 swxY w Y   t          | j        dz   dt          |d                             }t          | j        d	z   d
t          |d                   | j        z            }t          |d                   | j        z  }t          | j        dz   d|| j         z             }t          |d                   | j        z  }	t          |d                   | j        z  }
t!          | j        dz   d|	|
z             }|                    ||||g           n# t$          $ r Y nw xY w	 t          t          j                            |d          d          5 }|D ]X}|                    d          rAt          | j        dz   dt          |
                                d                             } nYd d d            n# 1 swxY w Y   t          | j        dz   dt)          t          j        t          j                            |d                                        }|                    ||g           n# t$          $ r Y nw xY w|S )Nr1   r2      )virtual_memory_byteszVirtual memory size in bytes.   )valueresident_memory_byteszResident memory size in bytes.      start_time_secondsz6Start time of the process since unix epoch in seconds.      cpu_seconds_totalz0Total user and system CPU time spent in seconds.limitss   Max open filemax_fdsz(Maximum number of open file descriptors.   open_fdsz Number of open file descriptors.fd)r,   r$   r4   r5   r!   strr    stripr3   readr8   r	   r"   r7   r+   r#   r   extendr)   r6   lenlistdir)r   r   resultr1   partsvmemrssstart_time_secs
start_timeutimestimecpurH   r9   rI   rK   s                   r   collectzProcessCollector.collect6   s   { 	Igll4:s499;;'7'7'='='?'?@@	bgll3//66 >$**4004::<<> > > > > > > > > > > > > > > %T\4J%J%DERWXZR[L\L\^ ^ ^D#DL3J$JLl*/b	*:*:T^*KM M MC#E"I..<O*4<:N+N+c1@4;1NP P PJ %)$$t{2E%)$$t{2E%dl5H&H&X,1EM; ; ;C MM4j#67777 	 	 	D		bgll311488 F"  D'788 "3DL94L4^:?

Q:P:P#R #R #R 	               )
)B)K),RZS$8O8O-P-P)Q)QS SH MM8W-.... 	 	 	D	 sp   #.G: A CG: C!!G: $C!%DG: :
HH.L 9AJ!L !J%%L (J%)A0L 
L'&L'N)__name__
__module____qualname____doc__r   rM   r   r   intr   r   r/   r-   r   r
   r\   r   r   r   r   r      s        @@ #%6Dn$9A	$ $$r5c?23$ $ $$56	$ $ $ $:2 2 2+&) + + + + + +r   r   )r$   typingr   r   r   r   metrics_corer   r	   r
   r   r   r   r   resourcegetpagesizer*   ImportErrorr   PROCESS_COLLECTORr   r   r   <module>rh      s    				 6 6 6 6 6 6 6 6 6 6 6 6 H H H H H H H H H H < < < < < < < < < <OOO$$&&II   III
Q Q Q Q Qy Q Q Qh %$&&  < <s   : AA