pub struct TraceEventQueueList {
pub queues: Vec<Arc<TraceEventQueue>>,
/* private fields */
}Fields§
§queues: Vec<Arc<TraceEventQueue>>Implementations§
Source§impl TraceEventQueueList
impl TraceEventQueueList
pub fn from(kernel: &Kernel) -> Arc<Self> ⓘ
pub fn is_enabled(&self) -> bool
pub fn buffer_size_kb(&self) -> usize
Sourcepub fn set_buffer_size_kb(&self, size_kb: usize) -> Result<usize, Errno>
pub fn set_buffer_size_kb(&self, size_kb: usize) -> Result<usize, Errno>
Replaces every queue’s ring buffer with an empty one of at least size_kb KiB, rounded up
to whole pages and to LocklessRingBuffer’s 3-page minimum, and returns the size used.
The new buffers keep the current tracing_on state.
Unlike Linux ring_buffer_resize(), which adds or removes pages in place, this discards
every unread event, including events from writers still holding the old buffer. The old
buffer’s dropped-page count is discarded too, so DROPPED_PAGES misses it.
Sourcepub fn enable(&self) -> Result<(), Errno>
pub fn enable(&self) -> Result<(), Errno>
Enables every queue. A queue that is already enabled is left alone, as Linux
rb_simple_write() does when tracing_on is set to its current state. Unlike Linux, which
keeps the buffer readable after tracing_on is cleared, disable() discards each queue’s
contents, so enabling a disabled queue starts from empty.
pub fn disable(&self) -> Result<(), Errno>
Auto Trait Implementations§
impl !Freeze for TraceEventQueueList
impl !RefUnwindSafe for TraceEventQueueList
impl !UnwindSafe for TraceEventQueueList
impl Send for TraceEventQueueList
impl Sync for TraceEventQueueList
impl Unpin for TraceEventQueueList
impl UnsafeUnpin for TraceEventQueueList
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
Source§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
Source§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
§impl<F, N> FidlIntoNative<Box<N>> for Fwhere
F: FidlIntoNative<N>,
impl<F, N> FidlIntoNative<Box<N>> for Fwhere
F: FidlIntoNative<N>,
fn fidl_into_native(self) -> Box<N>
§impl<T> InstanceFromServiceTransport<T> for T
impl<T> InstanceFromServiceTransport<T> for T
§fn from_service_transport(handle: T) -> T
fn from_service_transport(handle: T) -> T
T to [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> ⓘ
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> ⓘ
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