HOME


Mini Shell 1.0
DIR: /lib/python3/dist-packages/bcc/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/bcc/__pycache__/perf.cpython-312.pyc
�

f� ����ddlZddlZddlmZGd�dej
�ZGd�dej
�ZGd�d	ej
�ZGd
�dej
�Z	Gd�d
e
�Zy)�N�)�get_online_cpusc�D�eZdZdejfdejfgZy)�_sample_period_union�
sample_period�sample_freqN��__name__�
__module__�__qualname__�ct�c_ulong�_fields_���*/usr/lib/python3/dist-packages/bcc/perf.pyrrs!�� �"�*�*�-���
�
�+�
�rrc�D�eZdZdejfdejfgZy)�_wakeup_events_union�
wakeup_events�wakeup_watermarkN)r
rrr
�c_uintrrrrrrs!�� �"�)�)�,�#�R�Y�Y�/�
�rrc�x�eZdZdejfdejfdejfdejfgZy)�_bp_addr_union�bp_addr�kprobe_func�uprobe_path�config1Nr	rrrrrs9���B�J�J�'���
�
�+���
�
�+��B�J�J�'�	
�rrc�x�eZdZdejfdejfdejfdejfgZy)�
_bp_len_union�bp_len�kprobe_addr�probe_offset�config2Nr	rrrrr's9���2�:�:�&���
�
�+�����,��B�J�J�'�	
�rrc���eZdZGd�dej�ZdZdZdZdZ	dZ
dZd	Zd
Z
dZejdd
��Zej"Zej$Zed��Zede	dfd��Zy)�Perfc���eZdZgd�Zgdej
f�dej
f�dejf�def�dejf�dejf�dej
d	f�d
ej
d	f�dej
d	f�dej
d	f�d
ej
d	f�dej
d	f�dej
d	f�dej
d	f�dej
d	f�dej
d	f�dej
d	f�dej
d	f�dej
d	f�dej
d	f�dej
d	f�dej
df�dej
d	f�dej
d	f�dej
d	f�dej
d	f�dej
d	f�dej
d	f�d ej
d	f�d!ej
d	f�d"ej
d	f�d#ej
d	f�d$ej
d	f�d%ej
d	f�d&ej
d	f�d'ej
d	f�d(ej
d	f�d)ej
d	f�d*ej
d	f�d+ej
d,f�d-ef�d.ej
f�d/e	f�d0e
f�d1ejf�d2ejf�d3ej
f�d4ejf�d5ejf�d6ej
f�d7ejf�d8ejf�d9ej
f�d:ej
f�Z
d;�Z�fd<�Z�xZS)=�Perf.perf_event_attr)rrrr�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_typerr�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|_|jD�cgc]}|d��	c}|_|jjtjD�cgc]}|d��	c}�|jjt
jD�cgc]}|d��	c}�|jjtjD�cgc]}|d��	c}�|jjtjD�cgc]}|d��	c}�ycc}wcc}wcc}wcc}wcc}w)N�xr)r)r�ctype_fields�extendrrrr)�self�items  r�__init__zPerf.perf_event_attr.__init__rs��� #�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)||jvrtdj||��tt
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   �rriz Perf.perf_event_attr.__setattr__zs`����t�^�4��D�DU�DU�9U��P�W�W�X[�]`�a�b��$�.�.��A�#�u�Mr)r
rr�_anonymous_r
rrrrrr�c_int�c_uint16rrbri�
__classcell__)rls@rrhr'1s������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�64�R�Y�Y��B�77�82�2�9�9�a�@�97�:!�"�)�)�Q�/�;7�<%�b�i�i��3�=7�>'��	�	�1�5�?7�@*�2�9�9�a�8�A7�B*�2�9�9�a�8�C7�D&�r�y�y�!�4�E7�F#�B�I�I�q�1�G7�H%�b�i�i��3�I7�J&�r�y�y�!�4�K7�L"�2�9�9�a�0�M7�N%�b�i�i��3�O7�P(����B�7�Q7�R0�1E�F�S7�T#�B�I�I�.�U7�V*�>�:�W7�X)�-�8�Y7�Z.�r�z�z�:�[7�\,�R�Z�Z�8�]7�^-�b�i�i�8�_7�`#�B�H�H�-�a7�b,�R�Z�Z�8�c7�d)�"�)�)�4�e7�f,�R�[�[�9�g7�h(����5�i7�j+�B�I�I�6�k7�l(����3�m7��r[�N�Nrrhi*rrr=�i�i$@i$z	libc.so.6T)�	use_errnoc��tjtjtj|�|j
|dtj�}|dkr3tj�}t|tj|���|jtjk(r[tj|tjd�dkr3tj�}t|tj|���tj|tjd�dkr3tj�}t|tj|���y)N���rzcommon_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_cpuzPerf._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�Frruc��tj�}||_||_||_tj
|_|dkDrd|_||_nd|_d|_	t�D]}tj||��y)Nrri��)r%rhr*ryr(�PERF_SAMPLE_RAWr+r7rrrr�)�	tpoint_idry�ptyper7r�r�s      r�perf_event_openzPerf.perf_event_open�s}���+�+�-��'������!��	�#'�#7�#7�� ��!�8� !�D�I�)-�D�&�)*�D�&�%,��"�*�,�6�C��*�*�3��5�6rN)r
rrr
�	Structurerhrw�PERF_TYPE_HARDWARE�PERF_TYPE_SOFTWAREr�PERF_TYPE_HW_CACHEr�rzr�r��CDLL�libcrvr��staticmethodr�r�rrrr%r%/s���L	N�b�l�l�L	N�^!������ ������ !��$.�!� $���r�w�w�{�d�3���,�,���
�
��	�	C�
�	C�(
�+-�5I�!"�	6�
�	6rr%)�ctypesr
r}�utilsr�Unionrrrr�objectr%rrr�<module>r�s^���	�"�
�2�8�8�
�
�2�8�8�
�
�R�X�X�
�
�B�H�H�
�Q6�6�Q6r