Struct TraceConfig

pub struct TraceConfig {
    pub categories: Option<Vec<String>>,
    pub buffer_size_megabytes_hint: Option<u32>,
    pub start_timeout_milliseconds: Option<u64>,
    pub buffering_mode: Option<BufferingMode>,
    pub provider_specs: Option<Vec<ProviderSpec>>,
    pub version: Option<FxtVersion>,
    pub defer_transfer: Option<bool>,
    /* private fields */
}
Expand description

Provides options for the trace.

Fields§

§categories: Option<Vec<String>>

The trace categories to record, or an empty array for all.

§buffer_size_megabytes_hint: Option<u32>

Suggested size of trace buffer which each provider should receive.

§start_timeout_milliseconds: Option<u64>

Acknowledge start request after at most start_timeout_milliseconds.

§buffering_mode: Option<BufferingMode>§provider_specs: Option<Vec<ProviderSpec>>

Overrides for particular providers.

§version: Option<FxtVersion>

Maximum trace format version supported byt the client. If not set, this defaults to the latest available trace format version.

§defer_transfer: Option<bool>

When true, the session will buffer the trace within the fuchsia.tracing.controller server and only send the trace over the output socket to the client once the trace completes.

It is recommended that defering the trace transfer be set to true when using streaming mode and the fuchsia.tracing.controller client is across the host-device boundary, such as with ffx. In this, or other cases where sending the trace data could cause exess cpu overhead, the disk writing cost is preferrable to the cost of sending to the client.

NOTE: defer_transfer only has effect during BufferingMode.STREAMING as other modes don’t otherwise send trace data to the client during a trace.

Trait Implementations§

§

impl Clone for TraceConfig

§

fn clone(&self) -> TraceConfig

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
§

impl Debug for TraceConfig

§

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

Formats the value using the given formatter. Read more
§

impl<D> Decode<TraceConfig, D> for TraceConfig
where D: ResourceDialect,

§

fn new_empty() -> TraceConfig

Creates a valid instance of Self. The specific value does not matter, since it will be overwritten by decode.
§

unsafe fn decode( &mut self, decoder: &mut Decoder<'_, D>, offset: usize, depth: Depth, ) -> Result<(), Error>

Decodes an object of type T from the decoder’s buffers into self. Read more
§

impl Default for TraceConfig

§

fn default() -> TraceConfig

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

impl<D> Encode<TraceConfig, D> for &TraceConfig
where D: ResourceDialect,

§

unsafe fn encode( self, encoder: &mut Encoder<'_, D>, offset: usize, depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
§

impl PartialEq for TraceConfig

§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

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

impl TypeMarker for TraceConfig

§

type Owned = TraceConfig

The owned Rust type which this FIDL type decodes into.
§

fn inline_align(_context: Context) -> usize

Returns the minimum required alignment of the inline portion of the encoded object. It must be a (nonzero) power of two.
§

fn inline_size(_context: Context) -> usize

Returns the size of the inline portion of the encoded object, including padding for alignment. Must be a multiple of inline_align.
§

fn encode_is_copy() -> bool

Returns true if the memory layout of Self::Owned matches the FIDL wire format and encoding requires no validation. When true, we can optimize encoding arrays and vectors of Self::Owned to a single memcpy. Read more
§

fn decode_is_copy() -> bool

Returns true if the memory layout of Self::Owned matches the FIDL wire format and decoding requires no validation. When true, we can optimize decoding arrays and vectors of Self::Owned to a single memcpy.
§

impl ValueTypeMarker for TraceConfig

§

type Borrowed<'a> = &'a TraceConfig

The Rust type to use for encoding. This is a particular Encode<Self> type cheaply obtainable from &Self::Owned. There are three cases: Read more
§

fn borrow( value: &<TraceConfig as TypeMarker>::Owned, ) -> <TraceConfig as ValueTypeMarker>::Borrowed<'_>

Cheaply converts from &Self::Owned to Self::Borrowed.
§

impl Persistable for TraceConfig

§

impl StructuralPartialEq for TraceConfig

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
§

impl<T> Body for T
where T: Persistable,

§

type MarkerAtTopLevel = T

The marker type to use when the body is at the top-level.
§

type MarkerInResultUnion = T

The marker type to use when the body is nested in a result union.
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§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

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

impl<T, D> Encode<Ambiguous1, D> for T
where D: ResourceDialect,

§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
§

impl<T, D> Encode<Ambiguous2, D> for T
where D: ResourceDialect,

§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
§

impl<E> ErrorType for E
where E: ValueTypeMarker<Owned = E> + Decode<E, DefaultFuchsiaResourceDialect>,

§

type Marker = E

The marker type.
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.

§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

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

Source§

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>,

Source§

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>,

Source§

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.