pub struct PidKoidSession { /* private fields */ }Expand description
A reader’s session and query interface for pid/koid mappings. Recording in the kernel stays active while at least one session is held across any client; dropping the session ends this client’s interest. When all active sessions have been dropped, the shared map is released and recording ceases.
Resolution queries are only reachable through a session, which enforces at compile time that lookups happen while recording is active.
Implementations§
Source§impl PidKoidSession
impl PidKoidSession
Sourcepub fn resolve_tid_to_koid(&self, tid: tid_t) -> Option<Koid>
pub fn resolve_tid_to_koid(&self, tid: tid_t) -> Option<Koid>
Forward resolution: maps a Linux tid to its thread koid, returning None on a miss.
Sourcepub fn resolve_pid_to_koid(&self, pid: pid_t) -> Option<Koid>
pub fn resolve_pid_to_koid(&self, pid: pid_t) -> Option<Koid>
Forward resolution: maps a Linux pid to its process koid, returning None on a miss.
Sourcepub fn resolve_koids(&self, pkoid: Koid, tkoid: Koid) -> Option<LinuxIdentity>
pub fn resolve_koids(&self, pkoid: Koid, tkoid: Koid) -> Option<LinuxIdentity>
Reverse resolution: maps sampled (process koid, thread koid) to Linux identity,
with negative caching for native Fuchsia processes. See
TracePerformanceEventManager::resolve_koids.
Trait Implementations§
Source§impl Drop for PidKoidSession
impl Drop for PidKoidSession
Auto Trait Implementations§
impl !RefUnwindSafe for PidKoidSession
impl !UnwindSafe for PidKoidSession
impl Freeze for PidKoidSession
impl Send for PidKoidSession
impl Sync for PidKoidSession
impl Unpin for PidKoidSession
impl UnsafeUnpin for PidKoidSession
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