pub struct CounterDescriptor {
pub type: Option<i32>,
pub categories: Vec<String>,
pub unit: Option<i32>,
pub unit_name: Option<String>,
pub unit_multiplier: Option<i64>,
pub is_incremental: Option<bool>,
}
Expand description
Defines properties of a counter track, e.g. for built-in counters (thread time, instruction count, ..) or user-specified counters (e.g. memory usage of a specific app component).
Counter tracks only support TYPE_COUNTER track events, which specify new values for the counter. For counters that require per-slice values, counter values can instead be provided in a more efficient encoding via TrackEvent’s |extra_counter_track_uuids| and |extra_counter_values| fields. However, slice-type events cannot be emitted onto a counter track.
Values for counters that are only emitted on a single packet sequence can optionally be delta-encoded, see |is_incremental|.
Next id: 7.
Fields§
§type: Option<i32>
For built-in counters (e.g. thread time). Custom user-specified counters (e.g. those emitted by TRACE_COUNTER macros of the client library) shouldn’t set this, and instead provide a counter name via TrackDescriptor.
categories: Vec<String>
Names of categories of the counter (usually for user-specified counters). In the client library, categories are a way to turn groups of individual counters (or events) on or off.
unit: Option<i32>
Type of the counter’s values. Built-in counters imply a value for this field.
unit_name: Option<String>
In order to use a unit not defined as a part of |Unit|, a free-form unit name can be used instead.
unit_multiplier: Option<i64>
Multiplication factor of this counter’s values, e.g. to supply COUNTER_THREAD_TIME_NS timestamps in microseconds instead.
is_incremental: Option<bool>
Whether values for this counter are provided as delta values. Only supported for counters that are emitted on a single packet-sequence (e.g. thread time). Counter values in subsequent packets on the current packet sequence will be interpreted as delta values from the sequence’s most recent value for the counter. When incremental state is cleared, the counter value is considered to be reset to 0. Thus, the first value after incremental state is cleared is effectively an absolute value.
Implementations§
Source§impl CounterDescriptor
impl CounterDescriptor
Sourcepub fn type(&self) -> BuiltinCounterType
pub fn type(&self) -> BuiltinCounterType
Returns the enum value of type
, or the default if the field is unset or set to an invalid enum value.
Sourcepub fn set_type(&mut self, value: BuiltinCounterType)
pub fn set_type(&mut self, value: BuiltinCounterType)
Sets type
to the provided enum value.
Sourcepub fn unit(&self) -> Unit
pub fn unit(&self) -> Unit
Returns the enum value of unit
, or the default if the field is unset or set to an invalid enum value.
Sourcepub fn unit_multiplier(&self) -> i64
pub fn unit_multiplier(&self) -> i64
Returns the value of unit_multiplier
, or the default value if unit_multiplier
is unset.
Sourcepub fn is_incremental(&self) -> bool
pub fn is_incremental(&self) -> bool
Returns the value of is_incremental
, or the default value if is_incremental
is unset.
Trait Implementations§
Source§impl Clone for CounterDescriptor
impl Clone for CounterDescriptor
Source§fn clone(&self) -> CounterDescriptor
fn clone(&self) -> CounterDescriptor
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for CounterDescriptor
impl Debug for CounterDescriptor
Source§impl Default for CounterDescriptor
impl Default for CounterDescriptor
Source§impl Message for CounterDescriptor
impl Message for CounterDescriptor
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
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<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
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<B>(buf: B) -> Result<Self, DecodeError>
fn decode<B>(buf: B) -> Result<Self, DecodeError>
Source§fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
Source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
self
. Read moreSource§fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
self
.