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: CString
A user-defined name for the BPF program (null-terminated string).
ty: ProgramType
The type of the program.
tag: Tag
An 8-byte hash (BPF_TAG_SIZE
) computed from the program’s
contents; used to detect changes in the program code.
id: u32
A 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: Duration
Time (since system boot) at which the program was loaded.
created_by_uid: u32
UID of the user who loaded the program.
map_ids: Vec<u32>
Array of map IDs associated with this program.
ifindex: u32
Network interface index if the program is attached to a specific device.
gpl_compatible: bool
Whether the program is GPL compatible.
netns_dev: u64
Device ID of the network namespace that the program is associated with.
netns_ino: u64
Inode 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: u32
Identifier of the associated BTF (BPF Type Format) data.
func_info_rec_size: u32
Size (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: u32
Size (in bytes) of each line info record.
jited_line_info_rec_size: u32
Size (in bytes) of each record in the JITed line info array.
Array of program tags.
run_time_ns: u64
Total accumulated run time (in nanoseconds) for the program’s execution.
run_cnt: u64
Total number of times the program has been executed.
recursion_misses: u64
Skipped 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