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>Useful program location
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: i64frames 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: i64frames with Function.function_name fully matching the following regexp will be kept, even if it matches drop_frames.
Index into string table.
time_nanos: i64Time of collection (UTC) represented as nanoseconds past the epoch.
duration_nanos: i64Duration of the profile, if a duration makes sense.
period_type: Option<ValueType>The kind of events between sampled ocurrences. e.g [ “cpu”,“cycles” ] or [ “heap”,“bytes” ]
period: i64The number of events between sampled occurrences.
comment: Vec<i64>Freeform text associated to the profile.
Indices into string table.
default_sample_type: i64Index into the string table of the type of the preferred sample value. If unset, clients should default to the last sample value.
Trait Implementations
sourceimpl Message for Profile
impl Message for Profile
sourcefn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
sourcefn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
Encodes the message to a buffer. Read more
sourcefn encode_to_vec(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
fn encode_to_vec(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
Encodes the message to a newly allocated buffer.
sourcefn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
Encodes the message with a length-delimiter to a buffer. Read more
sourcefn encode_length_delimited_to_vec(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
fn encode_length_delimited_to_vec(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
Encodes the message with a length-delimiter to a newly allocated buffer.
sourcefn decode<B>(buf: B) -> Result<Self, DecodeError> where
B: Buf,
Self: Default,
fn decode<B>(buf: B) -> Result<Self, DecodeError> where
B: Buf,
Self: Default,
Decodes an instance of the message from a buffer. Read more
sourcefn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
B: Buf,
Self: Default,
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
B: Buf,
Self: Default,
Decodes a length-delimited instance of the message from the buffer.
sourcefn merge<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
Decodes an instance of the message from a buffer, and merges it into self. Read more
sourcefn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
Decodes a length-delimited instance of the message from buffer, and
merges it into self. Read more
impl StructuralPartialEq for Profile
Auto Trait Implementations
impl RefUnwindSafe for Profile
impl Send for Profile
impl Sync for Profile
impl Unpin for Profile
impl UnwindSafe for Profile
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more