
    -_g3                     B    d dl mZ d dlmZmZmZmZ  G d deee      Zy)    )gethostname)PluginRedHatPluginDebianPlugin	PluginOptc                   h    e Zd ZdZdZdZdZdZ eddd	       ed
dd	      gZ	dZ
dZdZdZd Zd Zy)PcpzPerformance Co-Pilot datapcp)systemperformance)r
   z/etc/pcp.conf	pmmgrlogsd   zsize limit in MB of pmmgr logs)defaultdescpmloggerfiles   z#number of pmlogger files to collectN c                    	 t        | j                  dd      5 }|j                         }ddd       i }D ]<  }|j	                  d      r	 |j                         j                  d      \  }}|||<   > 	 |d   | _	        |d	   | _
        |d
   | _        y# 1 sw Y   lxY w# t        $ r Y yw xY w# t        t        f$ r Y w xY w# t        $ r Y yw xY w)z Parse PCP configuration rzUTF-8)encodingNF#=PCP_SYSCONF_DIRPCP_VAR_DIRPCP_LOG_DIRT)openpcp_conffile	readlinesIOError
startswithstripsplit
ValueErrorKeyErrorpcp_sysconf_dirpcp_var_dirpcp_log_dir	Exception)selfpcpconflinesenv_varslinekeyvalues          8/usr/lib/python3/dist-packages/sos/report/plugins/pcp.pypcp_parse_conffilezPcp.pcp_parse_conffile'   s    	d''w? ,7))+,  	Ds##zz|11#6e %		#+,=#>D '6D'6D
 /, , 		 )   		sK   B" BB" 'B17C BB" "	B.-B.1CC	CCc                    | j                  d      rd n| j                  d      }| j                  d      rd n| j                  d      }| j                         s| j                  d| j                          y | j	                  | j
                  d      }| j                  | j                  | j                  |g       | j                  | j	                  |d      | j	                  |d      | j	                  |d      | j	                  |d	      g       t               | _
        | j                  d
k7  r| j	                  | j                  d| j                  d      }| j                  ||d       d}| j	                  | j                  d| j                  d      }| j                  d|       }|d   dk(  r:|d   j                         D ]$  }| j                  |d       |dz   }|s||k(  s$ n | j                  | j	                  | j                  d      | j	                  | j                  d      | j	                  | j
                  d      | j	                  | j                  d      | j	                  | j                  d      | j	                  | j                  d      g       | j                  d      }|d   dk(  rU|d   j                         D ]>  }|j                  d      s|j!                         d   }	| j#                  d|	 d !        y  y y )"Nall_logsr   r   zcould not parse configpmchart	pmlogconfpmieconfpmlogrewriter   pmmgr*F)	sizelimittailitr   pmloggerzls -t1 statusoutput)r;      pmcdzNOTICES*pmnsz*/*.log*z
*/*/*.log*z*/*/config*r
   z
 pmlogger:z%pmstat -S 00:00 -T 23:59 -t 5m -x -a pmstat)root_symlink)
get_optionr1   	_log_warnr   	path_joinr&   add_copy_specr%   add_forbidden_pathr   pcp_hostnamer'   exec_cmd
splitlinescollect_cmd_outputr    r"   add_cmd_output)
r)   r;   
countlimitvar_conf_dirpathfiles_collectedpmlogger_lsr-   resarcs
             r0   setupz	Pcp.setupC   s   !__Z8T//+6 	"ooj9d???; 	 &&(NN-d.?.?-@AB ~~d&6&6A  
 	 	NN<3NN<5NN<4NN<8	!
 	$ (M ">>$"2"2G"&"3"3S:DtyGO>>$"2"2J"&"3"3S:D--'$(89K8$)'1<<> D&&tq&9&5&9O!o&C	 	NN4++V4NN4++Z8NN4++V4 NN4++Z8NN4++\:NN4++];
 	 %%e,x=AH002 ??<0**,r*C''?uE%- (       )__name__
__module____qualname__
short_descplugin_nameprofilespackagesr   r   option_listr%   r&   r'   rK   r1   rW    rX   r0   r	   r	      sc    ,JK(HH"L 	+s7	9/2<	>K OKKL8WrX   r	   N)socketr   sos.report.pluginsr   r   r   r   r	   ra   rX   r0   <module>rd      s"     L LK&, KrX   