Add integration & complex label

main
DenisN 2025-08-21 04:17:13 -04:00
parent 6aec5760ca
commit 896c54be03
3 changed files with 26 additions and 26 deletions

View File

@ -31,7 +31,7 @@
"id": "90002", "id": "90002",
"name": "application_li", "name": "application_li",
"values": { "values": {
"cmplxarr": [ "statusarr": [
"total_participants", "total_participants",
"conferences_active", "conferences_active",
"registered_abonents", "registered_abonents",
@ -44,6 +44,6 @@
"0.1" "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]))"
} }
] ]

View File

@ -46,7 +46,7 @@ export class ZvksmetricsController {
return ret; return ret;
} }
//Заглушка для будующей API под интеграционные значения метрик //Заглушка для будующей API под интеграционные значения метрик
@Options('integration/:code') @Options('integration/:code')
async showIntegrationMetrics(@Param('code', ParseIntPipe) code: number): Promise<JSON> { async showIntegrationMetrics(@Param('code', ParseIntPipe) code: number): Promise<JSON> {
let ret: JSON = JSON.parse('{"result":"null"}'); let ret: JSON = JSON.parse('{"result":"null"}');

View File

@ -172,7 +172,7 @@ export class ZvksmetricsService {
complexMetric.description = complexCalc[i].name; complexMetric.description = complexCalc[i].name;
complexMetric.status = await this.showStatus(scope, complexMetric.name, val); complexMetric.status = await this.showStatus(scope, complexMetric.name, val);
complexMetric.device = devices[d]; complexMetric.device = devices[d];
complexMetric.source = metr.source; complexMetric.source = metr.source + ', complex';
metrics.push(complexMetric); metrics.push(complexMetric);
await compare.CompareStatus(complexMetric); await compare.CompareStatus(complexMetric);
@ -209,7 +209,7 @@ export class ZvksmetricsService {
integrationMetric.description = intgrationCalc[i].name; integrationMetric.description = intgrationCalc[i].name;
integrationMetric.status = await this.showStatus(scope, integrationMetric.name, val); integrationMetric.status = await this.showStatus(scope, integrationMetric.name, val);
integrationMetric.device = devices[d]; integrationMetric.device = devices[d];
integrationMetric.source = metr.source; integrationMetric.source = metr.source.replace(', complex', ', integration');
metrics.push(integrationMetric); metrics.push(integrationMetric);
await compare.CompareStatus(integrationMetric); await compare.CompareStatus(integrationMetric);
@ -235,10 +235,10 @@ export class ZvksmetricsService {
let temp = arr[i]; let temp = arr[i];
arr[i] = currMetrics.find(element => element.name == arr[i] && element.device == device)?.value; arr[i] = currMetrics.find(element => element.name == arr[i] && element.device == device)?.value;
// if(!arr[i]){ if (!arr[i]) {
// console.log(arr[i], temp, device); // console.log(arr[i], temp, device);
// arr[i]=0; arr[i] = 0;
// } }
} }
let prevarr = val.prevarr; let prevarr = val.prevarr;
if (prevarr) { if (prevarr) {
@ -265,8 +265,8 @@ export class ZvksmetricsService {
let arr = val.statusarr; let arr = val.statusarr;
let arr_len: number = 13; //arr.length; let arr_len: number = 13; //arr.length;
// console.log (metricName); // console.log (metricName);
if(metricName == "application_li"){ if (metricName == "application_li") {
arr = val.cmplxarr; arr = val.statusarr;
arr_len = 4; arr_len = 4;
} }
// console.log(arr); // console.log(arr);
@ -277,20 +277,20 @@ export class ZvksmetricsService {
for (let i = 0; i < arr_len; i++) { for (let i = 0; i < arr_len; i++) {
// let temp = arr[i]; // let temp = arr[i];
if(metricName == "server_li"){ // if(metricName == "server_li"){
arr[i] = metrics.find(element => element.name == arr[i] && element.device == device)?.status; arr[i] = metrics.find(element => element.name == arr[i] && element.device == device)?.status;
if(arr[i]!=0) { if (arr[i] != 0) {
arr[i]--; arr[i]--;
}
// console.log(arr[i]);
}
if(metricName == "application_li"){
arr[i] = metrics.find(element => element.name == arr[i] && element.device == device)?.value;
} }
// console.log(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]); // console.log(arr[i]);
} }
@ -364,7 +364,7 @@ export class ZvksmetricsService {
async saveRanges(inputRanges: string): Promise<any> { async saveRanges(inputRanges: string): Promise<any> {
let ret: any; let ret: any;
let filePath: any = process.env. RANGES_CONFIG; let filePath: any = process.env.RANGES_CONFIG;
// console.log(inputRanges); // console.log(inputRanges);
let inp: string = JSON.stringify(inputRanges); let inp: string = JSON.stringify(inputRanges);
try { try {