Ë
    f„   ã                   óÞ   — d dl Zd dlZddlmZ  G d„ dej
                  «      Z G d„ dej
                  «      Z G d„ d	ej
                  «      Z G d
„ dej
                  «      Z	 G d„ de
«      Zy)é    Né   )Úget_online_cpusc                   óD   — e Zd Zdej                  fdej                  fgZy)Ú_sample_period_unionÚsample_periodÚsample_freqN©Ú__name__Ú
__module__Ú__qualname__ÚctÚc_ulongÚ_fields_© ó    ú*/usr/lib/python3/dist-packages/bcc/perf.pyr   r      s!   „ à  "§*¡*Ð-Ø §
¡
Ð+ð
‰r   r   c                   óD   — e Zd Zdej                  fdej                  fgZy)Ú_wakeup_events_unionÚwakeup_eventsÚwakeup_watermarkN)r
   r   r   r   Úc_uintr   r   r   r   r   r      s!   „ à  "§)¡)Ð,Ø# R§Y¡YÐ/ð
‰r   r   c                   óx   — e Zd Zdej                  fdej                  fdej                  fdej                  fgZy)Ú_bp_addr_unionÚbp_addrÚkprobe_funcÚuprobe_pathÚconfig1Nr	   r   r   r   r   r      s9   „ à˜BŸJ™JÐ'Ø §
¡
Ð+Ø §
¡
Ð+Ø˜BŸJ™JÐ'ð	
‰r   r   c                   óx   — e Zd Zdej                  fdej                  fdej                  fdej                  fgZy)Ú_bp_len_unionÚbp_lenÚkprobe_addrÚprobe_offsetÚconfig2Nr	   r   r   r   r   r   '   s9   „ à˜2Ÿ:™:Ð&Ø §
¡
Ð+Ø §¡Ð,Ø˜BŸJ™JÐ'ð	
‰r   r   c                   óÚ   — e Zd Z G d„ dej                  «      ZdZdZdZdZ	dZ
dZd	Zd
ZdZ ej                  dd¬«      Zej"                  Zej$                  Zed„ «       Zede	dfd„«       Zy)ÚPerfc                   ó  ‡ — e Zd Zg d¢Zg dej
                  f‘dej
                  f‘dej                  f‘def‘dej                  f‘dej                  f‘dej
                  d	f‘d
ej
                  d	f‘dej
                  d	f‘dej
                  d	f‘dej
                  d	f‘dej
                  d	f‘dej
                  d	f‘dej
                  d	f‘dej
                  d	f‘dej
                  d	f‘dej
                  d	f‘dej
                  d	f‘dej
                  d	f‘dej
                  d	f‘dej
                  d	f‘dej
                  df‘dej
                  d	f‘dej
                  d	f‘dej
                  d	f‘dej
                  d	f‘dej
                  d	f‘dej
                  d	f‘d ej
                  d	f‘d!ej
                  d	f‘d"ej
                  d	f‘d#ej
                  d	f‘d$ej
                  d	f‘d%ej
                  d	f‘d&ej
                  d	f‘d'ej
                  d	f‘d(ej
                  d	f‘d)ej
                  d	f‘d*ej
                  d	f‘d+ej
                  d,f‘d-ef‘d.ej
                  f‘d/e	f‘d0e
f‘d1ej                  f‘d2ej                  f‘d3ej
                  f‘d4ej                  f‘d5ej                  f‘d6ej
                  f‘d7ej                  f‘d8ej                  f‘d9ej
                  f‘d:ej
                  f‘Zd;„ Zˆ fd<„Zˆ xZS )=úPerf.perf_event_attr)r   r   r   r   ÚtypeÚsizeÚconfigr   Úsample_typeÚread_formatÚdisabledr   ÚinheritÚpinnedÚ	exclusiveÚexclude_userÚexclude_kernelÚ
exclude_hvÚexclude_idleÚmmapÚcommÚfreqÚinherit_statÚenable_on_execÚtaskÚ	watermarkÚ
precise_ipé   Ú	mmap_dataÚsample_id_allÚexclude_hostÚexclude_guestÚexclude_callchain_kernelÚexclude_callchain_userÚmmap2Ú	comm_execÚuse_clockidÚcontext_switchÚwrite_backwardÚ
namespacesÚksymbolÚ	bpf_eventÚ
aux_outputÚcgroupÚ	text_pokeÚ__reserved_1é   r   Úbp_typer   r   Úbranch_sample_typeÚsample_regs_userÚsample_stack_userÚclockidÚsample_regs_intrÚaux_watermarkÚsample_max_stackÚ__reserved_2Úaux_sample_sizeÚ__reserved_3c                 óX  — d| _         | j                  D �cg c]  }|d   ‘Œ	 c}| _        | j                  j                  t        j                  D �cg c]  }|d   ‘Œ	 c}«       | j                  j                  t
        j                  D �cg c]  }|d   ‘Œ	 c}«       | j                  j                  t        j                  D �cg c]  }|d   ‘Œ	 c}«       | j                  j                  t        j                  D �cg c]  }|d   ‘Œ	 c}«       y c c}w c c}w c c}w c c}w c c}w )Néx   r   )r)   r   Úctype_fieldsÚextendr   r   r   r   )ÚselfÚitems     r   Ú__init__zPerf.perf_event_attr.__init__r   sÜ   € Ø #�D”IØ=A¿]¹]Ö(K°T¨¨a«Ò(K�DÔ%Ø×%Ñ%×,Ñ,ÔBV×B_ÑB_Ö-`¸$¨d°1«gÒ-`ÔaØ×%Ñ%×,Ñ,ÔBV×B_ÑB_Ö-`¸$¨d°1«gÒ-`ÔaØ×%Ñ%×,Ñ,Ä.×BYÑBYÖ-Z¸$¨d°1«gÒ-ZÔ[Ø×%Ñ%×,Ñ,Ä-×BXÑBXÖ-Y¸$¨d°1«gÒ-YÕZùò	 )LùÚ-`ùÚ-`ùÚ-ZùÚ-Ys   –DÁDÂDÃD"Ã?D'c                 ó¬   •— t        | d«      r)|| j                  vrt        dj                  ||«      «       t        t
        j                  | �  ||«       y )Nr^   zoWarning: Setting field {} on perf_event_attr that isn't part of the ctype - {} won't make it to perf_event_open)Úhasattrr^   ÚprintÚformatÚsuperr%   Úperf_event_attrÚ__setattr__)r`   ÚkeyÚvalueÚ	__class__s      €r   ri   z Perf.perf_event_attr.__setattr__z   s`   ø€ Ü˜t ^Ô4¸ÀD×DUÑDUÑ9UÜð  P÷  Wñ  Wð  X[ð  ]`ó  aô  bÜœ$×.Ñ.°ÑAÀ#ÀuÕMr   )r
   r   r   Ú_anonymous_r   r   r   r   r   r   r   Úc_intÚc_uint16r   rb   ri   Ú__classcell__)rl   s   @r   rh   r'   1   s†  ø„ ò�ð7Ø §¡Ð+ð7à §¡Ð+ð7ð " 2§:¡:Ð.ð7ð 0Ð1EÐFð	7ð
 '¨¯
©
Ð3ð7ð '¨¯
©
Ð3ð7ð $ R§Y¡Y°Ð2ð7ð # B§I¡I¨qÐ1ð7ð " 2§9¡9¨aÐ0ð7ð % b§i¡i°Ð3ð7ð (¨¯©°AÐ6ð7ð *¨2¯9©9°aÐ8ð7ð & r§y¡y°!Ð4ð7ð (¨¯©°AÐ6ð7ð   §¡¨AÐ.ð7ð    §¡¨AÐ.ð!7ð"   §¡¨AÐ.ð#7ð$ (¨¯©°AÐ6ð%7ð& *¨2¯9©9°aÐ8ð'7ð(   §¡¨AÐ.ð)7ð* % b§i¡i°Ð3ð+7ð, & r§y¡y°!Ð4ð-7ð. % b§i¡i°Ð3ð/7ð0 )¨"¯)©)°QÐ7ð17ð2 (¨¯©°AÐ6ð37ð4 )¨"¯)©)°QÐ7ð57ð6 4°R·Y±YÀÐBð77ð8 2°2·9±9¸aÐ@ð97ð: ! "§)¡)¨QÐ/ð;7ð< % b§i¡i°Ð3ð=7ð> '¨¯	©	°1Ð5ð?7ð@ *¨2¯9©9°aÐ8ðA7ðB *¨2¯9©9°aÐ8ðC7ðD & r§y¡y°!Ð4ðE7ðF # B§I¡I¨qÐ1ðG7ðH % b§i¡i°Ð3ðI7ðJ & r§y¡y°!Ð4ðK7ðL " 2§9¡9¨aÐ0ðM7ðN % b§i¡i°Ð3ðO7ðP (¨¯©°BÐ7ðQ7ðR 0Ð1EÐFðS7ðT # B§I¡IÐ.ðU7ðV *¨>Ð:ðW7ðX )¨-Ð8ðY7ðZ .¨r¯z©zÐ:ð[7ð\ ,¨R¯Z©ZÐ8ð]7ð^ -¨b¯i©iÐ8ð_7ð` # B§H¡HÐ-ða7ðb ,¨R¯Z©ZÐ8ðc7ðd )¨"¯)©)Ð4ðe7ðf ,¨R¯[©[Ð9ðg7ðh (¨¯©Ð5ði7ðj +¨B¯I©IÐ6ðk7ðl (¨¯©Ð3ðm7�òr[÷Nð Nr   rh   i*  r   r   r=   é   i   é   i$@i $  z	libc.so.6T)Ú	use_errnoc                 óÀ  — t         j                  t         j                  t        j                  |«      |j
                  | dt         j                  «      }|dk  r3t        j                  «       }t        |t        j                  |«      «      ‚|j                  t         j                  k(  r[t         j                  |t         j                  d«      dk  r3t        j                  «       }t        |t        j                  |«      «      ‚t         j                  |t         j                  d«      dk  r3t        j                  «       }t        |t        j                  |«      «      ‚y )Néÿÿÿÿr   zcommon_pid == -17)r%   ÚsyscallÚNR_PERF_EVENT_OPENr   ÚbyrefÚpidÚPERF_FLAG_FD_CLOEXECÚ	get_errnoÚOSErrorÚosÚstrerrorr(   ÚPERF_TYPE_TRACEPOINTÚioctlÚPERF_EVENT_IOC_SET_FILTERÚPERF_EVENT_IOC_ENABLE)ÚcpuÚattrÚpfdÚerrno_s       r   Ú_open_for_cpuzPerf._open_for_cpuš   sø   € ä—l‘l¤4×#:Ñ#:¼B¿H¹HÀT»NØ#'§8¡8¨S°"Ü#'×#<Ñ#<ó>�ð ˜’7Ü!#§¡£˜Ü% f¬b¯k©k¸&Ó.AÓBÐBà—9‘9¤× 9Ñ 9Ò9Ü—z‘z #¤t×'EÑ'EØ"5ó7Ø9:ò;ä%'§\¡\£^˜FÜ")¨&´"·+±+¸fÓ2EÓ"FÐFô —:‘:˜c¤4×#=Ñ#=¸qÓAÀAÒEÜ!#§¡£˜Ü% f¬b¯k©k¸&Ó.AÓBÐBð Fr   ru   c                 ó  — t         j                  «       }| |_        ||_        ||_        t         j
                  |_        |dkD  rd|_        ||_        nd|_        d|_	        t        «       D ]  }t         j                  ||«       Œ y )Nr   r   i–˜ )r%   rh   r*   ry   r(   ÚPERF_SAMPLE_RAWr+   r7   r   r   r   r‡   )Ú	tpoint_idry   Úptyper7   r„   rƒ   s         r   Úperf_event_openzPerf.perf_event_open¯   s}   € ô ×+Ñ+Ó-�Ø'�”Ø�”Ø!�”	Ü#'×#7Ñ#7�Ô Ø˜!’8à !�D”IØ)-�DÕ&à)*�DÔ&Ø%,�Ô"ä*Ó,ò 6�CÜ×*Ñ*¨3°Õ5ñ6r   N)r
   r   r   r   Ú	Structurerh   rw   ÚPERF_TYPE_HARDWAREÚPERF_TYPE_SOFTWAREr   ÚPERF_TYPE_HW_CACHEr‰   rz   r�   r‚   ÚCDLLÚlibcrv   r€   Ústaticmethodr‡   rŒ   r   r   r   r%   r%   /   s«   „ ôL	N˜bŸl™lô L	Nð^ !Ðð ÐØÐØ ÐØÐð ˆð  !ÐØ$.Ð!Ø $Ðð ˆr�w‰w�{¨dÔ3ˆØ—,‘,ˆØ—
‘
ˆà	ñ	Có 
ð	Cð( 
Ø+-Ð5IØ!"ò	6ó 
ñ	6r   r%   )Úctypesr   r}   Úutilsr   ÚUnionr   r   r   r   Úobjectr%   r   r   r   ú<module>r˜      s^   ðó Û 	Ý "ô
˜2Ÿ8™8ô 
ô
˜2Ÿ8™8ô 
ô
�R—X‘Xô 
ô
�B—H‘Hô 
ôQ6ˆ6õ Q6r   