+
    Û1jq  ã                   ó:   € ^ RI t ^ RIHtHtHt  ! R R]]4      tR# )é    N)ÚPluginÚIndependentPluginÚ	PluginOptc                   ó\   a € ] tR t^t o RtRtRtRt]! RR]	RR7      .t
R tR tR	 tR
tV tR# )ÚEbpfz	eBPF toolÚebpfÚ
namespacesNz0Number of namespaces to collect, 0 for unlimited)ÚdefaultÚval_typeÚdescc                óþ   € . p \         P                  ! V4      p\	        T4       F&  w  rVRT9   g   K  TP                  TR,          4       K(  	  T#   \         d!   pT P                  RT 24       Tu Rp?# Rp?ii ; i)z Collect the list of program IDs z"Couldn't parse bpftool prog list: NÚid©ÚjsonÚloadsÚ	ExceptionÚ	_log_infoÚ	enumerateÚappend)ÚselfÚ	prog_jsonÚoutÚ	prog_dataÚerrÚ_Úitems   &&     Ú9/usr/lib/python3/dist-packages/sos/report/plugins/ebpf.pyÚget_bpftool_prog_idsÚEbpf.get_bpftool_prog_ids   sv   € àˆð	ÜŸ
š
 9Ó-ˆIô ! Ö+‰GˆAØ�tŽ|Ø—
‘
˜4 �:Ö&ñ ,ð ˆ
øô ô 	Ø�N‰NÐ?À¸uÐEÔFØ�Jûð	úó   „A ÁA<ÁA7Á1A<Á7A<c                óþ   € . p \         P                  ! V4      p\	        T4       F&  w  rVRT9   g   K  TP                  TR,          4       K(  	  T#   \         d!   pT P                  RT 24       Tu Rp?# Rp?ii ; i)zCollect the list of mapIDs z"Could not parse bpftool map list: Nr   r   )r   Úmap_jsonr   Úmap_datar   r   r   s   &&     r   Úget_bpftool_map_idsÚEbpf.get_bpftool_map_ids&   sv   € àˆð	Ü—z’z (Ó+ˆHô ! Ö*‰GˆAØ�tŽ|Ø—
‘
˜4 �:Ö&ñ +ð ˆ
øô ô 	Ø�N‰NÐ?À¸uÐEÔFØ�Jûð	úr    c                óú  € V P                  R 4      pV P                  VR,          4       F#  pR F  pV P                  RV RV 24       K  	  K%  	  V P                  R4      pV P                  VR,          4       F  pV P                  RV 24       K  	  V P                  . RO4       RpV P	                  R4      pV P                  VR	7       F*  pWh,           R
,           p	V P                  V	R,           4       K,  	  R# )zbpftool -j prog listÚoutputzbpftool prog dump z id zbpftool -j map listzbpftool map dump id úbpftool net listzip netns exec r	   )Úns_maxÚ N)ÚxlatedÚjited)zbpftool prog listzbpftool map listzbpftool cgroup treer(   zbpftool struct_ops dump)Úcollect_cmd_outputr   Úadd_cmd_outputr$   Ú
get_optionÚget_network_namespaces)
r   ÚprogsÚprog_idÚdumpcmdÚmapsÚmap_idÚ
cmd_prefixÚnspsÚ	namespaceÚns_cmd_prefixs
   &         r   ÚsetupÚ
Ebpf.setup3   sþ   € à×'Ñ'Ð(>Ó?ˆØ×0Ñ0°°xµÖAˆGÛ.�Ø×#Ñ#Ð&8¸¸	ÀØ'. ið%1ö 2ó /ñ Bð
 ×&Ñ&Ð'<Ó=ˆØ×.Ñ.¨t°H­~Ö>ˆFØ×ÑÐ"6°v°hÐ ?Ö@ñ ?ð 	×Ñò 
ô 	ð &ˆ
Ø�‰˜|Ó,ˆØ×4Ñ4¸DÐ4ÖAˆIØ&Õ2°SÕ8ˆMØ×Ñ Ð0BÕ BÖCó Bó    © )ÚsystemÚkernelÚnetwork)Úbpftool)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú
short_descÚplugin_nameÚprofilesÚcommandsr   ÚintÚoption_listr   r$   r:   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r   r      sJ   ø‡ € à€JØ€KØ.€HØ€Hñ 	�,¨°sØIô	Kð€Kò
ò÷Dð Dr<   r   )r   Úsos.report.pluginsr   r   r   r   r=   r<   r   Ú<module>rP      s#   ðó ß CÑ CôEDˆ6Ð$ö EDr<   