pub struct AnalyticsInsights {
pub forecast: bool,
pub anomaly_baseline: bool,
pub baseline_windows: u64,
}Expand description
ML traffic insights config (DW-092, analytics.insights).
The insights engine is hand-rolled (no ML crates): an EWMA over recent sketch-window rotations carries the trend, a minute-of-day ring buffer (1440 entries) holds the seasonal baseline, and anomaly detection compares the current window’s shape to the seasonal baseline with a configurable factor. Forecasting combines the seasonal average for the next minute with the EWMA trend adjustment.
Fields§
§forecast: boolWhether capacity forecasting is enabled (default false). When
true, the GET /analytics/forecast endpoint returns a
prediction for the next window.
anomaly_baseline: boolWhether seasonal-baseline anomaly detection is enabled (default
false). When true, the GET /analytics/anomalies endpoint
returns the current window’s anomaly status.
baseline_windows: u64The number of recent windows retained for the EWMA trend and the seasonal baseline ring (default 1440 = 24 hours of 1-minute windows). Validated to be > 0 when forecast or anomaly_baseline is enabled.
Trait Implementations§
Source§impl Clone for AnalyticsInsights
impl Clone for AnalyticsInsights
Source§fn clone(&self) -> AnalyticsInsights
fn clone(&self) -> AnalyticsInsights
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AnalyticsInsights
impl Debug for AnalyticsInsights
Source§impl<'de> Deserialize<'de> for AnalyticsInsights
impl<'de> Deserialize<'de> for AnalyticsInsights
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 AnalyticsInsights
impl JsonSchema for AnalyticsInsights
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 AnalyticsInsights
impl PartialEq for AnalyticsInsights
Source§impl Serialize for AnalyticsInsights
impl Serialize for AnalyticsInsights
impl StructuralPartialEq for AnalyticsInsights
Auto Trait Implementations§
impl Freeze for AnalyticsInsights
impl RefUnwindSafe for AnalyticsInsights
impl Send for AnalyticsInsights
impl Sync for AnalyticsInsights
impl Unpin for AnalyticsInsights
impl UnwindSafe for AnalyticsInsights
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