Skip to main content

MutationDecisionCounters

Struct MutationDecisionCounters 

Source
pub struct MutationDecisionCounters {
    pub write_property: MutationServiceCounters,
    pub write_property_multiple: MutationServiceCounters,
    pub create_object: MutationServiceCounters,
    pub delete_object: MutationServiceCounters,
    pub add_list_element: MutationServiceCounters,
    pub remove_list_element: MutationServiceCounters,
    pub atomic_write_file: MutationServiceCounters,
    pub subscribe_cov: MutationServiceCounters,
    pub subscribe_cov_property: MutationServiceCounters,
    pub subscribe_cov_property_multiple: MutationServiceCounters,
    pub write_group: MutationServiceCounters,
}
Expand description

Fixed-shape local telemetry, not a durable audit log; no source history is retained. New servers start at zero. Each field is independently sampled and saturates at u64::MAX, so snapshots are not atomic aggregates. Counters never affect policy. WPM counts each element reaching its gate, not requests or an unvisited suffix, even one the policy was asked about ahead of the handler (#1321, #2032). An element whose object appeared between that ahead pass and the writes, so the policy never saw it, is denied and counted in deny_total. Pre-gate failures and duplicates do not count. In permissive mode without a policy, a decision allows without decoding, so a later handler failure still counts. An inbound WriteGroup counts once per Channel write it would make.

Fields§

§write_property: MutationServiceCounters

WriteProperty decisions.

§write_property_multiple: MutationServiceCounters

WritePropertyMultiple element decisions.

§create_object: MutationServiceCounters

CreateObject decisions.

§delete_object: MutationServiceCounters

DeleteObject decisions.

§add_list_element: MutationServiceCounters

AddListElement decisions.

§remove_list_element: MutationServiceCounters

RemoveListElement decisions.

§atomic_write_file: MutationServiceCounters

AtomicWriteFile decisions.

§subscribe_cov: MutationServiceCounters

SubscribeCOV decisions, including cancellation and renewal.

§subscribe_cov_property: MutationServiceCounters

SubscribeCOVProperty decisions, including cancellation and renewal.

§subscribe_cov_property_multiple: MutationServiceCounters

SubscribeCOVPropertyMultiple whole-request decisions.

§write_group: MutationServiceCounters

Decisions on the Channel writes inbound WriteGroups would make.

Trait Implementations§

Source§

impl Clone for MutationDecisionCounters

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Copy for MutationDecisionCounters

Source§

impl Debug for MutationDecisionCounters

Source§

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

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

impl Default for MutationDecisionCounters

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Eq for MutationDecisionCounters

Source§

impl PartialEq for MutationDecisionCounters

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for MutationDecisionCounters

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<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

Source§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

Source§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

Source§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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> Instrument for T

Source§

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

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

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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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 = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

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

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

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