Struct glean_core::metrics::PingType
source · pub struct PingType(/* private fields */);
Expand description
Stores information about a ping.
This is required so that given metric data queued on disk we can send pings with the correct settings, e.g. whether it has a client_id.
Implementations§
source§impl PingType
impl PingType
sourcepub fn new<A: Into<String>>(
name: A,
include_client_id: bool,
send_if_empty: bool,
precise_timestamps: bool,
include_info_sections: bool,
enabled: bool,
schedules_pings: Vec<String>,
reason_codes: Vec<String>,
follows_collection_enabled: bool,
uploader_capabilities: Vec<String>
) -> Self
pub fn new<A: Into<String>>( name: A, include_client_id: bool, send_if_empty: bool, precise_timestamps: bool, include_info_sections: bool, enabled: bool, schedules_pings: Vec<String>, reason_codes: Vec<String>, follows_collection_enabled: bool, uploader_capabilities: Vec<String> ) -> Self
Creates a new ping type for the given name, whether to include the client ID and whether to send this ping empty.
Arguments
name
- The name of the ping.include_client_id
- Whether to include the client ID in the assembled ping when submitting.send_if_empty
- Whether the ping should be sent empty or not.precise_timestamps
- Whether the ping should use precise timestamps for the start and end time.include_info_sections
- Whether the ping should include the client/ping_info sections.enabled
- Whether or not this ping is enabled. Note: Data that would be sent on a disabled ping will still be collected but is discarded rather than being submitted.reason_codes
- The valid reason codes for this ping.uploader_capabilities
- The ordered list of capabilities this ping requires to be uploaded with.
sourcepub fn include_client_id(&self) -> bool
pub fn include_client_id(&self) -> bool
Whether the client ID will be included in the assembled ping when submitting.
sourcepub fn send_if_empty(&self) -> bool
pub fn send_if_empty(&self) -> bool
Whether the ping should be sent if empty.
sourcepub fn precise_timestamps(&self) -> bool
pub fn precise_timestamps(&self) -> bool
Whether the ping will include precise timestamps for the start/end time.
sourcepub fn include_info_sections(&self) -> bool
pub fn include_info_sections(&self) -> bool
Whether client/ping_info sections will be included in this ping.
sourcepub fn set_enabled(&self, enabled: bool)
pub fn set_enabled(&self, enabled: bool)
Enable or disable a ping.
Disabling a ping causes all data for that ping to be removed from storage and all pending pings of that type to be deleted.
sourcepub fn naively_enabled(&self) -> bool
pub fn naively_enabled(&self) -> bool
Whether the enabled
field of this ping is set. Note that there are
multiple other reasons why a ping may or may not be enabled. See
PingType::new
and PingType::enabled
for more details.
sourcepub fn follows_collection_enabled(&self) -> bool
pub fn follows_collection_enabled(&self) -> bool
Whether this ping follows the collection_enabled
flag
See InnerPing member documentation for further details.
sourcepub fn schedules_pings(&self) -> &[String]
pub fn schedules_pings(&self) -> &[String]
Other pings that should be scheduled when this ping is sent.
sourcepub fn reason_codes(&self) -> &[String]
pub fn reason_codes(&self) -> &[String]
Reason codes that this ping can send.
sourcepub fn uploader_capabilities(&self) -> &[String]
pub fn uploader_capabilities(&self) -> &[String]
The capabilities this ping requires to be uploaded under.
sourcepub fn submit(&self, reason: Option<String>)
pub fn submit(&self, reason: Option<String>)
Submits the ping for eventual uploading.
The ping content is assembled as soon as possible, but upload is not guaranteed to happen immediately, as that depends on the upload policies.
If the ping currently contains no content, it will not be sent, unless it is configured to be sent if empty.
Arguments
reason
- the reason the ping was triggered. Included in theping_info.reason
part of the payload.
Trait Implementations§
source§impl<UT> LowerError<UT> for PingType
impl<UT> LowerError<UT> for PingType
source§fn lower_error(obj: Self) -> RustBuffer
fn lower_error(obj: Self) -> RustBuffer
source§impl<UT> LowerReturn<UT> for PingType
impl<UT> LowerReturn<UT> for PingType
§type ReturnType = <Arc<PingType> as LowerReturn<UniFfiTag>>::ReturnType
type ReturnType = <Arc<PingType> as LowerReturn<UniFfiTag>>::ReturnType
source§fn lower_return(obj: Self) -> Result<Self::ReturnType, RustCallError>
fn lower_return(obj: Self) -> Result<Self::ReturnType, RustCallError>
§fn handle_failed_lift(
error: LiftArgsError
) -> Result<Self::ReturnType, RustCallError>
fn handle_failed_lift( error: LiftArgsError ) -> Result<Self::ReturnType, RustCallError>
Auto Trait Implementations§
impl RefUnwindSafe for PingType
impl Send for PingType
impl Sync for PingType
impl Unpin for PingType
impl UnwindSafe for PingType
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
§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
§unsafe fn consume_handle(handle: Handle) -> Arc<T>
unsafe fn consume_handle(handle: Handle) -> Arc<T>
Arc<>
Read more