You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
import { AnalyticUnit } from './analytic_unit_model';
|
|
|
|
import { AnalyticUnitId, AnalyticUnitStatus, DetectorType } from './types';
|
|
|
|
|
|
|
|
import { Metric } from 'grafana-datasource-kit';
|
|
|
|
|
|
|
|
|
|
|
|
export class AnomalyAnalyticUnit extends AnalyticUnit {
|
|
|
|
constructor(
|
|
|
|
name: string,
|
|
|
|
grafanaUrl: string,
|
|
|
|
panelId: string,
|
|
|
|
type: string,
|
|
|
|
public alpha: number,
|
|
|
|
public confidence: number,
|
|
|
|
metric?: Metric,
|
|
|
|
alert?: boolean,
|
|
|
|
id?: AnalyticUnitId,
|
|
|
|
lastDetectionTime?: number,
|
|
|
|
status?: AnalyticUnitStatus,
|
|
|
|
error?: string,
|
|
|
|
labeledColor?: string,
|
|
|
|
deletedColor?: string,
|
|
|
|
visible?: boolean
|
|
|
|
) {
|
|
|
|
super(
|
|
|
|
name,
|
|
|
|
grafanaUrl,
|
|
|
|
panelId,
|
|
|
|
type,
|
|
|
|
metric,
|
|
|
|
alert,
|
|
|
|
id,
|
|
|
|
lastDetectionTime,
|
|
|
|
status,
|
|
|
|
error,
|
|
|
|
labeledColor,
|
|
|
|
deletedColor,
|
|
|
|
DetectorType.ANOMALY,
|
|
|
|
visible
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
toObject() {
|
|
|
|
const baseObject = super.toObject();
|
|
|
|
return {
|
|
|
|
...baseObject,
|
|
|
|
alpha: this.alpha,
|
|
|
|
confidence: this.confidence
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
toPanelObject() {
|
|
|
|
const baseObject = super.toPanelObject();
|
|
|
|
return {
|
|
|
|
...baseObject,
|
|
|
|
alpha: this.alpha,
|
|
|
|
confidence: this.confidence
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
static fromObject(obj: any) {
|
|
|
|
// TODO: remove duplication
|
|
|
|
let metric: Metric;
|
|
|
|
if (obj.metric !== undefined) {
|
|
|
|
metric = Metric.fromObject(obj.metric);
|
|
|
|
}
|
|
|
|
|
|
|
|
return new AnomalyAnalyticUnit(
|
|
|
|
obj.name,
|
|
|
|
obj.grafanaUrl,
|
|
|
|
obj.panelId,
|
|
|
|
obj.type,
|
|
|
|
obj.alpha,
|
|
|
|
obj.confidence,
|
|
|
|
metric,
|
|
|
|
obj.alert,
|
|
|
|
obj._id,
|
|
|
|
obj.lastDetectionTime,
|
|
|
|
obj.status,
|
|
|
|
obj.error,
|
|
|
|
obj.labeledColor,
|
|
|
|
obj.deletedColor,
|
|
|
|
obj.visible
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|