Q"وddlmZddlmZddlmZmZGddeZGddeZGdd eZ d S) ) defaultdict)LveStatsPlugin)LVEUsageFAULTSc&eZdZdZddZdZdZdS)AggregatedLveUsagec>tj||d|_dS)Ng)r__init__time)self lve_versions /builddir/build/BUILDROOT/lve-stats-4.3.2-1.el9.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/lvestats/plugins/generic/aggregators.pyr zAggregatedLveUsage.__init__s $ ,,, c|xj|jpdz c_|jr|xj|j|jzz c_|xj|j|jzz c_|xj|j|jzz c_|xj|j|jzz c_|xj|j|jzz c_|xj|j|jzz c_|xj|j|jzz c_|xj|jz c_|xj |j z c_ |xj |j z c_ |xj |j z c_ |xj |j z c_ |xj |j z c_ t|j|j|_t|j|j|_t|j|j|_t|j|j|_t|j|j|_t|j|j|_t|j|j|_|jp|j|_|jp|j|_dS)Nr)r cpu_usage mem_usagemepio_usageiopsmemphynproc cpu_fault mem_fault mep_faultio_fault memphy_fault nproc_faultmaxlmemlcpulepiolmemphylnprocliopshas_changed_limitshas_changed_nproc)rlveusages raddzAggregatedLveUsage.adds X]'a' = 9 NNh08=@ @NN NNh08=@ @NN HH x}4 4HH MMX.> >MM II6 6II KK8?X]: :KK JJ(.8=8 8JJ (,, (,, (,, **  X22 H00 ty11  ty11 x|TX..hk47++8+T\:: (/4;77 44 "&"9"XX=X!%!7!U8;Urc|jdkr|xj|jzc_|xj|jzc_|xj|jzc_|xj|jzc_|xj|jzc_|xj|jzc_|xj|jzc_|j|jcxkrdkr nn d|_ dSd|_ dSdS)Nr) r rrrrrrrr' iops_faultrs r aggregatezAggregatedLveUsage.aggregate4s 9q== NNdi 'NN NNdi 'NN HH !HH MMTY &MM II "II KK49 $KK JJ$) #JJyDJ*********"#"# =rN)r )__name__ __module__ __qualname__ __slots__r r+r0r rrrr sOIVVV@$$$$$rrc,eZdZdZdZdZdZdZdS)LveUsageAggregator5Sc0d|_d|_d|_dS)N lve_usages_5s lve_usage_5sT) get_data_from set_data_tosnapshots_enabledr/s rr zLveUsageAggregator5S.__init__Fs ,)!%rch|dddk|_dS)% :param dict config: disable_snapshotsfalsetrueN)getlowerr<rconfigs r set_configzLveUsageAggregator5S.set_configKs3"(,?!I!I!O!O!Q!QU[![rci}t|t|z}|D]!\}}||d|z||<"|S)z? :param dict dict1: :param dict dict2: r)listitemsrB)rdict1dict2resultrI attr_namecounts rdict_sum_valuesz$LveUsageAggregator5S.dict_sum_valuesQsn U[[]]##d5;;==&9&99 % A A Iu & 9a 8 85 @F9   rc$|jr|di}|D]V\}}tD]I}t ||}|dkr1||vri||<|||d|z|||<JW||d<dSdS)z] :type lve_data: dict :type lve_usage: dict[int, AggregatedLveUsage] faultsrN)r<rBrIrgetattr)rlve_data lve_usage old_faultslve_idusagerMfaults raggregate_faultsz%LveUsageAggregator5S.aggregate_faults\s  ! ,!h33J!*!2!2 e e !'eeI#E955Eqyy!3313Jv.8B68J8N8NyZ[8\8\_d8d 6*95 e ",HX    , ,rc||j}tt}|D]7}|D] \}}|||!8|D]}|i}|D]8\}} |dkr| ||<| s| js| j r| ||<9|||j <| ||dS)z' :param dict lve_data: rN) r:rrrIr+valuesr0has_interesting_valuesr(r)r;rY) rrS lve_usages aggregatediteration_datarVrTaggregated_lve_usagerLrWs rexecutezLveUsageAggregator5S.executels:d01  !344 ( 2 2N%3%9%9%;%; 2 2! 6"&&y1111 2%/$5$5$7$7 - - * * , , , ,'--// ' 'MFE{{!&v++-- '/ '. '"'v%+!" h/////rN)r1r2r3r rFrOrYrar rrr6r6Esb&&& \\\   ,,, 00000rr6c0eZdZdZdZdZfdZxZS)LveUsageAggregatorc0d|_d|_d|_dS)N<r]rT)periodr:r;r/s rr zLveUsageAggregator.__init__s )&rcF|d|j|_dS)r>aggregation_periodN)rBrfrDs rrFzLveUsageAggregator.set_configs jj!5t{CC rcdSNr )rrSrTs rrYz#LveUsageAggregator.aggregate_faultss rc^t|g||j<dSrj)superrar:)rrS __class__s rrazLveUsageAggregator.executes, !!!')#$$$r)r1r2r3r rFrYra __classcell__)rms@rrcrcsh''' DDD    *********rrcN) collectionsrlvestats.core.pluginr"lvestats.plugins.generic.analyzersrrrr6rcr rrrrs$#####//////????????5$5$5$5$5$5$5$5$pA0A0A0A0A0>A0A0A0L*****-*****r