From 896c54be03035a3906882cbe707808eb30f0a11b Mon Sep 17 00:00:00 2001 From: DenisN Date: Thu, 21 Aug 2025 04:17:13 -0400 Subject: [PATCH] Add integration & complex label --- src/zvksmetrics/conf/integration.json | 4 +- src/zvksmetrics/zvksmetrics.controller.ts | 2 +- src/zvksmetrics/zvksmetrics.service.ts | 46 +++++++++++------------ 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/zvksmetrics/conf/integration.json b/src/zvksmetrics/conf/integration.json index 3894ee7..a70f6c0 100644 --- a/src/zvksmetrics/conf/integration.json +++ b/src/zvksmetrics/conf/integration.json @@ -31,7 +31,7 @@ "id": "90002", "name": "application_li", "values": { - "cmplxarr": [ + "statusarr": [ "total_participants", "conferences_active", "registered_abonents", @@ -44,6 +44,6 @@ "0.1" ] }, - "formula": "cmplxarr[1]*warr[1]+cmplxarr[2]*warr[2]+cmplxarr[3]*warr[3]+cmplxarr[4]*warr[4]" + "formula": "100 * (1 - (statusarr[1]*warr[1]+statusarr[2]*warr[2]+statusarr[3]*warr[4]+statusarr[4]*warr[3]+statusarr[4]*warr[3])/(warr[1]+warr[2]+warr[4]+warr[4]))" } ] \ No newline at end of file diff --git a/src/zvksmetrics/zvksmetrics.controller.ts b/src/zvksmetrics/zvksmetrics.controller.ts index 4cbc757..c21093c 100644 --- a/src/zvksmetrics/zvksmetrics.controller.ts +++ b/src/zvksmetrics/zvksmetrics.controller.ts @@ -46,7 +46,7 @@ export class ZvksmetricsController { return ret; } - //Заглушка для будующей API под интеграционные значения метрик + //Заглушка для будующей API под интеграционные значения метрик @Options('integration/:code') async showIntegrationMetrics(@Param('code', ParseIntPipe) code: number): Promise { let ret: JSON = JSON.parse('{"result":"null"}'); diff --git a/src/zvksmetrics/zvksmetrics.service.ts b/src/zvksmetrics/zvksmetrics.service.ts index e979d6f..9c8d0eb 100644 --- a/src/zvksmetrics/zvksmetrics.service.ts +++ b/src/zvksmetrics/zvksmetrics.service.ts @@ -172,7 +172,7 @@ export class ZvksmetricsService { complexMetric.description = complexCalc[i].name; complexMetric.status = await this.showStatus(scope, complexMetric.name, val); complexMetric.device = devices[d]; - complexMetric.source = metr.source; + complexMetric.source = metr.source + ', complex'; metrics.push(complexMetric); await compare.CompareStatus(complexMetric); @@ -209,7 +209,7 @@ export class ZvksmetricsService { integrationMetric.description = intgrationCalc[i].name; integrationMetric.status = await this.showStatus(scope, integrationMetric.name, val); integrationMetric.device = devices[d]; - integrationMetric.source = metr.source; + integrationMetric.source = metr.source.replace(', complex', ', integration'); metrics.push(integrationMetric); await compare.CompareStatus(integrationMetric); @@ -235,10 +235,10 @@ export class ZvksmetricsService { let temp = arr[i]; arr[i] = currMetrics.find(element => element.name == arr[i] && element.device == device)?.value; - // if(!arr[i]){ - // console.log(arr[i], temp, device); - // arr[i]=0; - // } + if (!arr[i]) { + // console.log(arr[i], temp, device); + arr[i] = 0; + } } let prevarr = val.prevarr; if (prevarr) { @@ -265,32 +265,32 @@ export class ZvksmetricsService { let arr = val.statusarr; let arr_len: number = 13; //arr.length; // console.log (metricName); - if(metricName == "application_li"){ - arr = val.cmplxarr; + if (metricName == "application_li") { + arr = val.statusarr; arr_len = 4; } // console.log(arr); - - + + obj.source = metrics.find(element => element.name == arr[0] && element.device == device)?.source; for (let i = 0; i < arr_len; i++) { // let temp = arr[i]; - if(metricName == "server_li"){ - arr[i] = metrics.find(element => element.name == arr[i] && element.device == device)?.status; - if(arr[i]!=0) { - arr[i]--; - } - // console.log(arr[i]); - } - if(metricName == "application_li"){ - arr[i] = metrics.find(element => element.name == arr[i] && element.device == device)?.value; + // if(metricName == "server_li"){ + arr[i] = metrics.find(element => element.name == arr[i] && element.device == device)?.status; + if (arr[i] != 0) { + arr[i]--; } // console.log(arr[i]); - if (arr[i] == undefined || arr[i] == null || Number.isNaN(arr[i])) { - arr[i] = Math.random() * 10; - } + // } + // if(metricName == "application_li"){ + // arr[i] = metrics.find(element => element.name == arr[i] && element.device == device)?.value; + // } + // // console.log(arr[i]); + // if (arr[i] == undefined || arr[i] == null || Number.isNaN(arr[i])) { + // arr[i] = Math.random() * 10; + // } // console.log(arr[i]); } @@ -364,7 +364,7 @@ export class ZvksmetricsService { async saveRanges(inputRanges: string): Promise { let ret: any; - let filePath: any = process.env. RANGES_CONFIG; + let filePath: any = process.env.RANGES_CONFIG; // console.log(inputRanges); let inp: string = JSON.stringify(inputRanges); try {