From 6f6f946b5b8efd1adbf816f0faefdbf584cfd0c4 Mon Sep 17 00:00:00 2001 From: Alexey Velikiy Date: Fri, 24 Dec 2021 16:43:53 +0300 Subject: [PATCH 1/4] DetectionRunner todos --- server/src/services/analytic_service/detection_runner.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/services/analytic_service/detection_runner.rs b/server/src/services/analytic_service/detection_runner.rs index 66ff8a4..eb3efcf 100644 --- a/server/src/services/analytic_service/detection_runner.rs +++ b/server/src/services/analytic_service/detection_runner.rs @@ -49,6 +49,7 @@ impl DetectionRunner { // TODO: parse detections to webhooks // TODO: define window for detection // TODO: handle case when detection is in the end and continues after "now" + // TODO: update t_from / t_to let window_size = au.as_ref().read().await.get_detection_window(); let mut t_from = from - window_size; let mut t_to = from; @@ -71,7 +72,6 @@ impl DetectionRunner { println!("detection: {} {}", d.0, d.1); } - // TODO: run detection periodically // TODO: set info about detections to tx match tx From 6b4442858645995b1b27744cc5256eaee5c6c7a2 Mon Sep 17 00:00:00 2001 From: Alexey Velikiy Date: Fri, 24 Dec 2021 17:30:36 +0300 Subject: [PATCH 2/4] detection step in matric service and update of t_from \ t_to --- server/src/services/analytic_service/detection_runner.rs | 5 ++++- server/src/services/metric_service.rs | 7 +++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/server/src/services/analytic_service/detection_runner.rs b/server/src/services/analytic_service/detection_runner.rs index eb3efcf..1a5128a 100644 --- a/server/src/services/analytic_service/detection_runner.rs +++ b/server/src/services/analytic_service/detection_runner.rs @@ -7,7 +7,6 @@ use crate::services::metric_service::MetricService; use super::types::{AnalyticServiceMessage, AnalyticUnitRF, DetectionRunnerConfig, ResponseType}; use tokio::time::{sleep, Duration}; -const DETECTION_STEP: u64 = 10; pub struct DetectionRunner { metric_service: MetricService, @@ -50,7 +49,9 @@ impl DetectionRunner { // TODO: define window for detection // TODO: handle case when detection is in the end and continues after "now" // TODO: update t_from / t_to + let window_size = au.as_ref().read().await.get_detection_window(); + let detection_step = ms.get_detection_step(); let mut t_from = from - window_size; let mut t_to = from; @@ -88,6 +89,8 @@ impl DetectionRunner { } sleep(Duration::from_secs(cfg.interval)).await; + t_from += detection_step; + t_to += detection_step; } } })); diff --git a/server/src/services/metric_service.rs b/server/src/services/metric_service.rs index 14a5091..ca3a2ad 100644 --- a/server/src/services/metric_service.rs +++ b/server/src/services/metric_service.rs @@ -32,4 +32,11 @@ impl MetricService { } return Ok(mr); } + + // TODO: it a hack for DetectionRunner: it should vary for different analytic units + // and it's config + pub fn get_detection_step(&self) -> u64 { + return 10; + } + } From 7731e2f56b8d461b7797a283a14a7d5ddc58541a Mon Sep 17 00:00:00 2001 From: Alexey Velikiy Date: Fri, 24 Dec 2021 17:50:44 +0300 Subject: [PATCH 3/4] detection window for pattern detector --- .../analytic_service/analytic_unit/pattern_analytic_unit.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/src/services/analytic_service/analytic_unit/pattern_analytic_unit.rs b/server/src/services/analytic_service/analytic_unit/pattern_analytic_unit.rs index 3beb203..d0ce90a 100644 --- a/server/src/services/analytic_service/analytic_unit/pattern_analytic_unit.rs +++ b/server/src/services/analytic_service/analytic_unit/pattern_analytic_unit.rs @@ -220,8 +220,8 @@ impl AnalyticUnit for PatternAnalyticUnit { return self.id.to_owned(); } fn get_detection_window(&self) -> u64 { - // TODO: return window based on real petterns info - return DETECTION_STEP; + let lr = self.learning_results.as_ref().unwrap(); + return lr.avg_pattern_length as u64; } fn set_config(&mut self, config: AnalyticUnitConfig) { if let AnalyticUnitConfig::Pattern(cfg) = config { From 637eef2105da0c7ae50b69d2151d54c341ede05e Mon Sep 17 00:00:00 2001 From: glitch4347 <86535784+glitch4347@users.noreply.github.com> Date: Fri, 24 Dec 2021 18:37:29 +0300 Subject: [PATCH 4/4] Update server/src/services/analytic_service/detection_runner.rs --- server/src/services/analytic_service/detection_runner.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/server/src/services/analytic_service/detection_runner.rs b/server/src/services/analytic_service/detection_runner.rs index 1a5128a..ce1d804 100644 --- a/server/src/services/analytic_service/detection_runner.rs +++ b/server/src/services/analytic_service/detection_runner.rs @@ -48,7 +48,6 @@ impl DetectionRunner { // TODO: parse detections to webhooks // TODO: define window for detection // TODO: handle case when detection is in the end and continues after "now" - // TODO: update t_from / t_to let window_size = au.as_ref().read().await.get_detection_window(); let detection_step = ms.get_detection_step();