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§impl Debug for ProcessTree
impl Debug for ProcessTree
Source§impl Default for ProcessTree
impl Default for 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.