pub enum Metrics {
    UpdateCheckResponseTime {
        response_time: Duration,
        successful: bool,
    },
    UpdateCheckInterval {
        interval: Duration,
        clock: ClockType,
        install_source: InstallSource,
    },
    SuccessfulUpdateDuration(Duration),
    SuccessfulUpdateFromFirstSeen(Duration),
    FailedUpdateDuration(Duration),
    UpdateCheckFailureReason(UpdateCheckFailureReason),
    RequestsPerCheck {
        count: u64,
        successful: bool,
    },
    AttemptsToSuccessfulCheck(u64),
    AttemptsToSuccessfulInstall {
        count: u64,
        successful: bool,
    },
    WaitedForRebootDuration(Duration),
    FailedBootAttempts(u64),
    OmahaEventLost(Event),
}
Expand description

The list of metrics that can be reported.

Variants§

§

UpdateCheckResponseTime

Elapsed time from sending an update check to getting a response from Omaha, with a bool to hold whether that was a success or a failure.

Fields

§response_time: Duration
§successful: bool
§

UpdateCheckInterval

Elapsed time from the previous update check to the current update check.

Fields

§interval: Duration
§install_source: InstallSource
§

SuccessfulUpdateDuration(Duration)

Elapsed time from starting an update to having successfully applied it.

§

SuccessfulUpdateFromFirstSeen(Duration)

Elapsed time from first seeing an update to having successfully applied it.

§

FailedUpdateDuration(Duration)

Elapsed time from starting an update to encountering a failure.

§

UpdateCheckFailureReason(UpdateCheckFailureReason)

Why an update check failed (network, omaha, proxy, etc).

§

RequestsPerCheck

Number of omaha request attempts until a response within a single update check attempt, with a bool to hold whether that was a success or a failure.

Fields

§count: u64
§successful: bool
§

AttemptsToSuccessfulCheck(u64)

Number of update check attempts to get an update check to succeed.

§

AttemptsToSuccessfulInstall

Number of install attempts to get an update to succeed.

Fields

§count: u64
§successful: bool
§

WaitedForRebootDuration(Duration)

Elapsed time from having finished applying the update to when finally running that software, it is sent after the reboot (and includes the rebooting time).

§

FailedBootAttempts(u64)

Number of times an update failed to boot into new version.

§

OmahaEventLost(Event)

Record that an Omaha event report was lost.

Trait Implementations§

source§

impl Debug for Metrics

source§

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

Formats the value using the given formatter. Read more
source§

impl PartialEq for Metrics

source§

fn eq(&self, other: &Metrics) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for Metrics

source§

impl StructuralPartialEq for Metrics

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.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. 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> Same for T

§

type Output = T

Should always be Self
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.
source§

impl<T> Unless for T

source§

fn unless(self, option: Option<T>) -> T

§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more