+
    O×iB  ã                   óî   € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHtH	t	H
t
HtHtHtHtHt ^RIHtHt ^RIHtHtHt ^RIHtHtHtHt ]P8                  ! ]4      t ! R R]
4      t ! R	 R
]4      t R# )é    N)Údefaultdict)ÚDictÚListÚ
NamedTupleÚOptionalÚSetÚTupleÚTypeÚUnion)ÚAsyncChannelÚChannelError)ÚJsonListÚ
JsonObjectÚget_int)ÚSAMPLERSÚSampleDescriptionÚSamplerÚSamplesc                   ó,   a € ] tR t^t o V 3R ltRtV tR# )Ú
MetricInfoc                óB   <€ V ^8„  d   Qh/ S[ S[,          ;R&   S[;R&   # )é   ÚderiveÚdesc)r   Ústrr   )ÚformatÚ__classdict__s   "€Ú:/usr/lib/python3/dist-packages/cockpit/channels/metrics.pyÚ__annotate__ÚMetricInfo.__annotate__   s   ø‡ ‚ Ù‘S�MÑñ á
Ñò ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r   s   @r   r   r      s   ø‡ ‡ „ r!   r   c                   óÒ   a € ] tR t^t o RtR.tRtRtRt^ t	^ t
]V 3R lR l4       tV 3R lR ltV 3R	 lR
 ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R ltRtV tR# )ÚInternalMetricsChannelÚmetrics1Néè  Tc                ó   <€ V ^8„  d   QhRR/# )r   ÚreturnNr"   )r   r   s   "€r   r   Ú#InternalMetricsChannel.__annotate__(   s   ø€ ÷ wñ w ñ wr!   c                ó¦   € V P                   f=   \         UUu/ uF"  qP                   F  q"P                  W3bK  	  K$  	  uppV n         R # R # u uppi ©N)Úsamplers_cacher   ÚdescriptionsÚname)ÚclsÚsamplerr   s   &  r   Úensure_samplersÚ&InternalMetricsChannel.ensure_samplers'   sD   € à×ÑÒ%ÝLTÔ!vÉHÀ×auÔauÐY]§)¡)¨g¨_Ò"<Ñau¡)ÉHÒ!vˆCÖñ &ùÛ!vs   ˜(Ac                ó$   <€ V ^8„  d   QhRS[ RR/# ©r   Úoptionsr0   N©r   )r   r   s   "€r   r   r1   ,   s   ø€ ÷ ";ñ ";¡Zð ";°Dñ ";r!   c           	     ó  € \         P                  R WP                  4       \        VRV P                  4      pV^ 8:  g   V\
        P                  8”  d   \        RRV 2R7      hW n        VP                  R4      p\        V\        4      '       d   \        V4      ^ 8X  d$   \         P                  RV4       \        RRR7      hV P                  '       g   Q R4       h\        4       pV F¹  pVP                  R	4      pVP                  R
4      pVP                  R4      p V P                  V,          w  ršT'       d0   YzP                   8w  d    \        RT RT
P                    RT 2R7      hTP#                  T	4       T P$                  P'                  \)        YŠR7      4       K»  	  V Uu0 uF	  qÌ! 4       kK  	  upV n        R#   \         d-   p\         P                  RT4       \        RRT 2R7      ThRp?ii ; iu upi )z&metrics internal open: %s, channel: %sÚintervalzprotocol-errorzinvalid "interval" value: )ÚmessageÚmetricszinvalid "metrics" value: %sz5invalid "metrics" option was specified (not an array)zensure_samples not calledr6   Úunitsr   zunsupported metric: %sznot-supportedzunsupported metric: Nz has units z, not )r   r   )ÚloggerÚdebugÚchannelr   r@   ÚsysÚmaxsizer   ÚgetÚ
isinstanceÚlistÚlenÚerrorr4   ÚsetÚKeyErrorrC   ÚaddrB   Úappendr   Úsamplers)Úselfr=   r@   rB   Úsampler_classesÚmetricr6   rC   r   r8   r   Úexcr7   s   &&           r   Úparse_optionsÚ$InternalMetricsChannel.parse_options,   s»  € Ü�‰Ð=¸wÏÉÔUä˜7 J°·±Ó>ˆØ�qŒ=˜H¤s§{¡{Ô2ÜÐ/Ð;UÐV^ÐU_Ð9`ÔaÐaà Œà—+‘+˜iÓ(ˆÜ˜'¤4×(Ò(¬C°«L¸AÔ,=Ü�L‰LÐ6¸Ô@ÜÐ/Ð9pÔqÐqà×"×"Ð"Ð?Ð$?Ó?Ð"Ü›%ˆÛˆFà—:‘:˜fÓ%ˆDØ—J‘J˜wÓ'ˆEØ—Z‘Z Ó)ˆFðdØ $× 3Ñ 3°DÕ 9‘�÷
 ˜§*¡*Ô,Ü" ?¸t¸fÀKÐPT×PZÑPZÈ|Ð[aÐbgÐahÐ<iÔjÐjà×Ñ Ô(Ø�L‰L×Ñ¤
°&Ô DÖEñ! ñ$ +:Ó:©/ 3˜ž©/Ñ:ˆŽøô ô dÜ—‘Ð5°tÔ<Ü" ?Ð>RÐSWÐRXÐ<YÔZÐ`cÐcûðdüò ;s   Ä GÆ*G=ÇG:Ç'G5Ç5G:c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )r   ÚsamplesÚ	timestampr0   N)r   Úfloat)r   r   s   "€r   r   r1   P   s"   ø€ ÷ ñ ¡ð ±Uð ¸tñ r!   c                óÞ  € . pV P                    EF  pVP                  P                  '       d‰   VP                  R VP                  P                  RVP                  P
                  R\        WP                  P                  ,          P                  4       4      RVP                  P                  /4       K¨  VP                  R VP                  P                  RVP                  RVP                  P
                  RVP                  P                  /4       EK
  	  \        \        P                  ! 4       4      R,          pV P                  RV P                  VR,          WSR7       RV n        R	# )
r6   rC   Ú	instancesÚ	semanticsr   r.   Úinternal)Úsourcer@   r[   ÚnowrB   FN)rB   r   Ú	instancedrQ   r6   rC   rK   Úkeysr_   r   ÚintÚtimeÚ	send_jsonr@   Ú	need_meta)rS   rZ   r[   rB   Ú
metricinforb   s   &&&   r   Ú	send_metaÚ InternalMetricsChannel.send_metaP   s  € ØˆØŸ,�,ˆJØ�‰×(×(Ð(Ø—‘Ø˜JŸO™O×0Ñ0Ø˜ZŸ_™_×2Ñ2Ø¤ g¯o©o×.BÑ.BÕ&C×&HÑ&HÓ&JÓ!KØ §¡×!:Ñ!:ð	 ö ð —‘Ø˜JŸO™O×0Ñ0Ø˜j×/Ñ/Ø˜ZŸ_™_×2Ñ2Ø §¡×!:Ñ!:ð	 ÷ ñ 'ô  ”$—)’)“+Ó Õ%ˆØ�‰˜j°4·=±=ÈIÐX\ÕL\Øð 	ô 	1àˆŽr!   c                ó    <€ V ^8„  d   QhRS[ /# )r   r0   ©r   )r   r   s   "€r   r   r1   g   s   ø€ ÷ ñ ™ñ r!   c                ól   € \        \        4      pV P                   F  pVP                  V4       K  	  V# r3   )r   ÚdictrR   Úsample)rS   rZ   r8   s   &  r   rp   ÚInternalMetricsChannel.sampleg   s+   € Ü&¤tÓ,ˆØ—}”}ˆGØ�N‰N˜7Ö#ñ %àˆr!   c                óR   <€ V ^8„  d   QhRS[ RS[S[ ,          RS[S[ S[3,          /# )r   ÚvalueÚ	old_valuer0   )r\   r   r   Úbool)r   r   s   "€r   r   r1   m   s3   ø€ ÷ ñ ©5ð ¹XÁe½_ð ÑQVÑW\Ñ^bÐWbÕQcñ r!   c                ób   € Ve+   W,
          V P                   V P                  ,
          ,          # R# )NF)Únext_timestampÚlast_timestamp)rS   rs   rt   s   &&&r   Úcalculate_sample_rateÚ,InternalMetricsChannel.calculate_sample_ratem   s*   € ØÒ ØÕ%¨$×*=Ñ*=À×@SÑ@SÕ*SÕTÐTár!   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )r   rZ   Úlast_samplesr0   Nrm   )r   r   s   "€r   r   r1   s   s"   ø€ ÷ '+ñ '+¡Gð '+¹7ð '+Àtñ '+r!   c           
     óä  € . p\         P                   ! 4       pW@n        V P                   EFç  pWP                  P                  ,          pVP                  P
                  '       Ed   W%P                  P                  ,          p\        V\        4      '       g   Q h\        V\        4      '       g   Q hVP                  4       VP                  4       8w  d   R V n	        VP                  R8X  d_   . pVP                  4        F4  w  ršVP                  V P                  W§P                  V	4      4      4       K6  	  VP                  V4       EK"  VP                  \        VP!                  4       4      4       EKM  VP                  VP                  P                  4      p\        V\        4      '       d   Q h\        V\        4      '       d   Q hVP                  R8X  d$   VP                  V P                  Wg4      4       EKÖ  VP                  V4       EKê  	  V P                  '       d   V P#                  W4       V P                  V n        V P'                  \(        P*                  ! V.4      4       R# )TÚrateN)rf   rw   rB   r   r6   rc   rJ   ro   rd   rh   r   ÚitemsrQ   ry   rI   rK   Úvaluesrj   rx   Ú	send_textÚjsonÚdumps)rS   rZ   r|   Údatar[   ri   rs   rt   r^   ÚkeyÚvals   &&&        r   Úsend_updatesÚ#InternalMetricsChannel.send_updatess   s¸  € ØGIˆÜ—I’I“Kˆ	Ø'ÔàŸ,�,ˆJØŸO™O×0Ñ0Õ1ˆEà�‰×(×(Ñ(Ø(¯©×)=Ñ)=Õ>�	Ü! %¬×.Ò.Ð.Ð.Ü! )¬T×2Ò2Ð2Ð2ð —:‘:“< 9§>¡>Ó#3Ô3Ø%)�D”Nà×$Ñ$¨Ô.ØDF�IØ$)§K¡K¦M™˜Ø!×(Ñ(¨×)CÑ)CÀCÏÉÐWZÓI[Ó)\Ö]ñ %2ð —K‘K 	×*à—K‘K¤ U§\¡\£^Ó 4×5à(×,Ñ,¨Z¯_©_×-AÑ-AÓB�	Ü% e¬T×2Ò2Ð2Ð2Ü% i´×6Ò6Ð6Ð6à×$Ñ$¨Ô.Ø—K‘K × :Ñ :¸5Ó L×Mà—K‘K ×&ñ9 'ð< �>�>ˆ>Ø�N‰N˜7Ô.à"×1Ñ1ˆÔØ�‰”t—z’z 4 &Ó)Ö*r!   c                ó$   <€ V ^8„  d   QhRS[ RR/# r<   r>   )r   r   s   "€r   r   r1   œ   s   ø€ ÷ 6ñ 6¡ð 6°ñ 6r!   c              ƒ  ól  "  € . V n         \        4       V n        \        P	                  4        V P                  V4       V P                  4        \        \        4      p V P                  4       pV P                  W24       Tp\        P                  ! V P                  R,          4      G Rj  x€L
  KU   L5i)Tr.   N)rB   rN   rR   r,   r9   rW   Úreadyr   ro   rp   r‡   ÚasyncioÚsleepr@   )rS   r=   r|   rZ   s   &&  r   ÚrunÚInternalMetricsChannel.runœ   s~   é € ØˆŒÜ›ˆŒä×.Ñ.Ô0à×Ñ˜7Ô#Ø�
‰
Œä +¬DÓ 1ˆØØ—k‘k“mˆGØ×Ñ˜gÔ4Ø"ˆLÜ—-’- §¡°Õ 4Ó5×5Ô5ùs   ‚B)B4Â+B2Â,B4c                óÚ   <€ V ^8„  d   Qh/ S[ S[,          ;R&   S[S[,          ;R&   S[S[S[S[S[S[,          S[	3,          3,          ,          ;R&   S[
;R&   S[;R&   S[;R&   S[;R&   # )r   rB   rR   r4   r@   rh   rx   rw   )r   r   r   r   r   r   r   r	   r
   r   re   ru   r\   )r   r   s   "€r   r   r1      s‡   ø‡ ‚ ñ ‘*ÕÑñ	 ñ
 ‘'�lÑñ ñ ™T¡#¡u©T±'­]Ñ<MÐ-MÕ'NÐ"NÕOÕPÑWñ ñ Ññ ñ Ññ ñ Ññ ñ Ñò r!   )r@   rx   rB   rh   rw   rR   )ra   r`   )r#   r$   r%   r&   ÚpayloadÚrestrictionsr4   r@   rh   rx   rw   Úclassmethodr9   rW   rj   rp   ry   r‡   rŽ   r'   r(   r)   r*   s   @r   r,   r,      s‰   ø‡ € Ø€GØ*Ð+€Lð TX€Nà€HØ€IØ€NØ€Nà÷wó ðw÷";ð ";÷Hð ÷.ð ÷ð ÷'+ð '+÷R6ð 6÷E ƒ r!   r,   )!rŒ   r‚   ÚloggingrG   rf   Úcollectionsr   Útypingr   r   r   r   r   r	   r
   r   rF   r   r   Újsonutilr   r   r   rZ   r   r   r   r   Ú	getLoggerr#   rD   r   r,   r"   r!   r   Ú<module>r™      s[   ðó Û Û Û 
Û Ý #ß L× LÓ Lç 0ß 4Ñ 4ß CÓ Cà	×	Ò	˜8Ó	$€ô�ô ô
P6˜\ö P6r!   