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",
"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]))"
}
]

View File

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

View File

@ -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<any> {
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 {