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
impl Builder
sourcepub fn new<P: Into<PathBuf>, S: Into<String>>(
upload_enabled: bool,
data_path: P,
application_id: S
) -> Self
pub fn new<P: Into<PathBuf>, S: Into<String>>( upload_enabled: bool, data_path: P, application_id: S ) -> Self
A new configuration builder.
sourcepub fn build(self) -> Configuration
pub fn build(self) -> Configuration
Generate the full configuration.
sourcepub fn with_max_events(self, max_events: usize) -> Self
pub fn with_max_events(self, max_events: usize) -> Self
Set the maximum number of events to store before sending a ping containing events.
sourcepub fn with_delay_ping_lifetime_io(self, value: bool) -> Self
pub fn with_delay_ping_lifetime_io(self, value: bool) -> Self
Set whether Glean should delay persistence of data from metrics with ping lifetime.
sourcepub fn with_server_endpoint<S: Into<String>>(self, server_endpoint: S) -> Self
pub fn with_server_endpoint<S: Into<String>>(self, server_endpoint: S) -> Self
Set the server pings are sent to.
sourcepub fn with_uploader<U: PingUploader + 'static>(self, uploader: U) -> Self
pub fn with_uploader<U: PingUploader + 'static>(self, uploader: U) -> Self
Set the instance of the uploader used to send pings.
sourcepub fn with_use_core_mps(self, value: bool) -> Self
pub fn with_use_core_mps(self, value: bool) -> Self
Set whether Glean should schedule “metrics” pings for you.
sourcepub fn with_trim_data_to_registered_pings(self, value: bool) -> Self
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.
sourcepub fn with_event_timestamps(self, value: bool) -> Self
pub fn with_event_timestamps(self, value: bool) -> Self
Set whether to add a wallclock timestamp to all events (experimental).
sourcepub fn with_experimentation_id(self, value: String) -> Self
pub fn with_experimentation_id(self, value: String) -> Self
Set whether to add a wallclock timestamp to all events (experimental).
sourcepub fn with_internal_pings(self, value: bool) -> Self
pub fn with_internal_pings(self, value: bool) -> Self
Set whether to enable internal pings.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Builder
impl !RefUnwindSafe for Builder
impl Send for Builder
impl Sync for Builder
impl Unpin for Builder
impl !UnwindSafe for Builder
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
source§fn consume_handle(handle: Handle) -> Arc<T>
fn consume_handle(handle: Handle) -> Arc<T>
Arc<>