pub struct AnalyticsReplayCapture {
pub enabled: bool,
pub retain_hours: u64,
pub capture_headers: bool,
pub capture_body: bool,
}Expand description
Replay time-travel debugging capture config (DW-102,
analytics.replay_capture). Opt-in capture of request detail
(redacted headers, auth identity) into the raw analytics table for
offline replay against candidate configs. The capture reuses the
existing fire-and-forget analytics writer path and the existing PII
redaction patterns (ai::redaction); body capture is OFF by
default (PII risk).
Fields§
§enabled: boolWhether replay capture is active (default false — opt-in). When
false the raw table’s request_headers_redacted and
auth_identity columns stay NULL even when the block is
present (a no-op shape that reads as coverage).
retain_hours: u64Time-bounded retention for replay-captured raw rows, in hours (default 24). Rows older than the retention window are deleted by the existing raw retention sweep. Validated to be > 0.
capture_headers: boolWhether to capture redacted request headers (default true when the block is present). Headers are scrubbed via the existing PII redaction patterns before storage.
capture_body: boolWhether to capture the request body (default false — PII risk). Body capture is off by default; enabling it is an explicit operator decision to accept the PII exposure of stored bodies (even redacted bodies may carry residual sensitive content).
Trait Implementations§
Source§impl Clone for AnalyticsReplayCapture
impl Clone for AnalyticsReplayCapture
Source§fn clone(&self) -> AnalyticsReplayCapture
fn clone(&self) -> AnalyticsReplayCapture
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AnalyticsReplayCapture
impl Debug for AnalyticsReplayCapture
Source§impl<'de> Deserialize<'de> for AnalyticsReplayCapture
impl<'de> Deserialize<'de> for AnalyticsReplayCapture
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 JsonSchema for AnalyticsReplayCapture
impl JsonSchema for AnalyticsReplayCapture
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for AnalyticsReplayCapture
impl PartialEq for AnalyticsReplayCapture
Source§impl Serialize for AnalyticsReplayCapture
impl Serialize for AnalyticsReplayCapture
impl StructuralPartialEq for AnalyticsReplayCapture
Auto Trait Implementations§
impl Freeze for AnalyticsReplayCapture
impl RefUnwindSafe for AnalyticsReplayCapture
impl Send for AnalyticsReplayCapture
impl Sync for AnalyticsReplayCapture
impl Unpin for AnalyticsReplayCapture
impl UnwindSafe for AnalyticsReplayCapture
Blanket Implementations§
§impl<T> AnyExt for T
impl<T> AnyExt for T
§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
T behind reference§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
T behind mutable reference§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
T behind Rc pointer§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
T behind Arc pointer§fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
T behind Box pointer§fn downcast_move<T>(this: Self) -> Option<T>
fn downcast_move<T>(this: Self) -> Option<T>
Self to T,
useful only in generic context as a workaround for specializationSource§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, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
fn coerce_rc_to(self: Rc<X>) -> Rc<T>
fn coerce_box_to(self: Box<X>) -> Box<T>
fn coerce_ref_to(&self) -> &T
fn coerce_mut_to(&mut self) -> &mut T
§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> 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