pub struct NetworkPacketTraceConfig {
    pub poll_ms: Option<u32>,
    pub aggregation_threshold: Option<u32>,
    pub intern_limit: Option<u32>,
    pub drop_local_port: Option<bool>,
    pub drop_remote_port: Option<bool>,
    pub drop_tcp_flags: Option<bool>,
}
Expand description

Network tracing data source that records details on all packets sent or received by the network.

Fields§

§poll_ms: Option<u32>

Polling frequency in milliseconds. Network tracing writes to a fixed size ring buffer. The polling interval should be such that the ring buffer is unlikely to fill in that interval (or that filling is an acceptable risk). The minimum polling rate is 100ms (values below this are ignored). Introduced in Android 14 (U).

§aggregation_threshold: Option<u32>

The aggregation_threshold is the number of packets at which an event will switch from per-packet details to aggregate details. For example, a value of 50 means that if a particular event (grouped by the unique combinations of metadata fields: {interface, direction, uid, etc}) has fewer than 50 packets, the exact timestamp and length are recorded for each packet. If there were 50 or more packets in an event, it would only record the total duration, packets, and length. A value of zero or unspecified will always / record per-packet details. A value of 1 always records aggregate details.

§intern_limit: Option<u32>

Specifies the maximum number of packet contexts to intern at a time. This prevents the interning table from growing too large and controls whether interning is enabled or disabled (a value of zero disables interning and is the default). When a data sources interning table reaches this amount, packet contexts will be inlined into NetworkPacketEvents.

§drop_local_port: Option<bool>

The following fields specify whether certain fields should be dropped from the output. Dropping fields improves normalization results, reduces the size of the interning table, and slightly reduces event size.

§drop_remote_port: Option<bool>§drop_tcp_flags: Option<bool>

Implementations§

source§

impl NetworkPacketTraceConfig

source

pub fn poll_ms(&self) -> u32

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

source

pub fn aggregation_threshold(&self) -> u32

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

source

pub fn intern_limit(&self) -> u32

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

source

pub fn drop_local_port(&self) -> bool

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

source

pub fn drop_remote_port(&self) -> bool

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

source

pub fn drop_tcp_flags(&self) -> bool

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

Trait Implementations§

source§

impl Clone for NetworkPacketTraceConfig

source§

fn clone(&self) -> NetworkPacketTraceConfig

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 NetworkPacketTraceConfig

source§

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

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

impl Default for NetworkPacketTraceConfig

source§

fn default() -> Self

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

impl Message for NetworkPacketTraceConfig

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 NetworkPacketTraceConfig

source§

fn eq(&self, other: &NetworkPacketTraceConfig) -> 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 NetworkPacketTraceConfig

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.