pub struct ProcessHeapSamples {Show 14 fields
pub pid: Option<u64>,
pub from_startup: Option<bool>,
pub rejected_concurrent: Option<bool>,
pub disconnected: Option<bool>,
pub buffer_overran: Option<bool>,
pub client_error: Option<i32>,
pub buffer_corrupted: Option<bool>,
pub hit_guardrail: Option<bool>,
pub heap_name: Option<String>,
pub sampling_interval_bytes: Option<u64>,
pub orig_sampling_interval_bytes: Option<u64>,
pub timestamp: Option<u64>,
pub stats: Option<ProcessStats>,
pub samples: Vec<HeapSample>,
}Fields§
§pid: Option<u64>§from_startup: Option<bool>This process was profiled from startup. If false, this process was already running when profiling started.
rejected_concurrent: Option<bool>This process was not profiled because a concurrent session was active. If this is true, samples will be empty.
disconnected: Option<bool>This process disconnected while it was profiled. If false, the process outlived the profiling session.
buffer_overran: Option<bool>If disconnected, this disconnect was caused by the client overrunning the buffer. Equivalent to client_error == CLIENT_ERROR_HIT_TIMEOUT on new S builds.
client_error: Option<i32>§buffer_corrupted: Option<bool>If disconnected, this disconnected was caused by the shared memory buffer being corrupted. THIS IS ALWAYS A BUG IN HEAPPROFD OR CLIENT MEMORY CORRUPTION.
hit_guardrail: Option<bool>If disconnected, this disconnect was caused by heapprofd exceeding guardrails during this profiling session.
heap_name: Option<String>§sampling_interval_bytes: Option<u64>§orig_sampling_interval_bytes: Option<u64>§timestamp: Option<u64>Timestamp of the state of the target process that this dump represents. This can be different to the timestamp of the TracePackets for various reasons:
- If disconnected is set above, this is the timestamp of last state heapprofd had of the process before it disconnected.
- Otherwise, if the rate of events produced by the process is high, heapprofd might be behind.
TODO(fmayer): This is MONOTONIC_COARSE. Refactor ClockSnapshot::Clock to have a type enum that we can reuse here.
stats: Option<ProcessStats>Metadata about heapprofd.
samples: Vec<HeapSample>Implementations§
Source§impl ProcessHeapSamples
impl ProcessHeapSamples
Sourcepub fn from_startup(&self) -> bool
pub fn from_startup(&self) -> bool
Returns the value of from_startup, or the default value if from_startup is unset.
Sourcepub fn rejected_concurrent(&self) -> bool
pub fn rejected_concurrent(&self) -> bool
Returns the value of rejected_concurrent, or the default value if rejected_concurrent is unset.
Sourcepub fn disconnected(&self) -> bool
pub fn disconnected(&self) -> bool
Returns the value of disconnected, or the default value if disconnected is unset.
Sourcepub fn buffer_overran(&self) -> bool
pub fn buffer_overran(&self) -> bool
Returns the value of buffer_overran, or the default value if buffer_overran is unset.
Sourcepub fn buffer_corrupted(&self) -> bool
pub fn buffer_corrupted(&self) -> bool
Returns the value of buffer_corrupted, or the default value if buffer_corrupted is unset.
Sourcepub fn timestamp(&self) -> u64
pub fn timestamp(&self) -> u64
Returns the value of timestamp, or the default value if timestamp is unset.
Sourcepub fn hit_guardrail(&self) -> bool
pub fn hit_guardrail(&self) -> bool
Returns the value of hit_guardrail, or the default value if hit_guardrail is unset.
Sourcepub fn heap_name(&self) -> &str
pub fn heap_name(&self) -> &str
Returns the value of heap_name, or the default value if heap_name is unset.
Sourcepub fn sampling_interval_bytes(&self) -> u64
pub fn sampling_interval_bytes(&self) -> u64
Returns the value of sampling_interval_bytes, or the default value if sampling_interval_bytes is unset.
Sourcepub fn orig_sampling_interval_bytes(&self) -> u64
pub fn orig_sampling_interval_bytes(&self) -> u64
Returns the value of orig_sampling_interval_bytes, or the default value if orig_sampling_interval_bytes is unset.
Sourcepub fn client_error(&self) -> ClientError
pub fn client_error(&self) -> ClientError
Returns the enum value of client_error, or the default if the field is unset or set to an invalid enum value.
Sourcepub fn set_client_error(&mut self, value: ClientError)
pub fn set_client_error(&mut self, value: ClientError)
Sets client_error to the provided enum value.
Trait Implementations§
Source§impl Clone for ProcessHeapSamples
impl Clone for ProcessHeapSamples
Source§fn clone(&self) -> ProcessHeapSamples
fn clone(&self) -> ProcessHeapSamples
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ProcessHeapSamples
impl Debug for ProcessHeapSamples
Source§impl Default for ProcessHeapSamples
impl Default for ProcessHeapSamples
Source§fn default() -> ProcessHeapSamples
fn default() -> ProcessHeapSamples
Source§impl Message for ProcessHeapSamples
impl Message for ProcessHeapSamples
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 ProcessHeapSamples
impl PartialEq for ProcessHeapSamples
impl StructuralPartialEq for ProcessHeapSamples
Auto Trait Implementations§
impl Freeze for ProcessHeapSamples
impl RefUnwindSafe for ProcessHeapSamples
impl Send for ProcessHeapSamples
impl Sync for ProcessHeapSamples
impl Unpin for ProcessHeapSamples
impl UnwindSafe for ProcessHeapSamples
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].