Struct mz_prof::pprof_types::Profile
source · pub struct Profile {Show 14 fields
pub sample_type: Vec<ValueType>,
pub sample: Vec<Sample>,
pub mapping: Vec<Mapping>,
pub location: Vec<Location>,
pub function: Vec<Function>,
pub string_table: Vec<String>,
pub drop_frames: i64,
pub keep_frames: i64,
pub time_nanos: i64,
pub duration_nanos: i64,
pub period_type: Option<ValueType>,
pub period: i64,
pub comment: Vec<i64>,
pub default_sample_type: i64,
}
Fields§
§sample_type: Vec<ValueType>
A description of the samples associated with each Sample.value. For a cpu profile this might be: [[“cpu”,“nanoseconds”]] or [[“wall”,“seconds”]] or [[“syscall”,“count”]] For a heap profile, this might be: [[“allocations”,“count”], [“space”,“bytes”]], If one of the values represents the number of events represented by the sample, by convention it should be at index 0 and use sample_type.unit == “count”.
sample: Vec<Sample>
The set of samples recorded in this profile.
mapping: Vec<Mapping>
Mapping from address ranges to the image/binary/library mapped into that address range. mapping[0] will be the main binary.
location: Vec<Location>
Locations referenced by samples.
function: Vec<Function>
Functions referenced by locations.
string_table: Vec<String>
A common table for strings referenced by various messages. string_table[0] must always be “”.
drop_frames: i64
frames with Function.function_name fully matching the following regexp will be dropped from the samples, along with their successors.
Index into string table.
keep_frames: i64
frames with Function.function_name fully matching the following regexp will be kept, even if it matches drop_frames.
Index into string table.
time_nanos: i64
Time of collection (UTC) represented as nanoseconds past the epoch.
duration_nanos: i64
Duration of the profile, if a duration makes sense.
period_type: Option<ValueType>
The kind of events between sampled occurrences. e.g [ “cpu”,“cycles” ] or [ “heap”,“bytes” ]
period: i64
The number of events between sampled occurrences.
comment: Vec<i64>
Free-form text associated with the profile. The text is displayed as is to the user by the tools that read profiles (e.g. by pprof). This field should not be used to store any machine-readable information, it is only for human-friendly content. The profile must stay functional if this field is cleaned.
Indices into string table.
default_sample_type: i64
Index into the string table of the type of the preferred sample value. If unset, clients should default to the last sample value.
Trait Implementations§
source§impl Message for Profile
impl Message for Profile
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
.impl StructuralPartialEq for Profile
Auto Trait Implementations§
impl Freeze for Profile
impl RefUnwindSafe for Profile
impl Send for Profile
impl Sync for Profile
impl Unpin for Profile
impl UnwindSafe for Profile
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,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request