Browse Source

Threshold config

pull/25/head
Alexey Velikiy 3 years ago
parent
commit
ad4dcc43b8
  1. 17
      client/src/views/Home.vue
  2. 2
      server/src/services/analytic_service/analytic_unit/threshold_analytic_unit.rs
  3. 5
      server/src/services/analytic_service/analytic_unit/types.rs

17
client/src/views/Home.vue

@ -5,12 +5,17 @@
<analytic-status />
<div>
Analytic unit type: <select :value="analyticUnitType" @change="changeAnalyticUnitType">
Analytic unit type:
<select :value="analyticUnitType" @change="changeAnalyticUnitType">
<option disabled value="">Please Select</option>
<option v-bind:key="option" v-for="option in analyticUnitTypes" :value="option">{{option}}</option>
</select> <br/><br/>
</div>
<div id="controls">
<div v-if="analyticUnitType == analyticUnitTypes[0]">
Threshold:
<input :value="analyticUnitConfig.threshold" @change="thresholdChange" /> <br/><br/>
</div>
<div v-if="analyticUnitType == analyticUnitTypes[1]">
Hold <pre>S</pre> to label patterns;
Hold <pre>A</pre> to label anti patterns <br/>
@ -53,6 +58,15 @@ export default defineComponent({
changeAnalyticUnitType(e) {
this.$store.dispatch('patchConfig', { [e.target.value]: null } );
},
// Threshold
thresholdChange(e) {
let cfg = _.clone(this.analyticUnitConfig);
cfg.threshold = parseFloat(e.target.value);
this.$store.dispatch('patchConfig', { Threshold: cfg });
},
// Pattern
correlationScoreChange(e) {
let cfg = _.clone(this.analyticUnitConfig);
cfg.correlation_score = parseFloat(e.target.value);
@ -73,6 +87,7 @@ export default defineComponent({
cfg.threshold_score = parseFloat(e.target.value);
this.$store.dispatch('patchConfig', { Pattern: cfg });
}
},
data: function () {
return {

2
server/src/services/analytic_service/analytic_unit/threshold_analytic_unit.rs

@ -52,7 +52,7 @@ impl AnalyticUnit for ThresholdAnalyticUnit {
let mut result = Vec::<(u64, u64)>::new();
let mut from: Option<u64> = None;
for (t, v) in ts {
if *v > self.config.threashold {
if *v > self.config.threshold {
if from.is_some() {
continue;
} else {

5
server/src/services/analytic_service/analytic_unit/types.rs

@ -1,4 +1,3 @@
use fastrand::bool;
use serde::{Deserialize, Serialize};
use async_trait::async_trait;
@ -37,12 +36,12 @@ impl Default for AnomalyConfig {
#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct ThresholdConfig {
pub threashold: f64,
pub threshold: f64,
}
impl Default for ThresholdConfig {
fn default() -> Self {
ThresholdConfig { threashold: 0.5 }
ThresholdConfig { threshold: 0.5 }
}
}

Loading…
Cancel
Save