pub struct PhaseErrorDetail {
pub class: String,
pub message: String,
pub op_name: Option<String>,
pub cycle: Option<u64>,
pub op_template: Option<String>,
pub op_resolved: Option<String>,
pub at_nanos: u64,
pub retryable: bool,
}Expand description
One error recorded against a phase. Captures the
originating cycle (when an op error), the dispenser’s
pristine + resolved op text (per SRD-68), and the
class string the errors: policy matches on.
op_name / cycle / op_template / op_resolved
are None when the error originates outside any
dispenser — workload-load validation failures,
phase-poll deadlines (SRD-75), missing-adapter init
errors, etc.
Fields§
§class: StringError class string (matches the errors: policy
vocabulary): Timeout, cql_error, poll_timeout,
validate_failure, BindError, …
message: StringHuman-readable message — the detail an operator needs to act. Multi-line allowed.
op_name: Option<String>Op identity (template name) that triggered this
error. None for phase-level errors.
cycle: Option<u64>Cycle number for op errors. None for
phase-level errors.
op_template: Option<String>Pristine op-template text per SRD-68 §“I-6”.
Operator’s YAML verbatim, with {name} placeholders
intact.
op_resolved: Option<String>Wire-rendered op text for the failing cycle. What
the adapter actually sent. None when no render
attempt happened (pre-dispense errors).
at_nanos: u64Nanos-since-epoch when the error was recorded. Used for chronological replay rendering and cross-correlation with metric snapshots.
retryable: boolWhether the underlying error was classified as retryable. Useful for diagnostics: a workload with 100 retryable errors reads differently from one with 1 fatal error.
Trait Implementations§
Source§impl Clone for PhaseErrorDetail
impl Clone for PhaseErrorDetail
Source§impl Debug for PhaseErrorDetail
impl Debug for PhaseErrorDetail
Source§impl<'de> Deserialize<'de> for PhaseErrorDetail
impl<'de> Deserialize<'de> for PhaseErrorDetail
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>,
Source§impl PartialEq for PhaseErrorDetail
impl PartialEq for PhaseErrorDetail
Source§impl Serialize for PhaseErrorDetail
impl Serialize for PhaseErrorDetail
impl StructuralPartialEq for PhaseErrorDetail
Auto Trait Implementations§
impl Freeze for PhaseErrorDetail
impl RefUnwindSafe for PhaseErrorDetail
impl Send for PhaseErrorDetail
impl Sync for PhaseErrorDetail
impl Unpin for PhaseErrorDetail
impl UnsafeUnpin for PhaseErrorDetail
impl UnwindSafe for PhaseErrorDetail
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<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