Struct PingType

Source
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

Source

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.
Source

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.

Source

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 the ping_info.reason part of the payload.
Source

pub fn name(&self) -> &str

Get the name of this Ping

Source

pub fn include_client_id(&self) -> bool

Whether the client ID will be included in the assembled ping when submitting.

Source

pub fn send_if_empty(&self) -> bool

Whether the ping should be sent if empty.

Source

pub fn precise_timestamps(&self) -> bool

Whether the ping will include precise timestamps for the start/end time.

Source

pub fn include_info_sections(&self) -> bool

Whether client/ping_info sections will be included in this ping.

Source

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).

Source

pub fn follows_collection_enabled(&self) -> bool

Whether this ping follows the collection_enabled (aka upload_enabled) flag.

Source

pub fn schedules_pings(&self) -> &[String]

Other pings that should be scheduled when this ping is sent.

Source

pub fn reason_codes(&self) -> &[String]

Reason codes that this ping can send.

Source

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).

Trait Implementations§

Source§

impl Clone for PingType

Source§

fn clone(&self) -> PingType

Returns a duplicate of the value. Read more
1.0.0 · Source§

const fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl MallocSizeOf for PingType

Source§

fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize

Measure the heap usage of all descendant heap-allocated structures, but not the space taken up by the value itself.

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§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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§

unsafe fn clone_handle(handle: Handle) -> Handle

Clone a handle Read more
Source§

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

Consume a handle, getting back the initial Arc<> Read more
Source§

unsafe 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> ToOwned for T
where T: Clone,

Source§

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>,

Source§

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>,

Source§

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.
Source§

impl<T> ErasedDestructor for T
where T: 'static,