diff --git a/server/src/services/analytic_service/analytic_client.rs b/server/src/services/analytic_service/analytic_client.rs index b7ee885..ef0677d 100644 --- a/server/src/services/analytic_service/analytic_client.rs +++ b/server/src/services/analytic_service/analytic_client.rs @@ -1,4 +1,3 @@ -use serde_json::Value; use tokio::sync::mpsc; use tokio::sync::oneshot; @@ -9,7 +8,7 @@ use super::analytic_unit::types::PatchConfig; use super::types::DetectionTask; use super::types::HSRTask; use super::types::LearningStatus; -use super::types::LearningTrain; + use super::types::HSR; use super::types::{AnalyticServiceMessage, RequestType}; @@ -74,7 +73,7 @@ impl AnalyticClient { // TODO: handle second error match rx.await? { Ok(r) => Ok(r), - Err(e) => Ok(Vec::new()), + Err(_) => Ok(Vec::new()), } } @@ -89,7 +88,7 @@ impl AnalyticClient { // TODO: handle second error match rx.await? { Ok(r) => Ok(r), - Err(e) => Ok(HSR::TimeSerie(Vec::new())), + Err(_) => Ok(HSR::TimeSerie(Vec::new())), } } } diff --git a/server/src/services/analytic_service/analytic_service.rs b/server/src/services/analytic_service/analytic_service.rs index 1b3e187..257b2c0 100644 --- a/server/src/services/analytic_service/analytic_service.rs +++ b/server/src/services/analytic_service/analytic_service.rs @@ -1,11 +1,11 @@ use std::sync::Arc; -use super::analytic_unit::types::{AnalyticUnitConfig, PatchConfig, PatternConfig}; -use super::types::{self, DetectionRunnerConfig, LearningTrain, LearningWaiter, HSR}; +use super::analytic_unit::types::{AnalyticUnitConfig, PatchConfig}; +use super::detection_runner::DetectionRunner; +use super::types::{self, DetectionRunnerConfig, LearningWaiter, HSR}; use super::{ analytic_client::AnalyticClient, - analytic_unit::pattern_analytic_unit::{self, LearningResults, PatternAnalyticUnit}, - types::{AnalyticServiceMessage, DetectionTask, LearningStatus, RequestType, ResponseType}, + types::{AnalyticServiceMessage, LearningStatus, RequestType, ResponseType}, }; use crate::config::AlertingConfig; @@ -40,7 +40,7 @@ pub struct AnalyticService { // awaiters learning_waiters: Vec, - detection_runner: Option, + detection_runner: Option, } impl AnalyticService { @@ -97,6 +97,7 @@ impl AnalyticService { } fn run_detection_runner(&mut self, task: DetectionRunnerConfig) { + // TODO: rerun detection runner on analytic unit change // if self.runner_handler.is_some() { // self.runner_handler.as_mut().unwrap().abort(); // } diff --git a/server/src/services/analytic_service/analytic_unit/anomaly_analytic_unit.rs b/server/src/services/analytic_service/analytic_unit/anomaly_analytic_unit.rs index dc4ba3b..49017ee 100644 --- a/server/src/services/analytic_service/analytic_unit/anomaly_analytic_unit.rs +++ b/server/src/services/analytic_service/analytic_unit/anomaly_analytic_unit.rs @@ -1,5 +1,5 @@ use crate::services::{ - analytic_service::types::{self, HSR}, + analytic_service::types::{HSR}, metric_service::MetricService, segments_service::SegmentsService, }; @@ -14,6 +14,7 @@ const DETECTION_STEP: u64 = 10; // offset from intex in timrange in seconds fn get_value_with_offset(ts: &Vec<(u64, f64)>, index: usize, offset: u64) -> anyhow::Result { + // TODO: implement if index == 0 { return Err(anyhow::format_err!("index should be > 0")); } 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 550898e..2b7cdac 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 @@ -4,11 +4,11 @@ use futures::future; use parking_lot::Mutex; use gbdt::config::Config; -use gbdt::decision_tree::{Data, DataVec, PredVec}; +use gbdt::decision_tree::{Data}; use gbdt::gradient_boost::GBDT; use crate::services::{ - analytic_service::types::{self, LearningTrain, HSR}, + analytic_service::types::{LearningTrain, HSR}, metric_service::MetricService, segments_service::{Segment, SegmentType, SegmentsService}, }; diff --git a/server/src/services/analytic_service/analytic_unit/threshold_analytic_unit.rs b/server/src/services/analytic_service/analytic_unit/threshold_analytic_unit.rs index 97923db..d1e5b46 100644 --- a/server/src/services/analytic_service/analytic_unit/threshold_analytic_unit.rs +++ b/server/src/services/analytic_service/analytic_unit/threshold_analytic_unit.rs @@ -1,5 +1,5 @@ use crate::services::{ - analytic_service::types::{self, HSR}, + analytic_service::types::{HSR}, metric_service::MetricService, segments_service::SegmentsService, }; diff --git a/server/src/services/analytic_service/detection_runner.rs b/server/src/services/analytic_service/detection_runner.rs index fe9cbca..4d10a25 100644 --- a/server/src/services/analytic_service/detection_runner.rs +++ b/server/src/services/analytic_service/detection_runner.rs @@ -2,20 +2,21 @@ use crate::services::analytic_service::analytic_unit::types::AnalyticUnit; use std::sync::Arc; -use crate::config::Config; use chrono::Utc; use tokio::sync::{mpsc, RwLock}; -struct DetectionRunner { - config: Config, +use super::types::DetectionRunnerConfig; + +pub struct DetectionRunner { + config: DetectionRunnerConfig, analytic_unit: Arc>>, } impl DetectionRunner { pub fn new( - config: Config, + config: DetectionRunnerConfig, analytic_unit: Arc>>, ) -> DetectionRunner { DetectionRunner { diff --git a/server/src/services/analytic_service/mod.rs b/server/src/services/analytic_service/mod.rs index d59dc4c..7697f8a 100644 --- a/server/src/services/analytic_service/mod.rs +++ b/server/src/services/analytic_service/mod.rs @@ -1,9 +1,9 @@ mod analytic_service; pub mod analytic_unit; pub mod types; +pub mod detection_runner; pub mod analytic_client; -mod detection_runner; pub use analytic_service::AnalyticService; diff --git a/server/src/services/analytic_service/types.rs b/server/src/services/analytic_service/types.rs index cc0ccaa..43b4057 100644 --- a/server/src/services/analytic_service/types.rs +++ b/server/src/services/analytic_service/types.rs @@ -3,7 +3,7 @@ use std::fmt; use crate::services::segments_service::Segment; use super::analytic_unit::{ - pattern_analytic_unit::{self, LearningResults}, + pattern_analytic_unit::{self}, types::AnalyticUnitConfig, };