pub struct AnalyticsLiveSketches {
pub enabled: bool,
pub freshness_target_ms: u64,
}Expand description
Live in-process sketches config (DW-092, analytics.live_sketches).
The sketches are maintained inside the embedded analytics runtime
and updated on every record() call — a per-route rolling window
(size = freshness_target_ms) with request/error counts and a capped
latency-sample vector. Percentiles are computed at snapshot time
(sort-and-pick, O(n log n) with n capped at 1000), never on the hot
path. No new dependencies: the sketches are hand-rolled with atomics
and a short mutex, the same approach as the load-generator’s
histogram.
Fields§
§enabled: boolWhether live sketches are maintained (default true when the block is present). Setting false disables the in-process sketches while keeping the block present (a no-op shape that reads as coverage).
freshness_target_ms: u64The rolling window size in milliseconds (default 500). Also the freshness target: a snapshot reflects at most this much staleness. Validated to [100, 5000] — below 100 is timer churn, above 5000 is no longer “live”.
Trait Implementations§
Source§impl Clone for AnalyticsLiveSketches
impl Clone for AnalyticsLiveSketches
Source§fn clone(&self) -> AnalyticsLiveSketches
fn clone(&self) -> AnalyticsLiveSketches
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AnalyticsLiveSketches
impl Debug for AnalyticsLiveSketches
Source§impl<'de> Deserialize<'de> for AnalyticsLiveSketches
impl<'de> Deserialize<'de> for AnalyticsLiveSketches
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 AnalyticsLiveSketches
impl JsonSchema for AnalyticsLiveSketches
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 AnalyticsLiveSketches
impl PartialEq for AnalyticsLiveSketches
Source§impl Serialize for AnalyticsLiveSketches
impl Serialize for AnalyticsLiveSketches
impl StructuralPartialEq for AnalyticsLiveSketches
Auto Trait Implementations§
impl Freeze for AnalyticsLiveSketches
impl RefUnwindSafe for AnalyticsLiveSketches
impl Send for AnalyticsLiveSketches
impl Sync for AnalyticsLiveSketches
impl Unpin for AnalyticsLiveSketches
impl UnwindSafe for AnalyticsLiveSketches
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