pub struct BehavioralProfileGuard { /* private fields */ }Expand description
Guard that computes behavioral-anomaly signals from the receipt store and emits advisories without blocking the request.
Implementations§
Source§impl BehavioralProfileGuard
impl BehavioralProfileGuard
Sourcepub fn new(feed: Box<dyn ReceiptFeedSource>) -> Self
pub fn new(feed: Box<dyn ReceiptFeedSource>) -> Self
Construct a new guard with the default configuration and a
system-clock now source.
Sourcepub fn with_config(
feed: Box<dyn ReceiptFeedSource>,
config: BehavioralProfileConfig,
) -> Self
pub fn with_config( feed: Box<dyn ReceiptFeedSource>, config: BehavioralProfileConfig, ) -> Self
Construct with an explicit config.
Sourcepub fn with_clock(self, clock: Box<dyn Fn() -> u64 + Send + Sync>) -> Self
pub fn with_clock(self, clock: Box<dyn Fn() -> u64 + Send + Sync>) -> Self
Override the clock source. Useful for deterministic tests.
Sourcepub fn observe_sample(
&self,
agent_id: &str,
metric: BehavioralMetric,
sample: f64,
window_start: u64,
) -> Result<ObservationOutcome, KernelError>
pub fn observe_sample( &self, agent_id: &str, metric: BehavioralMetric, sample: f64, window_start: u64, ) -> Result<ObservationOutcome, KernelError>
Feed the guard a fresh sample and return whether the window should be flagged as anomalous. Exposed for tests and dashboards that want to surface scores without running the full pipeline.
Sourcepub fn baseline(
&self,
agent_id: &str,
metric: BehavioralMetric,
) -> Result<Option<EmaBaselineState>, KernelError>
pub fn baseline( &self, agent_id: &str, metric: BehavioralMetric, ) -> Result<Option<EmaBaselineState>, KernelError>
Access the snapshot of a (agent, metric) baseline.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for BehavioralProfileGuard
impl !RefUnwindSafe for BehavioralProfileGuard
impl Send for BehavioralProfileGuard
impl Sync for BehavioralProfileGuard
impl Unpin for BehavioralProfileGuard
impl UnsafeUnpin for BehavioralProfileGuard
impl !UnwindSafe for BehavioralProfileGuard
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