JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr O6ufq 8ddlZddlmZmZmZGddeeZy)N)PluginIndependentPlugin PluginOptcHeZdZdZdZdZdZeddedgZ d Z d Z d Z y) Ebpfz eBPF toolebpf)systemkernelnetwork)bpftool namespacesNz0Number of namespaces to collect, 0 for unlimited)defaultval_typedesccg} tj|}t |D]\}}d|vs |j |d |S#t$r }|jd||cYd}~Sd}~wwxYw)z! Collect the list of program IDs z"Couldn't parse bpftool prog list: Nidjsonloads Exception _log_info enumerateappend)self prog_jsonout prog_dataerr_items 9/usr/lib/python3/dist-packages/sos/report/plugins/ebpf.pyget_bpftool_prog_idszEbpf.get_bpftool_prog_idss}  9-I!+ 'GAtt| 4:& '   NN?uE FJ A A0A+%A0+A0cg} tj|}t |D]\}}d|vs |j |d |S#t$r }|jd||cYd}~Sd}~wwxYw)z Collect the list of mapIDs z"Could not parse bpftool map list: Nrr)rmap_jsonrmap_datarrr s r!get_bpftool_map_idszEbpf.get_bpftool_map_ids&s} zz(+H!* 'GAtt| 4:& '   NN?uE FJ r#c|jd}|j|dD] }dD]}|jd|d|"|jd}|j|dD]}|jd||jgdd }|j d }|j | D]}||zd z} |j| d z y)Nzbpftool -j prog listoutput)xlatedjitedzbpftool prog dump z id zbpftool -j map listzbpftool map dump id )zbpftool prog listzbpftool map listzbpftool cgroup treebpftool net listzbpftool struct_ops dumpzip netns exec r )ns_max r,)collect_cmd_outputr"add_cmd_outputr' get_optionget_network_namespaces) rprogsprog_iddumpcmdmapsmap_id cmd_prefixnsps namespace ns_cmd_prefixs r!setupz Ebpf.setup3s''(>?00xA 2G. 2##&8 '.i%12 2 2 &&'<=..tH~> AF   "6vh ? @ A   & |,44D4A DI&2S8M    0B B C D) __name__ __module__ __qualname__ short_desc plugin_nameprofilescommandsrint option_listr"r'r<r=r!rr sAJK.HH ,sI KK  Dr=r)rsos.report.pluginsrrrrrGr=r!rIs# CCED6$EDr=