pub struct WorkCounters {Show 24 fields
pub authority_records_read: u64,
pub authority_records_appended: u64,
pub authority_bytes_read: u64,
pub authority_bytes_written: u64,
pub object_probes: u64,
pub backend_read_operations: u64,
pub backend_write_operations: u64,
pub durability_operations: u64,
pub page_reads: u64,
pub page_writes: u64,
pub object_bytes_read: u64,
pub object_bytes_written: u64,
pub bytes_hashed: u64,
pub bytes_copied: u64,
pub bytes_encoded: u64,
pub source_bytes_read: u64,
pub source_path_components: u64,
pub source_entries_visited: u64,
pub output_bytes: u64,
pub items_examined: u64,
pub items_returned: u64,
pub allocation_operations: u64,
pub peak_allocation_bytes: u64,
pub materializations: u64,
}Expand description
Exact backend and memory work performed by one filesystem operation.
Fields§
Authority records read.
Authority records appended.
Canonical authority payload bytes read.
Canonical authority payload bytes appended.
object_probes: u64Immutable-object metadata probes.
backend_read_operations: u64Backend read calls, independent of bytes returned.
backend_write_operations: u64Backend write calls, independent of bytes admitted.
durability_operations: u64Durability barriers such as file or authority-log synchronization.
page_reads: u64Authenticated tree, extent, or file-table pages read.
page_writes: u64Authenticated pages created.
object_bytes_read: u64Canonical object bytes read.
object_bytes_written: u64Canonical object bytes written.
bytes_hashed: u64Bytes supplied to cryptographic hashes.
bytes_copied: u64Bytes copied between owned buffers.
bytes_encoded: u64Canonical bytes produced by encoders.
source_bytes_read: u64Bytes consumed from an import, capture, or application source.
source_path_components: u64Components in requested source paths.
source_entries_visited: u64Source entries observed by demand or native capture requests.
output_bytes: u64Bytes returned to an application or export sink.
items_examined: u64Canonical items examined by searches, filters, diffs, or merges.
items_returned: u64Canonical items returned by bounded APIs.
allocation_operations: u64Owned allocation operations attributable to the request.
peak_allocation_bytes: u64Peak simultaneously owned allocation bytes attributable to the operation.
materializations: u64Files or extents physically materialized.
Implementations§
Source§impl WorkCounters
impl WorkCounters
Sourcepub fn checked_add(self, other: Self) -> Result<Self, WorkError>
pub fn checked_add(self, other: Self) -> Result<Self, WorkError>
Adds one receipt while failing closed on accounting overflow.
§Errors
Returns WorkError::Overflow if any exact counter cannot be represented.
Sourcepub fn verify(self, budget: WorkBudget) -> Result<(), WorkError>
pub fn verify(self, budget: WorkBudget) -> Result<(), WorkError>
Verifies every counter against an admitted hard budget.
§Errors
Returns the first stable counter name that exceeded its bound.
Sourcepub fn remaining(self, budget: WorkBudget) -> Result<WorkBudget, WorkError>
pub fn remaining(self, budget: WorkBudget) -> Result<WorkBudget, WorkError>
Returns the remaining additive budget after this spent receipt. Peak allocation is an operation-wide maximum, so its remaining limit is unchanged and each backend allocation is checked against the same cap.
§Errors
Returns the exact exceeded counter when already-spent work is outside the admitted budget.
Trait Implementations§
Source§impl Clone for WorkCounters
impl Clone for WorkCounters
impl Copy for WorkCounters
Source§impl Debug for WorkCounters
impl Debug for WorkCounters
Source§impl Default for WorkCounters
impl Default for WorkCounters
Source§impl<'de> Deserialize<'de> for WorkCounterswhere
WorkCounters: Default,
impl<'de> Deserialize<'de> for WorkCounterswhere
WorkCounters: Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for WorkCounters
Source§impl PartialEq for WorkCounters
impl PartialEq for WorkCounters
Source§impl Serialize for WorkCounters
impl Serialize for WorkCounters
impl StructuralPartialEq for WorkCounters
Auto Trait Implementations§
impl Freeze for WorkCounters
impl RefUnwindSafe for WorkCounters
impl Send for WorkCounters
impl Sync for WorkCounters
impl Unpin for WorkCounters
impl UnsafeUnpin for WorkCounters
impl UnwindSafe for WorkCounters
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request