HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3/dist-packages/sos/report/plugins/__pycache__/pcp.cpython-38.pyc
U

i��d��@sDddlmZmZmZmZddlZddlmZGdd�deee�ZdS)�)�Plugin�RedHatPlugin�DebianPlugin�	PluginOptN)�gethostnamec@sdeZdZdZdZdZdZdZedddd	�ed
ddd	�gZ	d
Z
d
Zd
ZdZ
dd�Zdd�Zdd�Zd
S)�PcpzPerformance Co-Pilot data�pcp)�systemZperformance)rz
/etc/pcp.conf�	pmmgrlogs�dzsize limit in MB of pmmgr logs)�defaultZdesc�
pmloggerfiles�z#number of pmlogger files to collectN�cCsDd}t�|�D]0\}}}|D] }|�||�}|tj�|�7}qq|S)Nr)�os�walk�	path_join�path�getsize)�selfrZ
total_size�dirpathZdirnames�	filenames�f�fp�r�8/usr/lib/python3/dist-packages/sos/report/plugins/pcp.py�get_size(szPcp.get_sizec
Cs�z t|jd�}|��}|��Wntk
r6YdSXi}|D]H}|�d�rPq@z|���d�\}}|||<Wq@tt	fk
r�Yq@Xq@z"|d|_
|d|_|d|_Wnt
k
r�YdSXdS)	N�rF�#�=ZPCP_SYSCONF_DIRZPCP_VAR_DIRZPCP_LOG_DIRT)�open�pcp_conffile�	readlines�close�IOError�
startswith�strip�split�
ValueError�KeyError�pcp_sysconf_dir�pcp_var_dir�pcp_log_dir�	Exception)rZpcpconf�linesZenv_vars�line�key�valuerrr�pcp_parse_conffile0s,


zPcp.pcp_parse_conffilecCs|�d�rdn|�d�|_|�d�r(dn|�d�|_|��sP|�d|j�dS|�|jd�}|�|j	|j|g�|�
|�|d�|�|d�|�|d�|�|d	�g�t�|_|jd
k�rV|�|j
d|jd�}|j||jd
d�d}|�|j
d|jd�}|�d|�}|ddk�rV|d��D]6}|j|dd�|d}|j�r||jk�r�qV�q|�|�|j
d�|�|j
d�|�|jd�|�|j
d�|�|j
d�|�|j
d�g�|�d�}|ddk�r|d��D]6}|�d��r�|��d}|jd|d d!��q�q�dS)"NZall_logsr
r
zcould not parse %sZconfigZpmchartZ	pmlogconfZpmieconfZpmlogrewriterZpmmgr�*F)�	sizelimitZtailitrZpmloggerz	ls -t1 %sZstatus�output)r4�ZpmcdzNOTICES*Zpmnsz*/*.log*z
*/*/*.log*z*/*/config*rz
 pmlogger:���z'pmstat -S 00:00 -T 23:59 -t 5m -x -a %sZpmstat)Zroot_symlink)Z
get_optionr4Z
countlimitr2Z	_log_warnr!rr+Z
add_copy_specr*Zadd_forbidden_pathr�pcp_hostnamer,Zexec_cmd�
splitlinesZcollect_cmd_outputr%r'Zadd_cmd_output)rZvar_conf_dirrZfiles_collectedZpmlogger_lsr/�resZarcrrr�setupKst���




�
�
�
�
�z	Pcp.setup)�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofilesZpackagesr!rZoption_listr*r+r,r8rr2r;rrrrrs&���r)	Zsos.report.pluginsrrrrrZsocketrrrrrr�<module>s