pub struct ObjectStoreMetricSample {
pub operation: ObjectStoreOperation,
pub elapsed_micros: u128,
pub attempts: u32,
pub result: ObjectStoreResultClass,
pub bytes_in: Option<u64>,
pub bytes_out: Option<u64>,
pub item_count: Option<u64>,
pub key_class: KeyClass,
pub range_class: Option<RangeClass>,
pub put_mode: Option<PutModeClass>,
pub store_kind: Option<String>,
}Expand description
One object-store call sample delivered to an object-store metrics recorder.
Samples intentionally classify keys and errors instead of exposing raw object keys or provider error strings.
Fields§
§operation: ObjectStoreOperationContract operation that produced the sample.
elapsed_micros: u128End-to-end operation latency in microseconds, including provider waits.
attempts: u32Provider attempts this one call made, counting the first: 1 is a
call that never retried.
Retries are what makes an otherwise unexplained elapsed_micros
readable. The count covers the bounded retry loops inside the store
this wrapper measures; a retry loop that sits above the wrapper —
crate::ObjectStore::put_immutable_verified is the one — surfaces
as one sample per attempt instead, because each of its attempts
really is a separate measured call.
result: ObjectStoreResultClassCardinality-bounded success or failure classification.
bytes_in: Option<u64>Request payload bytes for a put, including failed attempts; otherwise None.
bytes_out: Option<u64>Response payload bytes for a successful get, including zero; otherwise None.
item_count: Option<u64>Keys yielded by a listing before completion or drop; otherwise None.
key_class: KeyClassDurable-family grouping derived without retaining the raw key.
range_class: Option<RangeClass>Read-range or listing shape when applicable; otherwise None.
put_mode: Option<PutModeClass>Requested conditional-write class for a put; otherwise None.
store_kind: Option<String>Deployment-supplied provider label, or None when the wrapper was left unlabeled.
Trait Implementations§
Source§impl Clone for ObjectStoreMetricSample
impl Clone for ObjectStoreMetricSample
Source§fn clone(&self) -> ObjectStoreMetricSample
fn clone(&self) -> ObjectStoreMetricSample
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ObjectStoreMetricSample
impl Debug for ObjectStoreMetricSample
Source§impl<'de> Deserialize<'de> for ObjectStoreMetricSample
impl<'de> Deserialize<'de> for ObjectStoreMetricSample
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>,
Auto Trait Implementations§
impl Freeze for ObjectStoreMetricSample
impl RefUnwindSafe for ObjectStoreMetricSample
impl Send for ObjectStoreMetricSample
impl Sync for ObjectStoreMetricSample
impl Unpin for ObjectStoreMetricSample
impl UnsafeUnpin for ObjectStoreMetricSample
impl UnwindSafe for ObjectStoreMetricSample
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
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<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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more