After Disk Recovery
parent
5e3d836b29
commit
d8e5c9af6a
|
|
@ -0,0 +1,20 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "CPU usage",
|
||||||
|
"values": "{\"arr\":[191, 192, 193]}",
|
||||||
|
"formula": "arr[1]+arr[2]+arr[3]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "RAM usage",
|
||||||
|
"values": "{\"arr\":[191, 192, 193]}",
|
||||||
|
"formula": "arr[1]+arr[2]+arr[3]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Hard disks usage",
|
||||||
|
"values": "{\"arr\":[191, 192, 193]}",
|
||||||
|
"formula": "arr[1]+arr[2]+arr[3]"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
]
|
||||||
|
|
@ -2,19 +2,19 @@
|
||||||
{
|
{
|
||||||
"name": "measure_190", "_comment":"Загрузка процессора за 1 минуту",
|
"name": "measure_190", "_comment":"Загрузка процессора за 1 минуту",
|
||||||
"ranges": [
|
"ranges": [
|
||||||
{"min": 0, "max": 0, "status": 3, "sum": "a+b*a-a"},
|
{"min": 0, "max": 0, "status": 3},
|
||||||
{"min": 0, "max": 0.1, "status": 0, "sum": "val: a+b"},
|
{"min": 0, "max": 0.1, "status": 0},
|
||||||
{"min": 0.11, "max": 0.12, "status": 1, "sum": "a+b"} ,
|
{"min": 0.11, "max": 0.12, "status": 1},
|
||||||
{"min": 0.13, "max": 1, "status": 2, "sum": "a+b"},
|
{"min": 0.13, "max": 1, "status": 2},
|
||||||
{"min": 0.5, "max": 0.8, "status": 1, "sum": "a+b"}
|
{"min": 0.5, "max": 0.8, "status": 1}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "measure_191", "_comment":"Загрузка процессора за 5 минут",
|
"name": "measure_191", "_comment":"Загрузка процессора за 5 минут",
|
||||||
"ranges": [
|
"ranges": [
|
||||||
{"min": 0, "max": 0.2, "status": 0, "sum": "a+b"},
|
{"min": 0, "max": 0.2, "status": 0},
|
||||||
{"min": 0.21, "max": 0.32, "status": 1, "sum": "a+b"},
|
{"min": 0.21, "max": 0.32, "status": 1},
|
||||||
{"min": 0.33, "max": 1, "status": 2, "sum": "a+b"}
|
{"min": 0.33, "max": 1, "status": 2}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
@ -16,12 +16,22 @@ export class ZvksmetricsController {
|
||||||
return sum.value;
|
return sum.value;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Заглушка для будующей API
|
//Заглушка для будующей API под граничные значения
|
||||||
@Options('config/:code')
|
@Options('ranges/:code')
|
||||||
async showConfig (@Param('code', ParseIntPipe) code: number): Promise<JSON>{
|
async showRanges (@Param('code', ParseIntPipe) code: number): Promise<JSON>{
|
||||||
let ret : JSON = JSON.parse('{"result":"null"}');
|
let ret : JSON = JSON.parse('{"result":"null"}');
|
||||||
if(code === 9999){
|
if(code === 9999){
|
||||||
return await this.metricsService.showRangesConfig('File Name');
|
return await this.metricsService.showRangesOptions('File Name');
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Заглушка для будующей API под комплексные значения метрик
|
||||||
|
@Options('complex/:code')
|
||||||
|
async showComplexMetrics (@Param('code', ParseIntPipe) code: number): Promise<JSON>{
|
||||||
|
let ret : JSON = JSON.parse('{"result":"null"}');
|
||||||
|
if(code === 5555){
|
||||||
|
return await this.metricsService.showComplexMetricsConfig('File Name');
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,6 @@ export class RangeValues {
|
||||||
min: number;
|
min: number;
|
||||||
max: number;
|
max: number;
|
||||||
status: number;
|
status: number;
|
||||||
sum: any;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
|
|
@ -49,14 +48,21 @@ export class ZvksmetricsService {
|
||||||
scope = await this.setMetricsRanges ();
|
scope = await this.setMetricsRanges ();
|
||||||
|
|
||||||
|
|
||||||
let rng: any = {val: [{x:3}, {x:4}, {x:5}, {x:9}]};
|
// let rng: any = {val: [{x:3}, {x:4}, {x:5}, {x:9}]};
|
||||||
// console.log(rng.val[0].x);
|
// console.log(rng.val[0].x);
|
||||||
let testFormula: string = (rng.val[0].x + rng.val[1].x - rng.val[2].x + rng.val[3].x).toString();
|
// let testFormula: string = (rng.val[0].x + rng.val[1].x - rng.val[2].x + rng.val[3].x).toString();
|
||||||
|
|
||||||
// let formula: string = scope[0].ranges[0].sum;
|
// let formula: string = scope[0].ranges[0].sum;
|
||||||
// let value: any = {formula};
|
// let value: any = {formula};
|
||||||
console.log(evaluate(testFormula, rng));
|
// console.log(evaluate(testFormula, rng));
|
||||||
|
|
||||||
|
// console.log(JSON.stringify("arr:[191, 192, 193]"));
|
||||||
|
|
||||||
|
// let x: any = {arr:[191, 192, 193], sum: 'arr[1]+arr[2]+arr[3]'};
|
||||||
|
// let x: any = JSON.parse(scope[0].ranges[0].values);
|
||||||
|
// let y: string = scope[0].ranges[0].formula;
|
||||||
|
// console.log(y, x);
|
||||||
|
// console.log(evaluate(y, x));
|
||||||
|
|
||||||
let editedMetrics : K2Metrics = await this.getMetrics (inp, scope);
|
let editedMetrics : K2Metrics = await this.getMetrics (inp, scope);
|
||||||
let responseFromExporter : any = await this.sendMetrics (editedMetrics);
|
let responseFromExporter : any = await this.sendMetrics (editedMetrics);
|
||||||
|
|
@ -95,6 +101,7 @@ export class ZvksmetricsService {
|
||||||
|
|
||||||
await axios.post(path, body, options).then((response)=>{
|
await axios.post(path, body, options).then((response)=>{
|
||||||
resp = response.status + ' ' + response.data;
|
resp = response.status + ' ' + response.data;
|
||||||
|
// console.log(resp);
|
||||||
}).catch((error)=>{
|
}).catch((error)=>{
|
||||||
resp = error;
|
resp = error;
|
||||||
});
|
});
|
||||||
|
|
@ -120,7 +127,7 @@ export class ZvksmetricsService {
|
||||||
}
|
}
|
||||||
|
|
||||||
async setMetricsRanges (@Body() rangesData : any = null) : Promise<MetricsRanges []> {
|
async setMetricsRanges (@Body() rangesData : any = null) : Promise<MetricsRanges []> {
|
||||||
let url : string = 'http://192.168.2.39:9999/api/config/9999';
|
let url : string = 'http://192.168.2.39:9999/api/ranges/9999';
|
||||||
let options : any = {
|
let options : any = {
|
||||||
headers: {'Content-Type' : 'application/json'}
|
headers: {'Content-Type' : 'application/json'}
|
||||||
};
|
};
|
||||||
|
|
@ -134,7 +141,7 @@ export class ZvksmetricsService {
|
||||||
return rangesData;
|
return rangesData;
|
||||||
}
|
}
|
||||||
|
|
||||||
async showRangesConfig(filePath: string) : Promise<JSON> {
|
async showRangesOptions(filePath: string) : Promise<JSON> {
|
||||||
let content : JSON = JSON.parse('{"name":"name"}');
|
let content : JSON = JSON.parse('{"name":"name"}');
|
||||||
filePath = './src/zvksmetrics/conf/ranges.json';
|
filePath = './src/zvksmetrics/conf/ranges.json';
|
||||||
try {
|
try {
|
||||||
|
|
@ -146,4 +153,19 @@ export class ZvksmetricsService {
|
||||||
|
|
||||||
return content;
|
return content;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async showComplexMetricsConfig(filePath: string) : Promise<JSON> {
|
||||||
|
let content : JSON = JSON.parse('{"name":"name"}');
|
||||||
|
filePath = './src/zvksmetrics/conf/complex.json';
|
||||||
|
try {
|
||||||
|
content = JSON.parse(await readFile(filePath, { encoding: 'utf8' }));
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
console.log('Error read file');
|
||||||
|
}
|
||||||
|
|
||||||
|
return content;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue