
    ~ g*                     @    S SK r S SKrS SKJrJrJr   " S S\\5      rg)    N)PluginIndependentPlugin	PluginOptc                   z    \ rS rSrSrSrSr\" SSSS9\" S	S
SS9\" SS
SS9\" SS\SS9\" SS\SS9/r	S r
S rSrg)Process   zprocess informationprocess)systemlsofTzcollect info on all open files)defaultdesclsof-threadsFz,collect threads' open file info if supportedsmapszcollect /proc/*/smaps filessamples   z"number of iotop samples to collect)r   val_typer   numprocsi   z*number of process to collect /proc data ofc           
         SnSnSnUS-  nU R                  / SQ5        U R                  S5       Vs/ s H#  n[        R                  " SU5      (       d  M!  UPM%     nnU R	                  S5      (       a  US U R	                  S5       nU H-  nU R                  S	U S
3S	U S3S	U S3S	U S3S	U S3/5        M/     U R	                  S5      (       a  U R                  S5        U R                  SS/ SQSS9  U R                  SSS9  U R	                  S5      (       a  U R                  SSSSSS9  U R	                  S5      (       a  U R                  SSSS 9  U R                  / S!QS"S#9  U R                  U S$U 3U S$U 3/5        U R	                  S%5      (       a"  U R                  S&U R	                  S%5       3S'S(9  U R                  S)S*/5        g s  snf )+Nzps axoz3pid,ppid,user,group,lwp,nlwp,start_time,comm,cgroupz3flags,state,uid,pid,ppid,pgid,sid,cls,pri,psr,addr,zsz,wchan:20,lstart,tty,time,cmd)z/proc/sched_debugz
/proc/statz/sys/kernel/debug/sched/debugz /sys/kernel/debug/sched/featuresz/sys/kernel/sched_ext/z/procz[0-9]r   z/proc/z/statusz/cpusetz/oom_*z/stackz/limitsr   z/proc/[0-9]*/smapsz
ps auxwwwmps)ps_auxps_auxww	ps_auxwww
ps_auxwwwm	ps_auxcww   )root_symlinktagspriorityz
pstree -lppstree)r   r   zlsof +M -n -l -c ''r   2   )r   timeoutr   r   r   zlsof +M -n -l)r!   r   )z	ps alxwwwz
ps auxfwwwzps -elfLT)
cmd_as_tag r   ziotop -b -o -d 0.5 -t -n d   )r   z#pidstat -p ALL -rudvwsRU --human -hzpidstat -tl)add_copy_speclistdirrematch
get_optionadd_cmd_output)selfps_axops_group_optsps_sched_optspprocsprocs          </usr/lib/python3/dist-packages/sos/report/plugins/process.pysetupProcess.setup!   s3   MM:: 
 	 !LL1J1qRXXgq5I1J??:&&64??:67EDg&g&f%f%g&    ??7##34Lt"=%& 	 	(
 	Lx@??6"" 5F(*Rf   F ??>**bI 
 	 	 	 	ha'ha'
 	
 ??9%% ;#'??9#=">!@),   . 	1
 	[ Ks    GGc                    U R                  S5       nU R                  R                  R                  (       d  UR	                  S5         S S S 5        g U R                  S5      n0 n0 nUS   S:X  d!  UR	                  SUS    35         S S S 5        g US   R                  5        Hx  nUR                  5       R                  5       nUS   nUS   nU R                  U5      (       d  MC  Xt;  a'  U R                  R                  R                  U5      XG'   XtU   S	.X6'   Mz     UR	                  [        R                  " USS
95        S S S 5        g ! , (       d  f       g = f)Nzpids_to_packages.jsonz/Package manager not configured for path querieszps --no-headers aexstatusr   zUnable to get process list: output   )pathpackage)indent)collection_filepolicypackage_managerquery_path_commandwriteexec_cmd
splitlinesstripsplitpath_existspkg_by_pathjsondumps)r+   pfile_pspidpkgpathsr1   pidr9   s           r2   collectProcess.collectb   s0   !!"9:e;;..AAMN ;: -- 56CFEx=A%:3x=/JK ;: H002zz|))+1gAw''--$"&++"="="I"I$"OEK'+dD 3 KK

6!45) ;::s   8E6EB3E
E N)__name__
__module____qualname____firstlineno__
short_descplugin_nameprofilesr   intoption_listr3   rN   __static_attributes__rP       r2   r   r      sr    &JKH 	&$-MN.%F	H'5/LM)R#;	=*dSC	E	K?B6r[   r   )rG   r'   sos.report.pluginsr   r   r   r   rP   r[   r2   <module>r]      s$     	 C Ch6f' h6r[   