pub struct ProfilerConfig {Show 15 fields
pub skip_idle: bool,
pub stream_mode: u8,
pub frequency: u64,
pub kprobe: Option<String>,
pub uprobe: Option<UProbeConfig>,
pub smart_uprobe: Option<SmartUProbeConfig>,
pub tracepoint: Option<String>,
pub raw_tracepoint: Option<String>,
pub raw_tracepoint_task_regs: Option<String>,
pub raw_tracepoint_generic: Option<String>,
pub target_syscall_nr: i64,
pub pid: Option<u32>,
pub cpu: Option<u32>,
pub self_profile: bool,
pub dwarf: bool,
}Fields§
§skip_idle: bool§stream_mode: u8§frequency: u64§kprobe: Option<String>§uprobe: Option<UProbeConfig>Legacy single-target uprobe config (backward compat).
smart_uprobe: Option<SmartUProbeConfig>New smart uprobe config with multi-attach support.
tracepoint: Option<String>§raw_tracepoint: Option<String>Raw tracepoint name for syscall raw_tp (e.g., “sys_enter”). Uses collect_trace_raw_syscall which reads pt_regs from args[0].
raw_tracepoint_task_regs: Option<String>Raw tracepoint name for generic raw_tp with task pt_regs (e.g., “sched_switch”). Uses bpf_get_current_task_btf() + bpf_task_pt_regs() for full FP/DWARF unwinding. Requires kernel >= 5.15; falls back to raw_tracepoint_generic on older kernels.
raw_tracepoint_generic: Option<String>Raw tracepoint name for generic raw_tp (e.g., “sched_switch”). Uses collect_trace_raw_tp_generic which relies on bpf_get_stackid only.
target_syscall_nr: i64Target syscall number for raw tracepoint filtering (-1 = all).
pid: Option<u32>§cpu: Option<u32>§self_profile: bool§dwarf: boolAuto Trait Implementations§
impl Freeze for ProfilerConfig
impl RefUnwindSafe for ProfilerConfig
impl Send for ProfilerConfig
impl Sync for ProfilerConfig
impl Unpin for ProfilerConfig
impl UnwindSafe for ProfilerConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more