a >h*@s:ddlZddlZddlmZmZmZGdddeeZdS)N)PluginIndependentPlugin PluginOptc @sleZdZdZdZdZeddddedd d ded d d ded deddeddeddgZddZ ddZ dS)Processzprocess informationZprocess)systemlsofTzcollect info on all open files)defaultdesc lsof-threadsFz,collect threads' open file info if supportedsmapszcollect /proc/*/smaps filessamplesz"number of iotop samples to collect)rZval_typer numprocsiz*number of process to collect /proc data ofc Csvd}d}d}|d7}|gddd|dD}|d rR|d|d }|D]@}|d |d d |d d |d d |dd |dgqV|dr|d|jddgddd|jddd|dr|jdddddd|dr |jd ddd!|jgd"d#d$||d%||d%|g|d&rd|jd'|d&d(d)|d*d+gdS),Nzps axoz3pid,ppid,user,group,lwp,nlwp,start_time,comm,cgroupz3flags,state,uid,pid,ppid,pgid,sid,cls,pri,psr,addr,zsz,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/cSsg|]}td|r|qS)z[0-9])rematch).0pr>/usr/lib/python3.9/site-packages/sos/report/plugins/process.py 0z!Process.setup..z/procrz/proc/z/statusz/cpusetz/oom_*z/stackz/limitsr z/proc/[0-9]*/smapsz ps auxwwwmZps)Zps_auxZps_auxwwZ ps_auxwwwZ ps_auxwwwmZ ps_auxcww) root_symlinktagspriorityz pstree -lpZpstree)rrzlsof +M -n -l -c ''2)rtimeoutrrr z lsof +M -n -l)rr)z ps alxwwwz ps auxfwwwzps -elfLT)Z cmd_as_tag r ziotop -b -o -d 0.5 -t -n d)rz#pidstat -p ALL -rudvwsRU --human -hz pidstat -tl)Z add_copy_speclistdirZ get_optionZadd_cmd_output)selfZps_axoZ ps_group_optsZ ps_sched_optsZprocsprocrrrsetup!s\              z Process.setupcCs|d}|jjjs0|dWddS|d}i}i}|ddksr|d|dWddS|dD]X}|}|d}|d}| |sq~||vr|jj |||<|||d ||<q~|t j |dd Wdn1s0YdS) Nzpids_to_packages.jsonz/Package manager not configured for path querieszps --no-headers aexstatusrzUnable to get process list: output)pathpackage)indent) Zcollection_fileZpolicyZpackage_managerZquery_path_commandwriteZexec_cmd splitlinesstripsplitZ path_existsZ pkg_by_pathjsondumps)r!ZpfileZ_psZpidpkgpathsr"pidr'rrrcollectbs(       zProcess.collectN) __name__ __module__ __qualname__Z short_descZ plugin_nameZprofilesrintZ option_listr#r2rrrrrs"   Ar)r.rZsos.report.pluginsrrrrrrrr s