pub struct ShadowOutcome {
pub primary: ResponseRecord,
pub shadow: Option<ResponseRecord>,
pub divergence: Option<Divergence>,
pub skipped_by_sampler: bool,
pub shadow_failed: Option<String>,
}Expand description
Result of a shadow call. The client always sees primary — even if the
shadow leg failed or timed out, only telemetry is affected.
Fields§
§primary: ResponseRecordThe primary response. This is what the calling code should return.
shadow: Option<ResponseRecord>The shadow response, if it succeeded inside the configured timeout.
divergence: Option<Divergence>Structured diff. None when bodies/status/headers all match (modulo
the config’s ignore list) or when the shadow didn’t run.
skipped_by_sampler: boolTrue when the request would have been mirrored but the sampler said no.
shadow_failed: Option<String>True when the shadow leg timed out / errored.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for ShadowOutcome
impl RefUnwindSafe for ShadowOutcome
impl Send for ShadowOutcome
impl Sync for ShadowOutcome
impl Unpin for ShadowOutcome
impl UnsafeUnpin for ShadowOutcome
impl UnwindSafe for ShadowOutcome
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
Mutably borrows from an owned value. Read more