Ë
    i©¹då  ã                   óJ   — d dl mZmZmZmZ d dlZd dlmZ  G d„ deee«      Zy)é    )ÚPluginÚRedHatPluginÚDebianPluginÚ	PluginOptN)Úgethostnamec                   ón   — 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d„ Zy)ÚPcpzPerformance Co-Pilot dataÚpcp)ÚsystemÚperformance)r
   z/etc/pcp.confÚ	pmmgrlogséd   zsize limit in MB of pmmgr logs)ÚdefaultÚdescÚpmloggerfilesé   z#number of pmlogger files to collectNÚ c                 ó¼   — d}t        j                  |«      D ]A  \  }}}|D ]6  }| j                  ||«      }|t         j                  j	                  |«      z  }Œ8 ŒC |S )Nr   )ÚosÚwalkÚ	path_joinÚpathÚgetsize)Úselfr   Ú
total_sizeÚdirpathÚdirnamesÚ	filenamesÚfÚfps           ú8/usr/lib/python3/dist-packages/sos/report/plugins/pcp.pyÚget_sizezPcp.get_size(   sc   € Øˆ
Ü,.¯G©G°D«Mò 	2Ñ(ˆG�X˜yØò 2�Ø—^‘^ G¨QÓ/�ØœbŸg™gŸo™o¨bÓ1Ñ1‘
ñ2ð	2ð Ðó    c                 óœ  — 	 t        | j                  d«      }|j                  «       }|j                  «        i }|D ]<  }|j                  d«      rŒ	 |j                  «       j                  d«      \  }}|||<   Œ> 	 |d   | _
        |d   | _        |d   | _        y# 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)	NÚrFú#ú=ÚPCP_SYSCONF_DIRÚPCP_VAR_DIRÚPCP_LOG_DIRT)ÚopenÚpcp_conffileÚ	readlinesÚcloseÚIOErrorÚ
startswithÚstripÚsplitÚ
ValueErrorÚKeyErrorÚpcp_sysconf_dirÚpcp_var_dirÚpcp_log_dirÚ	Exception)r   ÚpcpconfÚlinesÚenv_varsÚlineÚkeyÚvalues          r!   Úpcp_parse_conffilezPcp.pcp_parse_conffile0   sî   € ð	Ü˜4×,Ñ,¨cÓ2ˆGØ×%Ñ%Ó'ˆEØ�M‰MŒOð ˆØò 	ˆDØ�‰˜sÔ#ØðØ#Ÿz™z›|×1Ñ1°#Ó6‘��eØ %�˜’ð	ð	Ø#+Ð,=Ñ#>ˆDÔ Ø'¨Ñ6ˆDÔØ'¨Ñ6ˆDÔð
 øô) ò 	Ùð	ûô ¤Ð)ò Ùðûô ò 	áð	ús5   ‚6B Á'B*Á<B? Â	B'Â&B'Â*B<Â;B<Â?	CÃ
Cc                 ój  — | j                  d«      rd n| j                  d«      | _        | j                  d«      rd n| j                  d«      | _        | j                  «       s| j	                  d| j
                  z  «       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                  || j                  d¬«       d}| j                  | j                  d| j                  d«      }| j                  d|z  «      }|d   dk(  rN|d   j                  «       D ]8  }| j                  |d¬«       |dz   }| j                  sŒ(|| j                  k(  sŒ8 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|z  d ¬!«        y  y y )"NÚall_logsr   r   zcould not parse %sÚconfigÚpmchartÚ	pmlogconfÚpmieconfÚpmlogrewriter   ÚpmmgrÚ*F)Ú	sizelimitÚtailitr   Úpmloggerz	ls -t1 %sÚstatusÚoutput)rI   é   ÚpmcdzNOTICES*Úpmnsz*/*.log*z
*/*/*.log*z*/*/config*r
   z
 pmlogger:éÿÿÿÿz'pmstat -S 00:00 -T 23:59 -t 5m -x -a %sÚpmstat)Úroot_symlink)Ú
get_optionrI   Ú
countlimitr?   Ú	_log_warnr,   r   r6   Úadd_copy_specr5   Úadd_forbidden_pathr   Úpcp_hostnamer7   Úexec_cmdÚ
splitlinesÚcollect_cmd_outputr0   r2   Úadd_cmd_output)r   Úvar_conf_dirr   Úfiles_collectedÚpmlogger_lsr<   ÚresÚarcs           r!   Úsetupz	Pcp.setupK   sö  € Ø"&§/¡/°*Ô"=™$Ø#Ÿ™¨{Ó;ð 	Œà#'§?¡?°:Ô#>™4Ø $§¡°Ó @ð 	Œð ×&Ñ&Ô(Ø�N‰NÐ/°$×2CÑ2CÑCÔDØð —~‘~ d×&6Ñ&6¸ÓAˆØ×ÑØ× Ñ Ø×ÑØð
ô 	ð 	×ÑØ�N‰N˜<¨Ó3Ø�N‰N˜<¨Ó5Ø�N‰N˜<¨Ó4Ø�N‰N˜<¨Ó8ð	!
ô 	ô$ (›MˆÔð ×Ñ Ò"à—>‘> $×"2Ñ"2°GØ"&×"3Ñ"3°Só:ˆDà×Ñ˜t¨t¯~©~ÀeÐÔLàˆOØ—>‘> $×"2Ñ"2°JØ"&×"3Ñ"3°Só:ˆDàŸ-™-¨°dÑ(:Ó;ˆKØ˜8Ñ$¨Ò)Ø'¨Ñ1×<Ñ<Ó>ò �DØ×&Ñ& t°qÐ&Ô9Ø&5¸Ñ&9�OØ—“¨?¸d¿o¹oÓ+MÙð	ð 	×Ñà�N‰N˜4×+Ñ+¨VÓ4Ø�N‰N˜4×+Ñ+¨ZÓ8à�N‰N˜4×+Ñ+¨VÓ4ð �N‰N˜4×+Ñ+¨ZÓ8Ø�N‰N˜4×+Ñ+¨\Ó:Ø�N‰N˜4×+Ñ+¨]Ó;ð
ô 	ð ×%Ñ% eÓ,ˆØˆx‰=˜AÒØ˜H™×0Ñ0Ó2ò �Ø—?‘? <Õ0ØŸ*™*›, rÑ*�CØ×'Ñ'ØAÀCÑGØ%-ð (ô ñ ñð r#   )Ú__name__Ú
__module__Ú__qualname__Ú
short_descÚplugin_nameÚprofilesÚpackagesr,   r   Úoption_listr5   r6   r7   rY   r"   r?   rc   © r#   r!   r	   r	      sh   „ à,€Jà€KØ(€HØ€Hà"€Lñ 	�+ sØ7ô	9á�/¨2Ø<ô	>ð€Kð €OØ€KØ€Kà€Lòòó6Wr#   r	   )	Úsos.report.pluginsr   r   r   r   r   Úsocketr   r	   rl   r#   r!   ú<module>ro      s&   ð÷ MÓ LÛ 	Ý ôRˆ&�, õ Rr#   