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
impl Clone for TraceConfig
§fn clone(&self) -> TraceConfig
fn clone(&self) -> TraceConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for TraceConfig
impl Debug for TraceConfig
§impl<D> Decode<TraceConfig, D> for TraceConfigwhere
D: ResourceDialect,
impl<D> Decode<TraceConfig, D> for TraceConfigwhere
D: ResourceDialect,
§fn new_empty() -> TraceConfig
fn new_empty() -> TraceConfig
Self
. The specific value does not matter,
since it will be overwritten by decode
.§impl Default for TraceConfig
impl Default for TraceConfig
§fn default() -> TraceConfig
fn default() -> TraceConfig
§impl<D> Encode<TraceConfig, D> for &TraceConfigwhere
D: ResourceDialect,
impl<D> Encode<TraceConfig, D> for &TraceConfigwhere
D: ResourceDialect,
§impl PartialEq for TraceConfig
impl PartialEq for TraceConfig
§impl TypeMarker for TraceConfig
impl TypeMarker for TraceConfig
§type Owned = TraceConfig
type Owned = TraceConfig
§fn inline_align(_context: Context) -> usize
fn inline_align(_context: Context) -> usize
§fn inline_size(_context: Context) -> usize
fn inline_size(_context: Context) -> usize
inline_align
.§fn encode_is_copy() -> bool
fn encode_is_copy() -> bool
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
fn decode_is_copy() -> bool
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
impl ValueTypeMarker for TraceConfig
§type Borrowed<'a> = &'a TraceConfig
type Borrowed<'a> = &'a TraceConfig
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<'_>
fn borrow( value: &<TraceConfig as TypeMarker>::Owned, ) -> <TraceConfig as ValueTypeMarker>::Borrowed<'_>
&Self::Owned
to Self::Borrowed
.