From e09209fb114422d14acc331bd7b46e87d5fd7783 Mon Sep 17 00:00:00 2001 From: Alexey Velikiy Date: Wed, 10 Nov 2021 22:54:52 +0300 Subject: [PATCH] basic hsr on client --- client/src/components/Graph.vue | 9 +++++++-- client/src/components/pods/anomaly_pod.ts | 2 ++ client/src/services/analytics.service.ts | 14 ++++++++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/client/src/components/Graph.vue b/client/src/components/Graph.vue index 4592801..5c50332 100644 --- a/client/src/components/Graph.vue +++ b/client/src/components/Graph.vue @@ -21,6 +21,7 @@ import _ from "lodash"; import { AnalyticUnitType } from '@/types/analytic_units'; import { defineComponent, watch } from 'vue'; +import { getHSR } from "@/services/analytics.service"; // TODO: move to store async function resolveDataPatterns(range: TimeRange): Promise<{ @@ -97,9 +98,13 @@ async function resolveDataAnomaly(range: TimeRange): Promise<{ // TODO: request in parallel let [target, values] = await getMetrics(startTime, endTime, step); let segments = await getSegments(startTime, endTime, false); + let hsr = await getHSR(startTime, endTime); return { - timeserie: [{ target: target, datapoints: values, color: 'green' }], - segments: segments + timeserie: [ + { target: target, datapoints: values, color: 'green' }, + { target: "HSR", datapoints: hsr, color: 'red' } + ], + segments: segments, } } catch (e) { this.$notify({ diff --git a/client/src/components/pods/anomaly_pod.ts b/client/src/components/pods/anomaly_pod.ts index 6b8256a..6395958 100644 --- a/client/src/components/pods/anomaly_pod.ts +++ b/client/src/components/pods/anomaly_pod.ts @@ -8,6 +8,7 @@ import { SegmentsSet } from '@/types/segment_set'; export type UpdateDataCallback = (range: TimeRange) => Promise<{ timeserie: LineTimeSerie[], + hsr: LineTimeSerie[], segments: Segment[] }>; @@ -38,6 +39,7 @@ export class AnomalyPod extends HasticPod { .then(resp => { this.updateSegments(resp.segments); this.updateData(resp.timeserie, undefined, true); + console.log(resp.hsr); }) .catch(() => { /* set "error" message */ }) } diff --git a/client/src/services/analytics.service.ts b/client/src/services/analytics.service.ts index 9aec2d4..1fcab15 100644 --- a/client/src/services/analytics.service.ts +++ b/client/src/services/analytics.service.ts @@ -56,3 +56,17 @@ export async function patchConfig(patchObj: any) { export function getStatusGenerator(): AsyncIterableIterator { return getGenerator(100, getStatus); } + +export async function getHSR(from: number, to: number): Promise<[number, number][]> { + if(from >= to) { + throw new Error("`from` can`t be less than `to`"); + } + + const uri = ANALYTICS_API_URL + `hsr/?from=${from}&to=${to}`; + const res = await axios.get(uri); + + const values = res["data"]["TimeSerie"]; + console.log(values); + + return values as [number, number][]; +}