PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` 3 peGA @sTddlZddlZddlZy ddlZWndZYnXddlZGdddejZdS)Nc@s0eZdZdZdZeddZddZddZd S) ProcessPluginprocessProcesscCstj}d}dtjkr tj}d}nrdtjkr6tj}d}n\dtjkrLtj}d}nFtdkrl|jjdtj}d}n&tj j ds|jjdtj}d}iSdtjkrd d||d d d d d||d d d dd||dd d dd||dd d d}ndd||d dd d||d d d dd||dd d dd||dd d dd||dd d dd||dd d d d||d d d dd||dd d dd||dd d dd||dd d dd||dd d dd||dd d d }|S)Naixdarwinvmwarez=Unable to import psutil library, no process metrics availablezDUnable to import psutil library, please install and rebuild metadataz/procz/proc not foundzEnable procfs.zNumber of processes - name processesT)labeloptionsstatus error_messageunit option_stringz'Number of processes - full command linezProcess is runningZbooleanz&Process is running - full command line)zprocess.named_countzprocess.named_count.fullzprocess.existszprocess.exists.fullzNumber of processes running)r r r r r z%Memory percentage of processes - namepercentz"CPU percentage of processes - namez+Process Thread Count - executable name onlythreadsz2Memory percentage of processes - full command linez2MB of memory used by processes - full command lineMBz/CPU percentage of processes - full command linez/Process Thread Count - executable name and args) zprocess.running_countzprocess.named_countzprocess.named_memory_percentagezprocess.named_cpu_percentagezprocess.existszprocess.thread_countzprocess.named_count.fullz$process.named_memory_percentage.fullz process.named_memory_raw_mb.fullz!process.named_cpu_percentage.fullzprocess.exists.fullzprocess.thread_count.full) agent_util SUPPORTEDsysplatformpsutilloginfo UNSUPPORTEDospathexists)selfconfigr msgmetadatar!$/usr/lib/fm-agent/plugins/process.py get_metadatas        zProcessPlugin.get_metadatac&sldtjksdtjkrdtjkr&d}ndtjkr4d}tj|\}}|jd}|jdr`|jd}|dkrtt|dSd }g}x6|ddD]&} || kr|d7}|j| jd qW|d kr|S|d kr|rdSd Sn|d3krd } d } d } x|D]} dtjkr d| }ndtjkr d| }tj|\}}|j jd}t|dkrNq|dj}t |d }t |d}t |d}| |7} | |7} | |7} qW|d kr| S|dkrt | dS| SdSdtjkrxtj d}d}|s|j j ddS|jdrd|}nd|}|d|7}tj|\}}|jd}|jd rRt|dS|jd rxt|dd krtdSd Stdkr|j jddSd|jdr|jd}dtj}g}t|}|jd rFdkrFxh|D]`}y0tj||jr|j|jddddgd Wn(tjk r<|j jd!wYnXqWn|jd rΈdkrx|D]f}y6tj|d"j|jr|j|jddddgd Wn(tjk r|j jd!wbYnXqbWn^x\|D]T}y$|j|jdddd#d$d%d&gd Wn(tjk r$|j jd!wYnXqWx6|D].}|dsLd|d<q2d"j|d|d<q2W|j jd'||dks|d(krttjS|d krg}|j jd)|x8|D]0}|dk rtj||r|j|qW|j j|t|S|d krvg}|j jd)|x8|D]0}|dk r$tj||r$|j|q$W|j j||rndSd Sn|d4krg}|j jd)|x8|D]0}|dk rtj||r|j|qW|j j||j jd+fd,d-|D|sd Sd } d } d }d }d.tjkrJ|j|}|d#} |d$} |d%}|d&}n^xP|D]H} | d#}| d$}| d%j}| d&}| |7} | |7} ||7}||7}qPWt |d5}|d kr| S|dkr|S|d*kr|S| Sn|d6krh|rtd0d-|D} nd1S|j ||}!|!s$|j!||| dS|!d \}"}#| |#|"}$|j!||| tj"}%|%s\d}%|$|%d2Sd S)7Nrsunoszps axwwzps -eo pid' 'args z.fullzprocess.running_countrzprocess.named_countzprocess.existsprocess.named_memory_percentageprocess.named_cpu_percentagenamed_memory_raw_mbzps -fp %s -o pcpu,pmem,rssprocess.named_memory_raw_mbirpgrepz5Unable to find 'pgrep'! Unable to check for processesz%s -fz%sz %sz=Unable to import psutil library, no process metrics availablenameZ cmdline_strpidcmdline cpu_times)attrszUnable to get process. cpu_percentmemory_percent memory_info num_threadszAll running processes: %s countzSearching processes for '%s'process.thread_countzFound matching processes: %scsg|] }|qSr!r!).0p)searchr!r" Psz'ProcessPlugin.check..r!process.named_cpu_percentage.fullcSs$g|]}|jdj|jdjqS)r1)getusersystem)r:r;r!r!r"r=tsgd)r'r(r))r'r+r9i)r(r>)#rrrexecute_commandsplitendswithrstriplenappendstripfloatwhichrerror startswithrr process_iterstrrer<r.as_dict NoSuchProcess exceptionjoinr0debugpidsfindDarwinProcInforsssumget_cache_results cache_result cpu_count)&rtextkeydatarZps_cmdretcodeoutputr8rVlineZall_cpuZall_memZ all_raw_kbr/ZpsretfieldscpumemZraw_kbr,cmdoutZ process_objsrproc found_procsZ all_raw_memZall_thread_countrvZmem_rawZ thread_countZuser_sumZ last_resultdeltaZpreviousZtime_used_resultZnumber_of_coresr!)r<r"checksj                                                                  zProcessPlugin.checkc Csg}x|D]}|jt|dq Wtjdjdj|\}}|jd}|dd}tdtdtdt|d}xh|D]`} | j} t| d krx|d t| d 7<|d t| d 7<|dt| d7<qxW|d} t| d|d<|S)z On OSX, psutil will not report process information on processes belonging to other users, unless the requesting process is privileged. https://github.com/giampaolo/psutil/issues/883 r/z ps uM -p {},r%r&Nr)r4r5r6r7r4r*r5r6i) rHrOrrCformatrTrDrJrG) rrirVfprcr`linesZ procLinesrjlrmr!r!r"rWs(      z ProcessPlugin.findDarwinProcInfoN) __name__ __module__ __qualname__r]r classmethodr#rlrWr!r!r!r"r s #Ur)rrrrrPPluginrr!r!r!r"s