Struct glean::ConfigurationBuilder

source ·
pub struct ConfigurationBuilder {
Show 14 fields pub upload_enabled: bool, pub data_path: PathBuf, pub application_id: String, pub max_events: Option<usize>, pub delay_ping_lifetime_io: bool, pub server_endpoint: Option<String>, pub uploader: Option<Box<dyn PingUploader + 'static>>, pub use_core_mps: bool, pub trim_data_to_registered_pings: bool, pub log_level: Option<LevelFilter>, pub rate_limit: Option<PingRateLimit>, pub enable_event_timestamps: bool, pub experimentation_id: Option<String>, pub enable_internal_pings: bool,
}
Expand description

Configuration builder.

Let’s you build a configuration from the required fields and let you set optional fields individually.

Fields§

§upload_enabled: bool

Required: Whether upload should be enabled.

§data_path: PathBuf

Required: Path to a directory to store all data in.

§application_id: String

Required: The application ID (will be sanitized during initialization).

§max_events: Option<usize>

Optional: The maximum number of events to store before sending a ping containing events. Default: None

§delay_ping_lifetime_io: bool

Optional: Whether Glean should delay persistence of data from metrics with ping lifetime. Default: false

§server_endpoint: Option<String>

Optional: The server pings are sent to. Default: None

§uploader: Option<Box<dyn PingUploader + 'static>>

Optional: The instance of the uploader used to send pings. Default: None

§use_core_mps: bool

Optional: Whether Glean should schedule “metrics” pings for you. Default: false

§trim_data_to_registered_pings: bool

Optional: Whether Glean should limit its storage to only that of registered pings. Unless you know that all your and your libraries’ pings are appropriately registered before init, you shouldn’t use this. Default: false

§log_level: Option<LevelFilter>

Optional: The internal logging level. Default: None

§rate_limit: Option<PingRateLimit>

Optional: The internal ping upload rate limit. Default: None

§enable_event_timestamps: bool

(Experimental) Whether to add a wallclock timestamp to all events.

§experimentation_id: Option<String>

An experimentation identifier derived by the application to be sent with all pings, it should be noted that this has an underlying StringMetric and so should conform to the limitations that StringMetric places on length, etc.

§enable_internal_pings: bool

Whether to enable internal pings. Default: true

Implementations§

source§

impl Builder

source

pub fn new<P: Into<PathBuf>, S: Into<String>>( upload_enabled: bool, data_path: P, application_id: S ) -> Self

A new configuration builder.

source

pub fn build(self) -> Configuration

Generate the full configuration.

source

pub fn with_max_events(self, max_events: usize) -> Self

Set the maximum number of events to store before sending a ping containing events.

source

pub fn with_delay_ping_lifetime_io(self, value: bool) -> Self

Set whether Glean should delay persistence of data from metrics with ping lifetime.

source

pub fn with_server_endpoint<S: Into<String>>(self, server_endpoint: S) -> Self

Set the server pings are sent to.

source

pub fn with_uploader<U: PingUploader + 'static>(self, uploader: U) -> Self

Set the instance of the uploader used to send pings.

source

pub fn with_use_core_mps(self, value: bool) -> Self

Set whether Glean should schedule “metrics” pings for you.

source

pub fn with_trim_data_to_registered_pings(self, value: bool) -> Self

Set whether Glean should limit its storage to only that of registered pings.

source

pub fn with_event_timestamps(self, value: bool) -> Self

Set whether to add a wallclock timestamp to all events (experimental).

source

pub fn with_experimentation_id(self, value: String) -> Self

Set whether to add a wallclock timestamp to all events (experimental).

source

pub fn with_internal_pings(self, value: bool) -> Self

Set whether to enable internal pings.

Trait Implementations§

source§

impl Debug for Builder

source§

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

Formats the value using the given formatter. Read more

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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, UT> HandleAlloc<UT> for T
where T: Send + Sync,

source§

fn new_handle(value: Arc<T>) -> Handle

Create a new handle for an Arc value Read more
source§

fn clone_handle(handle: Handle) -> Handle

Clone a handle Read more
source§

fn consume_handle(handle: Handle) -> Arc<T>

Consume a handle, getting back the initial Arc<>
source§

fn get_arc(handle: Handle) -> Arc<Self>

Get a clone of the Arc<> using a “borrowed” handle. Read more
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, 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.