pub struct PhaseReport {Show 32 fields
pub name: String,
pub operation_unit: String,
pub item_unit: String,
pub status: String,
pub elapsed_ms: f64,
pub wall_elapsed_ms: f64,
pub setup_elapsed_ms: f64,
pub setup_operations: u64,
pub budget: Option<MeasurementBudget>,
pub stop_reason: String,
pub started_unix_ms: u128,
pub drain_ms: f64,
pub peak_inflight_logical_operations: usize,
pub attempted: u64,
pub succeeded: u64,
pub failed: u64,
pub interrupted: u64,
pub final_error_rate: Option<f64>,
pub bytes: u64,
pub items: u64,
pub mib_per_sec: f64,
pub logical_ops_per_sec: f64,
pub items_per_sec: f64,
pub active_pause_ms: f64,
pub latency: Option<Distribution>,
pub failed_latency: Option<Distribution>,
pub first_data: Option<Distribution>,
pub first_poll: Option<Distribution>,
pub resume_poll: Option<Distribution>,
pub max_stream_chunk_bytes: usize,
pub interference: Option<InterferenceCohort>,
pub errors: Vec<String>,
}Fields§
§name: String§operation_unit: String§item_unit: String§status: String§elapsed_ms: f64Rate denominator: measured wall time. Basic phases finish in-flight I/O; interference phases exclude their separately reported drain. DELETE replenishment between rounds is excluded.
wall_elapsed_ms: f64§setup_elapsed_ms: f64§setup_operations: u64§budget: Option<MeasurementBudget>§stop_reason: String§started_unix_ms: u128§drain_ms: f64Cleanup/drain after the timed interference window, excluded from its rates.
peak_inflight_logical_operations: usize§attempted: u64§succeeded: u64§failed: u64§interrupted: u64Administratively stopped at the observation-window boundary, not I/O failures.
final_error_rate: Option<f64>§bytes: u64Application bytes, including progress from failed streaming operations.
items: u64§mib_per_sec: f64§logical_ops_per_sec: f64§items_per_sec: f64§active_pause_ms: f64§latency: Option<Distribution>Successful logical operations only; includes intentional pauses.
failed_latency: Option<Distribution>§first_data: Option<Distribution>Stream initialization through receipt of the first complete nonempty chunk.
first_poll: Option<Distribution>First next-chunk await, excluding explicit stream opening; may include lazy initialization.
resume_poll: Option<Distribution>Subsequent next-chunk awaits, excluding the first item, pauses and EOF. In continuous mode these are subsequent reads without a pause.
max_stream_chunk_bytes: usize§interference: Option<InterferenceCohort>§errors: Vec<String>Trait Implementations§
Source§impl Debug for PhaseReport
impl Debug for PhaseReport
Auto Trait Implementations§
impl Freeze for PhaseReport
impl RefUnwindSafe for PhaseReport
impl Send for PhaseReport
impl Sync for PhaseReport
impl Unpin for PhaseReport
impl UnsafeUnpin for PhaseReport
impl UnwindSafe for PhaseReport
Blanket Implementations§
impl<T> Allocation for T
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
U: Sized,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
U: Sized,
self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read moreSource§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<T> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Any.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Any.§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
type Err = Infallible
fn into_result(self) -> Result<T, <T as IntoResult<T>>::Err>
§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].impl<T> LruValue for T
impl<T> MaybeSend for Twhere
T: Send,
impl<T> MaybeSend for Twhere
T: Send,
Source§impl<M> MetricVecRelabelExt for M
impl<M> MetricVecRelabelExt for M
Source§fn relabel(
self,
metric_level: MetricLevel,
relabel_threshold: MetricLevel,
) -> RelabeledMetricVec<M>
fn relabel( self, metric_level: MetricLevel, relabel_threshold: MetricLevel, ) -> RelabeledMetricVec<M>
RelabeledMetricVec::with_metric_level.Source§fn relabel_n(
self,
metric_level: MetricLevel,
relabel_threshold: MetricLevel,
relabel_num: usize,
) -> RelabeledMetricVec<M>
fn relabel_n( self, metric_level: MetricLevel, relabel_threshold: MetricLevel, relabel_num: usize, ) -> RelabeledMetricVec<M>
RelabeledMetricVec::with_metric_level_relabel_n.Source§fn relabel_debug_1(
self,
relabel_threshold: MetricLevel,
) -> RelabeledMetricVec<M>
fn relabel_debug_1( self, relabel_threshold: MetricLevel, ) -> RelabeledMetricVec<M>
RelabeledMetricVec::with_metric_level_relabel_n with metric_level set to
MetricLevel::Debug and relabel_num set to 1.