bpf-loader-lib 0.2.1

A library to load json-described ebpf programs, and automatically poll outputs from the program
Documentation
ELF�@w@@��c��c��c��c��c��c��c��c��c��c��c��c��c���w c
���{
����������������yU%�#a���c�������������q��y�����������q��������aaW����������c�-�����������������{��{��{��{����w c��g w ]N����������ya�yU=�������yy-q2�#�{z��a���c�����c��������q��y�����������q�0��������c�qa���wW�c�����������}{
����������������e���������Dual BSD/GPLerror: %ld
��$:$:�(   	.2
8@ KP@\�`
�fq8|� �@��� KP@\
�`���(�
|@�`�����  KP@\
�`���� �#@|`�%�"K!."4"| BQ_$c
im&3���?)K+�Q-�W.. ]@d`k2�vz �*@�6������� �@�`���7��9�G�I�J���%�5U>W@HZ�S=�Y[h;@z\}\@�]��n� �`!��!��!��!�*"�@"�`"�a"�b"c""�",�"6�"F�"Z�"a*�"np#|�$|�$�*�$�6%�6@%�=�%�=&�6�&�=�&�=@'���'��(�=*�=�*�+
�@+��++�+1,7@,=��,J*@-P*�-W�-b.q*@.y*�.���.��@1���1���1��2�@2���2��3��@3���3��4��@4���4���4��5�@5��5��5'*�61��6=7J�@7U��7c��7l�7v�8~�8��8��9�� 9��@9���9�6:��@:�-�:���:��;��@;��;��;�<.*@<=��<J��<O�>]�>j?w�@?���?��?��?��@�=@@���@��A�=@A	��A	�B#	C/	�@C?	��CP	=�D`	k@Ej	��Er	��E�	��E�	#F�	*@F�	��F�G�	��G�	��G�	�@H�	�H�	�H�	*�H�	I
@I
*�I
*�I.
�J4
@JG
6�JW
��Je
.Kt
-@K}
�K�
�K�
�K�
�K>�
�L�
�N?.*�
#@�
@	,�
@�
/�
�
0�
135@$/434<0(8
xD�Q:V;�_=@��fj@{�����?@�
�C@
�D�
�D�
�*�E��*�#@��*<@<�;"/>,>@=1�BM@V�a�jw@�����@�@������@��
�
8
@M
�X
�h
{
@�
��
��
�
@�
��
A�
B�
@9S	@@&�3#�<#�K*T*@a*�jF�js| �0�=�*��*���! �!0�H@G~����;����@���@@.��)�4�?�Q�\K�eK�t@|L�M�N@�R�KS��S��S��S�� |;�M��@O
PQ���K^T"V
W
XY*H $*+
@5
�B
�N(�Y=@c=�e�(mtm@_y��*�*@�^��^��;�*��\�`@�*��c��=��d@�e��*�g-@ h�4k�>lQaZZba* m;p*�Lf
�Z�i�j@d>^���o n0�qt@r
,sp(�u�w�~(�v�#@.#`�#����v#�xKz {@���y�$.8|=}Kh IN@S`_*�f*�son/�y�@���U=+1@������������0���SS�������!�P���@�`
&�@-=�E=�T<@=�<��
Vbf`i�zs|=\[g|{���Y��=��������*�M�������v���@y���	�/��wOPtN`R�a,8?E@K�Q�Wb@n���Y����WuT]� �h��@��`�=���0�����@����=�
���+=6=�D=T�^�h�r�z� �@�.`�6������@������-@���r�@�/��@�
��#v)>�C�@R�H[Xu�z�.��q����$@�$`i}�������*��!�!�! �!0�*@�*����*��**@*�*�)*@3�>�Q U
�a�h�n� K�(t�,v�-z�/|�0��4��5��6��7��8���D��=�=��=_;��@�=����=�� 
@������-K�@$`���1i�=P@c�j�z���
���
���
��i��h@�i��i����=�����v��=�6���
0�m�=@!*�-9�@?�F@U`b���r0�~����*����@�����@���
��-�
@
���t
-@=�#4����J����`����w�������������h�5�xK$�$ �@�����@
ABC#D0E?FJGWH�I\JaKnL�M}N�O�Q�R�S�T�U�V�W�XYZ [/\:]B^L_W`^a��k$����s@���$������$@��`��p�$��$�$+$<DP\dkw���
���6~-@�*�K���@�������@����`������
`�@*�*�%6 :@.`C��M�@X�l@p`6�@tKv=~�@(���=���*�*@�S�KS��S�S���@��l����=@Y��|2�3.0@
��=��3�j
�p	
C
�
[�lq@u�~���@��K���@������@���������	�@
��
W�
nk �	�  $ . 7 @ !L %W &b (|#k # v#o # mx � � @� �� *� *@� *�� *�� *� *@� *�� *�� *� *@� *�� *�� *� *@� *�� *��*� *@.*��*�� *QX�_� � *Q@:� *@K!� !"	!$!,!.!2%!	p1!#5!# 9!#@=!#`A!#�E!#�I!#�M!#��
#`#V!1!�5!�9!� c!�0%@g!#�m!#�M!(x!)�*
+�&'�!�!@=!#A!# E!#@I!#`# #@#0�!*�!*�!�1!#5!# 9!#@=!#`A!#�E!#�I!#�M!#��!S`�!Sh�!Sp�!Sx�!S��!S��-��!#c�!@�!$�!/�!1
"@"%"@o 0�SS4}# � �@|���%
i3�#5
z&7
:	
�&9
<�&=@
A	�&?D
E	�&C�&BF�&   �&;>�&8
�&�U��&�&��&'�'"'/'='B'O'Y'h'{'\�'`	�'���'��'�'�'�'�'|((�)(�0(�	A(�Q(`(n(}(�(�(�(�(�(�(int__ARRAY_SIZE_TYPE__pid_t__kernel_pid_tu64__u64unsigned long longtypemax_entrieskeyvalueexec_startevent_execpidppidcommfilenamecharmap_execevent_exitduration_nsexit_codeunsigned intmap_exittrace_event_raw_sched_process_execent__data_loc_filenameold_pid__datatrace_entryflagspreempt_countunsigned shortunsigned charu32__u32ctxhandle_exectp/sched/sched_process_exec/root/eunomia-bpf/bpf-loader-rs/bpf-loader-lib/assets/multiple_export_sample_map/multiple.bpf.cint handle_exec(struct trace_event_raw_sched_process_exec* ctx) {        *p++ = value;    pid = bpf_get_current_pid_tgid() >> 32;    ts = bpf_ktime_get_ns();    bpf_map_update_elem(&exec_start, &pid, &ts, BPF_ANY);    if (min_duration_ns)    task = (struct task_struct*)bpf_get_current_task();    st.pid = pid;task_structthread_infostatestackusageptraceon_cpuwake_entrycpuwakee_flipswakee_flip_decay_tslast_wakeerecent_used_cpuwake_cpuon_rqpriostatic_prionormal_priort_prioritysched_classsertsched_task_groupdlbtrace_seqpolicynr_cpus_allowedcpus_ptrcpus_masksched_infotaskspushable_taskspushable_dl_tasksmmactive_mmvmacacherss_statexit_stateexit_signalpdeath_signaljobctlpersonalitysched_reset_on_forksched_contributes_to_loadsched_migratedsched_remote_wakeupin_execvein_iowaitrestore_sigmaskno_cgroup_migrationfrozenatomic_flagsrestart_blocktgidstack_canaryreal_parentparentchildrensiblinggroup_leaderptracedptrace_entrythread_pidpid_linksthread_groupthread_nodevfork_doneset_child_tidclear_child_tidutimestimegtimeprev_cputimenvcswnivcswstart_timestart_boottimemin_fltmaj_fltposix_cputimersptracer_credreal_credcredcached_requested_keynameidatasysvsemsysvshmfsfilesnsproxysignalsighandblockedreal_blockedsaved_sigmaskpendingsas_ss_spsas_ss_sizesas_ss_flagstask_worksaudit_contextloginuidsessionidseccompparent_exec_idself_exec_idalloc_lockpi_lockwake_qpi_waiterspi_top_taskpi_blocked_onjournal_infobio_listplugreclaim_statebacking_dev_infoio_contextcapture_controlptrace_messagelast_siginfoioacacct_rss_mem1acct_vm_mem1acct_timexpdmems_allowedmems_allowed_seqcpuset_mem_spread_rotorcpuset_slab_spread_rotorcgroupscg_listrobust_listcompat_robust_listpi_state_listpi_state_cachefutex_exit_mutexfutex_stateperf_event_ctxpperf_event_mutexperf_event_listmempolicyil_prevpref_node_forkrseqrseq_sigrseq_event_masktlb_ubcsplice_pipetask_fragdelaysnr_dirtiednr_dirtied_pausedirty_paused_whentimer_slack_nsdefault_timer_slack_nstracetrace_recursionutaskpagefault_disabledoom_reaper_liststack_vm_areastack_refcountsecuritymce_addrmce_ripvmce_whole_page__mce_reservedmce_kill_methreadstatusunsigned longlongrefcount_trefcount_structrefsatomic_tcounter__call_single_nodellistllist_nodenextu_flagsa_flagssched_entityloadrun_nodegroup_nodesum_exec_runtimevruntimeprev_sum_exec_runtimenr_migrationsstatisticsdepthcfs_rqmy_qrunnable_weightavgload_weightweightinv_weightrb_node__rb_parent_colorrb_rightrb_leftlist_headprevsched_statisticswait_startwait_maxwait_countwait_sumiowait_countiowait_sumsleep_startsleep_maxsum_sleep_runtimeblock_startblock_maxexec_maxslice_maxnr_migrations_coldnr_failed_migrations_affinenr_failed_migrations_runningnr_failed_migrations_hotnr_forced_migrationsnr_wakeupsnr_wakeups_syncnr_wakeups_migratenr_wakeups_localnr_wakeups_remotenr_wakeups_affinenr_wakeups_affine_attemptsnr_wakeups_passivenr_wakeups_idles64__s64long longsched_avglast_update_timeload_sumrunnable_sumutil_sumperiod_contribload_avgrunnable_avgutil_avgutil_estenqueuedewmasched_rt_entityrun_listtimeoutwatchdog_stamptime_sliceon_listbacksched_dl_entitydl_runtimedl_deadlinedl_perioddl_bwdl_densityruntimedeadlinedl_throttleddl_boosteddl_yieldeddl_non_contendingdl_overrundl_timerinactive_timerhrtimernode_softexpiresfunctionbaseis_relis_softis_hardtimerqueue_nodeexpiresktime_thrtimer_restartHRTIMER_NORESTARTHRTIMER_RESTARTu8__u8cpumask_tcpumaskbitspcountrun_delaylast_arrivallast_queuedplist_nodeprio_listnode_listseqnumvmasvm_area_structvm_startvm_endvm_nextvm_prevvm_rbrb_subtree_gapvm_mmvm_page_protvm_flagssharedanon_vma_chainanon_vmavm_opsvm_pgoffvm_filevm_private_dataswap_readahead_infovm_policyvm_userfaultfd_ctxpgprot_tpgprotpgprotval_trbrb_subtree_lastatomic_long_tatomic64_ttask_rss_stateventscountfnfutexnanosleeppolluaddrvalbitsettimeuaddr2clockidclockid_t__kernel_clockid_ttimespec_typeTT_NONETT_NATIVETT_COMPATrmtpcompat_rmtpufdsnfdshas_timeouttv_sectv_nsechlist_nodepprevlockraw_spinlock_traw_spinlockraw_lockarch_spinlock_tqspinlocklockedlocked_pendingtailu16__u16basestimers_activeexpiry_activeposix_cputimer_basenextevttqheadtimerqueue_headrb_rootrb_root_cachedrb_leftmostsysv_semundo_listsysv_shmshm_clistsigset_tsigsigpendinglistsize_t__kernel_size_t__kernel_ulong_tkuid_tuid_t__kernel_uid32_tmodefilterspinlock_tspinlockrlockwake_q_nodekernel_siginfo_ttask_io_accountingrcharwcharsyscrsyscwread_byteswrite_bytescancelled_write_bytesnodemask_tseqcount_tseqcountsequencemutexownerwait_lockosqwait_listoptimistic_spin_queueperf_event_contextpmuactive_ctx_listpinned_groupsflexible_groupsevent_listpinned_activeflexible_activenr_eventsnr_activeis_activenr_statnr_freqrotate_disablerotate_necessaryrefcounttasktimestampparent_ctxparent_gengenerationpin_counttask_ctx_datacallback_headperf_event_groupstreeindexfuncshorttlbflush_unmap_batcharchflush_requiredwritablearch_tlbflush_unmap_batchbool_Boolrcu_usersrcupage_fragpageoffsetsizethread_structtls_arrayspesdsfsindexgsindexfsbasegsbaseptrace_bpsdebugreg6ptrace_dr7cr2trap_nrerror_codeio_bitmapiopl_emuladdr_limitsig_on_uaccess_errfpudesc_structlimit0base0base1sdplplimit1avlldgbase2perf_eventevent_entrysibling_listactive_listgroup_indexmigrate_entryhlist_entryactive_entrynr_siblingsevent_capsgroup_capspmu_privateattach_statechild_counttotal_time_enabledtotal_time_runningtstampshadow_ctx_timeattrheader_sizeid_header_sizeread_sizehwchild_total_time_enabledchild_total_time_runningchild_mutexchild_listoncpuowner_entrymmap_mutexmmap_countrb_entryrcu_batchesrcu_pendingwaitqfasyncpending_wakeuppending_killpending_disableevent_limitaddr_filtersaddr_filter_rangesaddr_filters_genaux_eventdestroynsidclockoverflow_handleroverflow_handler_contextorig_overflow_handlerprogtp_eventsb_listperf_event_statePERF_EVENT_STATE_DEADPERF_EVENT_STATE_EXITPERF_EVENT_STATE_ERRORPERF_EVENT_STATE_OFFPERF_EVENT_STATE_INACTIVEPERF_EVENT_STATE_ACTIVElocal64_talocal_tperf_event_attrconfigsample_typeread_formatdisabledinheritpinnedexclusiveexclude_userexclude_kernelexclude_hvexclude_idlemmapfreqinherit_statenable_on_execwatermarkprecise_ipmmap_datasample_id_allexclude_hostexclude_guestexclude_callchain_kernelexclude_callchain_usermmap2comm_execuse_clockidcontext_switchwrite_backwardnamespacesksymbolbpf_eventaux_outputcgroup__reserved_1bp_typebranch_sample_typesample_regs_usersample_stack_usersample_regs_intraux_watermarksample_max_stack__reserved_2aux_sample_size__reserved_3sample_periodsample_freqwakeup_eventswakeup_watermarkbp_addrkprobe_funcuprobe_pathconfig1bp_lenkprobe_addrprobe_offsetconfig2__s32hw_perf_eventtargetprev_countlast_periodperiod_leftinterrupts_seqinterruptsfreq_time_stampfreq_count_stamplast_tagconfig_baseevent_baseevent_base_rdpmcidxlast_cpuextra_regbranch_reghw_perf_event_extraregalloctp_listpwr_accptscinfobp_listarch_hw_breakpointaddressmaskleniommu_bankiommu_cntrpaddingconfconf1wait_queue_head_twait_queue_headheadirq_workllnodeperf_addr_filters_headnr_file_filtersperf_overflow_handler_tperf_sample_dataaddrrawbr_stackperiodtxndata_srciptid_entrystream_idcpu_entrycallchainaux_sizeregs_userregs_user_copyregs_intrstack_user_sizephys_addrperf_mem_data_srcmem_opmem_lvlmem_snoopmem_lockmem_dtlbmem_lvl_nummem_remotemem_snoopxmem_rsvdtidreservedperf_regsabiregspt_regsr15r14r13r12bpbxr11r10r9r8axcxdxsidiorig_axcsssmm_segment_tsegavx512_timestampfpregs_statefsavefxsavesoftxsave__paddingfregs_statecwdswdtwdfipfcsfoofosst_spacefxregs_statefopmxcsrmxcsr_maskxmm_spaceriprdppadding1sw_reservedswregs_stateftopchangedlookaheadno_updatermalimitentry_eipxregs_statei387headerextended_state_areaxstate_headerxfeaturesxcomp_bv0:57    st.ppid = BPF_CORE_READ(task, real_parent, tgid);0:55    bpf_get_current_comm(&st.comm, sizeof(st.comm));0:1    fname_off = ctx->__data_loc_filename & 0xFFFF;                       (void*)ctx + fname_off);    bpf_probe_read_str(&st.filename, sizeof(st.filename),    bpf_map_update_elem(&map_exec, &ts, &st, BPF_ANY);}trace_event_raw_sched_process_templatehandle_exittp/sched/sched_process_exitint handle_exit(struct trace_event_raw_sched_process_template* ctx) {    id = bpf_get_current_pid_tgid();    pid = id >> 32;    tid = (u32)id;    if (pid != tid)    start_ts = bpf_map_lookup_elem(&exec_start, &pid);    if (start_ts)        duration_ns = bpf_ktime_get_ns() - *start_ts;    else if (min_duration_ns)    bpf_map_delete_elem(&exec_start, &pid);    if (min_duration_ns && duration_ns < min_duration_ns)    st.duration_ns = duration_ns;0:38    st.exit_code = (BPF_CORE_READ(task, exit_code) >> 8) & 0xff;    now = bpf_ktime_get_boot_ns();    err = bpf_map_update_elem(&map_exit, &now, &st, BPF_ANY);    if (err < 0) {        bpf_printk("error: %ld\n", err);LICENSEmin_duration_nshandle_exit.____fmt__dummy1__dummy2.bss.maps.rodatalicense__kernel_timespecblk_plugbpf_progcompat_robust_list_headcompletioncss_setevent_filterfasync_structfilefiles_structfs_structfutex_pi_statehrtimer_clock_basekernel_siginfomath_emu_infomm_structold_timespec32perf_addr_filter_rangeperf_branch_stackperf_bufferperf_callchain_entryperf_raw_recordpid_namespacepipe_inode_infopollfdrobust_list_headrt_mutex_waiterseccomp_filtersem_undo_listsighand_structsignal_structtask_delay_infotask_grouptrace_event_calluprobe_taskvm_operations_structvm_struct�� $$��ty'�#6y����7�x�M���M&���M	���y
���y����������	����	���!�!�!0��!8�3"h�3"x�3"��n"��n"���"���"# ��
#��
#���!�D#$(�{#,�#,��#8�7�(�$
`0�7$d@�7$	dH�K$hX�^$	th�p�r$����$	����$����$,����$*����$����$�����%��;%	�(�;%�0�;%*�8�;%	�@��!�P�u%�X�!�`�!����!���3"���3"���3"����!����%���%���%4� ��%:�(��%�0�n"�@�n"�P��%�X��%	�h��!���&���>&	���Q&	���{#�y(."P(i"��"�#h(."�(i"�(�%(�����@�8	 s�	  \�S	@ �
#

��
p����	7(7@7L7
X7p7|7	�7,<P`p�������� 0@P`p��������(8HXhx��������(8HXhx��������(8HXhx�������,	.text.rel.BTF.extexec_starthandle_exit.____fmt.reltp/sched/sched_process_exitmap_exithandle_exit.bss.mapsmin_duration_ns.llvm_addrsiglicense.reltp/sched/sched_process_execmap_exechandle_exec.strtab.symtab.rodata.rel.BTFLICENSELBB1_8LBB1_6LBB1_4LBB1_3__dummy2LBB0_2__dummy1�v,@�@8�	@p07x�3	@8p`�X
�hm�`h���c�	@�p�i<	@q�
�L�o�v�@n�