grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a ,-Þi!ã@sxddlZddlZddlmZGdd„dejƒZGdd„dejƒZGdd „d ejƒZGd d „d ejƒZ Gd d „d e ƒZ dS)éNé)Úget_online_cpusc@s eZdZdejfdejfgZdS)Ú_sample_period_unionÚ sample_periodZ sample_freqN©Ú__name__Ú __module__Ú __qualname__ÚctÚc_ulongÚ_fields_©r r ú,/usr/lib/python3.9/site-packages/bcc/perf.pyrsþrc@s eZdZdejfdejfgZdS)Ú_wakeup_events_unionÚ wakeup_eventsZwakeup_watermarkN)rrr r Úc_uintr r r r rrsþrc@s0eZdZdejfdejfdejfdejfgZdS)Ú_bp_addr_unionZbp_addrZ kprobe_funcZ uprobe_pathZconfig1Nrr r r rrs ürc@s0eZdZdejfdejfdejfdejfgZdS)Ú _bp_len_unionZbp_lenZ kprobe_addrZ probe_offsetZconfig2Nrr r r rr's ürc@sŒeZdZGdd„dejƒZdZdZdZdZ dZ dZ d Z d Z d Zejd d d�ZejZejZeddd„ƒZede dfdd„ƒZeddd„ƒZdS)ÚPerfc7seZdZgd¢Zdejfdejfdejfdefdejfdejfdejd fd ejd fd ejd fd ejd fd ejd fdejd fdejd fdejd fdejd fdejd fdejd fdejd fdejd fdejd fdejd fdejdfdejd fdejd fdejd fdejd fdejd fdejd fd ejd fd!ejd fd"ejd fd#ejd fd$ejd fd%ejd fd&ejd fd'ejd fd(ejd fd)ejd fd*ejd fd+ejd,fd-efd.ejfd/e fd0e fd1ejfd2ejfd3ejfd4ej fd5ejfd6ejfd7ej fd8ej fd9ejfd:ejfg6Z d;d<„Z‡fd=d>„Z‡ZS)?zPerf.perf_event_attr)rrrrÚtypeÚsizeÚconfigrÚ sample_typeZ read_formatZdisabledrZinheritZpinnedZ exclusiveZ exclude_userZexclude_kernelZ exclude_hvZ exclude_idleZmmapZcommÚfreqZ inherit_statZenable_on_execZtaskZ watermarkZ precise_ipéZ mmap_dataZ sample_id_allZ exclude_hostZ exclude_guestZexclude_callchain_kernelZexclude_callchain_userZmmap2Z comm_execZ use_clockidZcontext_switchZwrite_backwardZ namespacesZksymbolZ bpf_eventZ aux_outputZcgroupZ text_pokeZ __reserved_1érZbp_typerrZbranch_sample_typeZsample_regs_userZsample_stack_userZclockidZsample_regs_intrZ aux_watermarkZsample_max_stackZ __reserved_2Zaux_sample_sizeZ __reserved_3cCs|d|_dd„|jDƒ|_|j dd„tjDƒ¡|j dd„tjDƒ¡|j dd„tjDƒ¡|j dd„tjDƒ¡dS)NéxcSsg|] }|d‘qS©rr ©Ú.0Úitemr r rÚ tóz1Perf.perf_event_attr.__init__..cSsg|] }|d‘qSrr rr r rr!ur"cSsg|] }|d‘qSrr rr r rr!vr"cSsg|] }|d‘qSrr rr r rr!wr"cSsg|] }|d‘qSrr rr r rr!xr")rr Ú ctype_fieldsÚextendrrrr)Úselfr r rÚ__init__rs zPerf.perf_event_attr.__init__cs<t|dƒr$||jvr$td ||¡ƒttj|ƒ ||¡dS)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__r rr,zsz Perf.perf_event_attr.__setattr__)rrr Z _anonymous_r rr rrrrZc_intZc_uint16r r&r,Ú __classcell__r r r/rr+1st                                  Ê9r+i*rrréiéi$@i$z libc.so.6T)Z use_errnoéÿÿÿÿcCs¦t tjt |¡||dtj¡}|dkr>t ¡}t|t  |¡ƒ‚|j tj krvt  |tj d¡dkrvt ¡}t|t  |¡ƒ‚t  |tjd¡dkr¢t ¡}t|t  |¡ƒ‚dS)Nr4rzcommon_pid == -17)rÚsyscallÚNR_PERF_EVENT_OPENr ZbyrefÚPERF_FLAG_FD_CLOEXECZ get_errnoÚOSErrorÚosÚstrerrorrÚPERF_TYPE_TRACEPOINTÚioctlÚPERF_EVENT_IOC_SET_FILTERÚPERF_EVENT_IOC_ENABLE)ÚcpuÚattrÚpidZpfdZerrno_r r rÚ _open_for_cpušs$þ  ÿÿzPerf._open_for_cpucCs\t ¡}||_||_tj|_|dkr2d|_||_nd|_d|_t ƒD]}t  |||¡qDdS)Nrri–˜) rr+rrÚPERF_SAMPLE_RAWrrrrrrB)Z tpoint_idrAZptyperr@r?r r rÚperf_event_open¯s zPerf.perf_event_opencCstƒD]}t |||¡qdS)N)rrrB)r@rAr?r r rÚperf_custom_event_openÁs zPerf.perf_custom_event_openN)r4)r4)rrr r Z Structurer+r6ZPERF_TYPE_HARDWAREZPERF_TYPE_SOFTWAREr;ZPERF_TYPE_HW_CACHErCr7r=r>ZCDLLZlibcr5r<Ú staticmethodrBrDrEr r r rr/s*O ÿ r) Zctypesr r9ZutilsrÚUnionrrrrÚobjectrr r r rÚs