pub struct PingType { /* private fields */ }
Expand description
A ping is a bundle of related metrics, gathered in a payload to be transmitted.
The ping payload will be encoded in JSON format and contains shared information data.
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.
§Arguments
name
- The name of the ping.include_client_id
- Whether to include the client ID in the assembled ping when.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 and is discarded instead of being submitted.schedules_pings
- A list of pings which are triggered for submission when this ping is submitted.reason_codes
- The valid reason codes for this ping.uploader_capabilities
- The capabilities required during this ping’s upload.
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 submit(&self, reason: Option<&str>)
pub fn submit(&self, reason: Option<&str>)
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.
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 naively_enabled(&self) -> bool
pub fn naively_enabled(&self) -> bool
Whether the enabled
field of this ping is set. Note that whether or
not a ping is actually enabled is dependent upon the underlying glean
instance settings, and follows_collection_enabled
. In other words,
a Ping might actually be enabled even if the enabled field is not
set (with this function returning false
).
Sourcepub fn follows_collection_enabled(&self) -> bool
pub fn follows_collection_enabled(&self) -> bool
Whether this ping follows the collection_enabled
(aka upload_enabled
) flag.
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 test_before_next_submit(
&self,
cb: impl FnOnce(Option<&str>) + Send + 'static,
)
pub fn test_before_next_submit( &self, cb: impl FnOnce(Option<&str>) + Send + 'static, )
Test-only API
Attach a callback to be called right before a new ping is submitted. The provided function is called exactly once before submitting a ping.
Note: The callback will be called on any call to submit.
A ping might not be sent afterwards, e.g. if the ping is otherwise empty (and
send_if_empty
is false
).