pub struct ProcessTree {
pub processes: Vec<Process>,
pub threads: Vec<Thread>,
pub collection_end_timestamp: Option<u64>,
}Expand description
Metadata about the processes and threads in the trace. Note: this proto was designed to be filled in by traced_probes and should only be populated with accurate information coming from the system. Other trace writers should prefer to fill ThreadDescriptor and ProcessDescriptor in TrackDescriptor.
Fields§
§processes: Vec<Process>List of processes and threads in the client. These lists are incremental and not exhaustive. A process and its threads might show up separately in different ProcessTree messages. A thread might event not show up at all, if no sched_switch activity was detected, for instance: #0 { processes: [{pid: 10, …}], threads: [{pid: 11, tgid: 10}] } #1 { threads: [{pid: 12, tgid: 10}] } #2 { processes: [{pid: 20, …}], threads: [{pid: 13, tgid: 10}] }
threads: Vec<Thread>§collection_end_timestamp: Option<u64>The time at which we finish collecting this process tree; the top-level packet timestamp is the time at which we begin collection.
Implementations§
Source§impl ProcessTree
impl ProcessTree
Sourcepub fn collection_end_timestamp(&self) -> u64
pub fn collection_end_timestamp(&self) -> u64
Returns the value of collection_end_timestamp, or the default value if collection_end_timestamp is unset.
Trait Implementations§
Source§impl Clone for ProcessTree
impl Clone for ProcessTree
Source§fn clone(&self) -> ProcessTree
fn clone(&self) -> ProcessTree
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ProcessTree
impl Debug for ProcessTree
Source§impl Default for ProcessTree
impl Default for ProcessTree
Source§fn default() -> ProcessTree
fn default() -> ProcessTree
Source§impl Message for ProcessTree
impl Message for ProcessTree
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.Source§impl PartialEq for ProcessTree
impl PartialEq for ProcessTree
impl StructuralPartialEq for ProcessTree
Auto Trait Implementations§
impl Freeze for ProcessTree
impl RefUnwindSafe for ProcessTree
impl Send for ProcessTree
impl Sync for ProcessTree
impl Unpin for ProcessTree
impl UnwindSafe for ProcessTree
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].