pub struct ProgramInfo {Show 26 fields
pub name: CString,
pub ty: ProgramType,
pub tag: Tag,
pub id: u32,
pub jited_prog_insns: Vec<u8>,
pub xlated_prog_insns: Vec<u8>,
pub load_time: Duration,
pub created_by_uid: u32,
pub map_ids: Vec<u32>,
pub ifindex: u32,
pub gpl_compatible: bool,
pub netns_dev: u64,
pub netns_ino: u64,
pub jited_ksyms: Vec<*const c_void>,
pub jited_func_lens: Vec<u32>,
pub btf_id: u32,
pub func_info_rec_size: u32,
pub func_info: Vec<bpf_func_info>,
pub line_info: Vec<LineInfo>,
pub jited_line_info: Vec<*const c_void>,
pub line_info_rec_size: u32,
pub jited_line_info_rec_size: u32,
pub prog_tags: Vec<Tag>,
pub run_time_ns: u64,
pub run_cnt: u64,
pub recursion_misses: u64,
}Expand description
Information about a BPF program. Maps to struct bpf_prog_info in kernel uapi.
Fields§
§name: CStringA user-defined name for the BPF program (null-terminated string).
ty: ProgramTypeThe type of the program.
tag: TagAn 8-byte hash (BPF_TAG_SIZE) computed from the program’s
contents; used to detect changes in the program code.
id: u32A unique identifier for the program instance.
jited_prog_insns: Vec<u8>JIT-compiled instructions.
xlated_prog_insns: Vec<u8>Translated BPF instructions in an intermediate representation.
load_time: DurationTime (since system boot) at which the program was loaded.
created_by_uid: u32UID of the user who loaded the program.
map_ids: Vec<u32>Array of map IDs associated with this program.
ifindex: u32Network interface index if the program is attached to a specific device.
gpl_compatible: boolWhether the program is GPL compatible.
netns_dev: u64Device ID of the network namespace that the program is associated with.
netns_ino: u64Inode number of the network namespace associated with the program.
jited_ksyms: Vec<*const c_void>Number of kernel symbols in the JITed code (if available).
jited_func_lens: Vec<u32>Number of function length records available for the JITed code.
btf_id: u32Identifier of the associated BTF (BPF Type Format) data.
func_info_rec_size: u32Size (in bytes) of each record in the function info array.
func_info: Vec<bpf_func_info>Array of function info records for this program.
line_info: Vec<LineInfo>Array of line info records mapping BPF instructions to source code lines.
jited_line_info: Vec<*const c_void>Line info records for the JIT-compiled code.
line_info_rec_size: u32Size (in bytes) of each line info record.
jited_line_info_rec_size: u32Size (in bytes) of each record in the JITed line info array.
Array of program tags.
run_time_ns: u64Total accumulated run time (in nanoseconds) for the program’s execution.
run_cnt: u64Total number of times the program has been executed.
recursion_misses: u64Skipped BPF executions due to recursion or concurrent execution prevention.
Trait Implementations§
Source§impl Clone for ProgramInfo
impl Clone for ProgramInfo
Source§fn clone(&self) -> ProgramInfo
fn clone(&self) -> ProgramInfo
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more