pub struct UnifiedCaptureBackend { /* private fields */ }Expand description
Unified capture backend
This backend automatically detects the best tracking strategy based on the runtime environment for capturing events.
Implementations§
Source§impl UnifiedCaptureBackend
impl UnifiedCaptureBackend
Sourcepub fn backend_type(&self) -> CaptureBackendType
pub fn backend_type(&self) -> CaptureBackendType
Get which backend type was selected.
Sourcepub fn refresh_backend(&mut self)
pub fn refresh_backend(&mut self)
Refresh the backend selection based on current runtime environment.
This allows switching to a more appropriate backend if the runtime conditions have changed (e.g., from single-threaded to multi-threaded).
Note: This replaces the inner backend with a new instance, so any internal state is lost.
Trait Implementations§
Source§impl CaptureBackend for UnifiedCaptureBackend
impl CaptureBackend for UnifiedCaptureBackend
Source§fn capture_alloc(&self, ptr: usize, size: usize, thread_id: u64) -> MemoryEvent
fn capture_alloc(&self, ptr: usize, size: usize, thread_id: u64) -> MemoryEvent
Capture an allocation event
Source§fn capture_dealloc(
&self,
ptr: usize,
size: usize,
thread_id: u64,
) -> MemoryEvent
fn capture_dealloc( &self, ptr: usize, size: usize, thread_id: u64, ) -> MemoryEvent
Capture a deallocation event
Source§fn capture_realloc(
&self,
ptr: usize,
old_size: usize,
new_size: usize,
thread_id: u64,
) -> MemoryEvent
fn capture_realloc( &self, ptr: usize, old_size: usize, new_size: usize, thread_id: u64, ) -> MemoryEvent
Capture a reallocation event
Source§fn capture_move(
&self,
from_ptr: usize,
to_ptr: usize,
size: usize,
thread_id: u64,
) -> MemoryEvent
fn capture_move( &self, from_ptr: usize, to_ptr: usize, size: usize, thread_id: u64, ) -> MemoryEvent
Capture a move event
Auto Trait Implementations§
impl Freeze for UnifiedCaptureBackend
impl !RefUnwindSafe for UnifiedCaptureBackend
impl Send for UnifiedCaptureBackend
impl Sync for UnifiedCaptureBackend
impl Unpin for UnifiedCaptureBackend
impl UnsafeUnpin for UnifiedCaptureBackend
impl !UnwindSafe for UnifiedCaptureBackend
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more