pub struct TrackEventConfig {
    pub disabled_categories: Vec<String>,
    pub enabled_categories: Vec<String>,
    pub disabled_tags: Vec<String>,
    pub enabled_tags: Vec<String>,
    pub disable_incremental_timestamps: Option<bool>,
    pub timestamp_unit_multiplier: Option<u64>,
    pub filter_debug_annotations: Option<bool>,
    pub enable_thread_time_sampling: Option<bool>,
    pub filter_dynamic_event_names: Option<bool>,
}
Expand description

The following fields define the set of enabled trace categories. Each list item is a glob.

To determine if category is enabled, it is checked against the filters in the following order:

  1. Exact matches in enabled categories.
  2. Exact matches in enabled tags.
  3. Exact matches in disabled categories.
  4. Exact matches in disabled tags.
  5. Pattern matches in enabled categories.
  6. Pattern matches in enabled tags.
  7. Pattern matches in disabled categories.
  8. Pattern matches in disabled tags.

If none of the steps produced a match, the category is enabled by default.

Examples:

  • To enable all non-slow/debug categories:

    No configuration needed, happens by default.

  • To enable a specific category:

    disabled_categories = [“*”] enabled_categories = [“my_category”]

  • To enable only categories with a specific tag:

    disabled_tags = [“*”] enabled_tags = [“my_tag”]

Fields§

§disabled_categories: Vec<String>

Default: []

§enabled_categories: Vec<String>

Default: []

§disabled_tags: Vec<String>

Default: [“slow”, “debug”]

§enabled_tags: Vec<String>

Default: []

§disable_incremental_timestamps: Option<bool>

Default: false (i.e. enabled by default)

§timestamp_unit_multiplier: Option<u64>

Allows to specify a custom unit different than the default (ns). Also affects thread timestamps if enable_thread_time_sampling = true. A multiplier of 1000 means that a timestamp = 3 should be interpreted as 3000 ns = 3 us. Default: 1 (if unset, it should be read as 1).

§filter_debug_annotations: Option<bool>

Default: false (i.e. debug_annotations is NOT filtered out by default) When true, any debug annotations provided as arguments to the TRACE_EVENT macros are not written into the trace. Typed arguments will still be emitted even if set to true.

§enable_thread_time_sampling: Option<bool>

Default : false (i.e. disabled) When true, the SDK samples and emits the current thread time counter value for each event on the current thread’s track. This value represents the total CPU time consumed by that thread since its creation. Note that if a thread is not scheduled by OS for some duration, that time won’t be included in thread_time. Learn more : “CLOCK_THREAD_CPUTIME_ID” flag at https://linux.die.net/man/3/clock_gettime

§filter_dynamic_event_names: Option<bool>

Default: false (i.e. dynamic event names are NOT filtered out by default) When true, event_names wrapped in perfetto::DynamicString will be filtered out.

Implementations§

source§

impl TrackEventConfig

source

pub fn disable_incremental_timestamps(&self) -> bool

Returns the value of disable_incremental_timestamps, or the default value if disable_incremental_timestamps is unset.

source

pub fn timestamp_unit_multiplier(&self) -> u64

Returns the value of timestamp_unit_multiplier, or the default value if timestamp_unit_multiplier is unset.

source

pub fn filter_debug_annotations(&self) -> bool

Returns the value of filter_debug_annotations, or the default value if filter_debug_annotations is unset.

source

pub fn enable_thread_time_sampling(&self) -> bool

Returns the value of enable_thread_time_sampling, or the default value if enable_thread_time_sampling is unset.

source

pub fn filter_dynamic_event_names(&self) -> bool

Returns the value of filter_dynamic_event_names, or the default value if filter_dynamic_event_names is unset.

Trait Implementations§

source§

impl Clone for TrackEventConfig

source§

fn clone(&self) -> TrackEventConfig

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TrackEventConfig

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for TrackEventConfig

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Message for TrackEventConfig

source§

fn encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.
source§

fn clear(&mut self)

Clears the message, resetting all fields to their default.
source§

fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
where B: BufMut, Self: Sized,

Encodes the message to a buffer. Read more
source§

fn encode_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message to a newly allocated buffer.
source§

fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
where B: BufMut, Self: Sized,

Encodes the message with a length-delimiter to a buffer. Read more
source§

fn encode_length_delimited_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message with a length-delimiter to a newly allocated buffer.
source§

fn decode<B>(buf: B) -> Result<Self, DecodeError>
where B: Buf, Self: Default,

Decodes an instance of the message from a buffer. Read more
source§

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.
source§

fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
where B: Buf, Self: Sized,

Decodes an instance of the message from a buffer, and merges it into self. Read more
source§

fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
where B: Buf, Self: Sized,

Decodes a length-delimited instance of the message from buffer, and merges it into self.
source§

impl PartialEq for TrackEventConfig

source§

fn eq(&self, other: &TrackEventConfig) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for TrackEventConfig

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.