Ë
    i©¹d{  ã                   ó@   — d dl Z d dlZd dlmZmZmZ  G d„ dee«      Zy)é    N)ÚPluginÚIndependentPluginÚ	PluginOptc            
       ó�   — e Zd ZdZdZdZ eddd¬«       edd	d
¬«       edd	d¬«       edded¬«       edded¬«      gZd„ Z	d„ Z
y)ÚProcessz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           	      ó|  — d}d}d}|dz  }| j                  ddg«       | j                  d«      D �cg c]  }t        j                  d|«      sŒ|‘Œ }}| j	                  d	«      r|d | j	                  d	«       }|D ]'  }| j                  d
|z  d|z  d|z  d|z  d|z  g«       Œ) | j	                  d«      r| j                  d«       | j                  ddg d¢d¬«       | j                  dd¬«       | j	                  d«      r| j                  ddddd¬«       | j	                  d«      r| j                  ddd¬ «       | j                  d!d"gd#¬$«       | j                  |›d%|›�|›d%|›�g«       | j	                  d&«      r%| j                  d'| j	                  d&«      z  d(¬)«       | j                  d*d+g«       y c c}w ),Nzps axoz3pid,ppid,user,group,lwp,nlwp,start_time,comm,cgroupz2flags,state,uid,pid,ppid,pgid,sid,cls,pri,addr,sz,zwchan:20,lstart,tty,time,cmdz/proc/sched_debugz
/proc/statz/procz[0-9]r   z/proc/%s/statusz/proc/%s/cpusetz/proc/%s/oom_*z/proc/%s/stackz/proc/%s/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 ''é   é2   )r   Útimeoutr   r   r   zlsof +M -n -l)r!   r   z	ps alxwwwzps -elfLT)Ú
cmd_as_tagú r   ziotop -b -o -d 0.5 -t -n %sé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ÚsetupzProcess.setup!   s  € ØˆàMˆØLˆØÐ7Ñ7ˆà×ÑØØð
ô 	ð
 !ŸL™L¨Ó1ÖJ�q´R·X±X¸gÀqÕ5I’ÐJˆÐJØ�?‰?˜:Ô&ØÐ6˜4Ÿ?™?¨:Ó6Ð7ˆEàò 	ˆDØ×ÑØ! DÑ(Ø! DÑ(Ø  4Ñ'Ø  4Ñ'Ø! DÑ(ð õ ð	ð �?‰?˜7Ô#Ø×ÑÐ3Ô4à×Ñ˜L°tò"=à%&ð 	ô 	(ð
 	×Ñ˜L°xÐÔ@Ø�?‰?˜6Ô"Ø×ÑÐ 5ÀFØ(*°R¸fð  ô Fð �?‰?˜>Ô*Ø×Ñ ¸ÀbÐÔIà×ÑØØð
ð ð 	ô 	ð
 	×ÑÚ™}Ð-Ú™}Ð-ð
ô 	ð
 �?‰?˜9Ô%Ø×ÑÐ =Ø"&§/¡/°)Ó"<ñ!=ØGJð  ô Lð 	×ÑØ1Øð
õ 	ùòW Ks   ²F9ÁF9c                 ó   — | j                  d«      5 }| j                  j                  j                  s|j	                  d«       	 d d d «       y | j                  d«      }i }i }|d   dk(  s!|j	                  d|d   › �«       	 d d d «       y |d   j                  «       D ]s  }|j                  «       j                  «       }|d   }|d   }| j                  |«      sŒ=||vr(| j                  j                  j                  |«      ||<   |||   d	œ||<   Œu |j	                  t        j                  |d¬
«      «       d d d «       y # 1 sw Y   y xY w)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   Úpidr8   s           r2   ÚcollectzProcess.collect]   sI  € Ø×!Ñ!Ð"9Ó:ð 	6¸eØ—;‘;×.Ñ.×AÒAØ—‘ÐMÔNØ÷	6ð 	6ð —-‘-Ð 5Ó6ˆCØˆFØˆEØ�x‘= AÒ%Ø—‘Ð:¸3¸x¹=¸/ÐJÔKØ÷	6ð 	6ð ˜H™×0Ñ0Ó2ò E�Ø—z‘z“|×)Ñ)Ó+�Ø˜1‘g�Ø˜A‘w�Ø×'Ñ'¨Ô-ØØ˜uÑ$Ø"&§+¡+×"=Ñ"=×"IÑ"IÈ$Ó"O�E˜$‘KØ'+¸¸d¹ÑD��s’ðEð �K‰KœŸ
™
 6°!Ô4Ô5÷)	6÷ 	6ñ 	6ús   ’3EÁ5EÂB/EÅEN)Ú__name__Ú
__module__Ú__qualname__Ú
short_descÚplugin_nameÚprofilesr   ÚintÚoption_listr3   rM   © ó    r2   r   r      sr   „ à&€Jà€KØ€Hñ 	�& $Ð-MÔNÙ�.¨%ØFô	Há�' 5Ð/LÔMÙ�) R°#Ø;ô	=á�* d°SØCô	Eð	€Kò:óx6rW   r   )rF   r'   Úsos.report.pluginsr   r   r   r   rV   rW   r2   ú<module>rY      s$   ðó Û 	ç CÑ Côc6ˆfÐ'õ c6rW   