pub struct EbpfProfiler {
pub bpf: Ebpf,
pub stack_traces: StackTraceMap<MapData>,
pub counts: HashMap<MapData, StackInfoPod, u64>,
pub stacked_pointers: HashMap<MapData, StackInfoPod, FramePointersPod>,
}Expand description
Wrapper for eBPF stuff
Fields§
§bpf: Ebpf§stack_traces: StackTraceMap<MapData>eBPF stacktrace map
counts: HashMap<MapData, StackInfoPod, u64>Count stacktraces
stacked_pointers: HashMap<MapData, StackInfoPod, FramePointersPod>Custom storage of StackTrace IPs
Implementations§
Source§impl EbpfProfiler
impl EbpfProfiler
Sourcepub fn set_target_pid(&mut self, pid: u32) -> Result<(), Error>
pub fn set_target_pid(&mut self, pid: u32) -> Result<(), Error>
Set the target PID for eBPF filtering (0 = profile all processes)
Sourcepub fn load_dwarf_unwind_tables(
&mut self,
manager: &DwarfUnwindManager,
) -> Result<(), Error>
pub fn load_dwarf_unwind_tables( &mut self, manager: &DwarfUnwindManager, ) -> Result<(), Error>
Load DWARF unwind tables into eBPF maps for a process
Sourcepub fn update_dwarf_tables(
&mut self,
manager: &DwarfUnwindManager,
new_shard_ids: &[u8],
) -> Result<(), Error>
pub fn update_dwarf_tables( &mut self, manager: &DwarfUnwindManager, new_shard_ids: &[u8], ) -> Result<(), Error>
Incrementally update eBPF maps with new unwind shard entries, and refresh all proc_info entries.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for EbpfProfiler
impl RefUnwindSafe for EbpfProfiler
impl Send for EbpfProfiler
impl Sync for EbpfProfiler
impl Unpin for EbpfProfiler
impl UnwindSafe for EbpfProfiler
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