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 минуту",
|
||||
"ranges": [
|
||||
{"min": 0, "max": 0, "status": 3, "sum": "a+b*a-a"},
|
||||
{"min": 0, "max": 0.1, "status": 0, "sum": "val: a+b"},
|
||||
{"min": 0.11, "max": 0.12, "status": 1, "sum": "a+b"} ,
|
||||
{"min": 0.13, "max": 1, "status": 2, "sum": "a+b"},
|
||||
{"min": 0.5, "max": 0.8, "status": 1, "sum": "a+b"}
|
||||
{"min": 0, "max": 0, "status": 3},
|
||||
{"min": 0, "max": 0.1, "status": 0},
|
||||
{"min": 0.11, "max": 0.12, "status": 1},
|
||||
{"min": 0.13, "max": 1, "status": 2},
|
||||
{"min": 0.5, "max": 0.8, "status": 1}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "measure_191", "_comment":"Загрузка процессора за 5 минут",
|
||||
"ranges": [
|
||||
{"min": 0, "max": 0.2, "status": 0, "sum": "a+b"},
|
||||
{"min": 0.21, "max": 0.32, "status": 1, "sum": "a+b"},
|
||||
{"min": 0.33, "max": 1, "status": 2, "sum": "a+b"}
|
||||
{"min": 0, "max": 0.2, "status": 0},
|
||||
{"min": 0.21, "max": 0.32, "status": 1},
|
||||
{"min": 0.33, "max": 1, "status": 2}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
|
@ -16,12 +16,22 @@ export class ZvksmetricsController {
|
|||
return sum.value;
|
||||
}
|
||||
|
||||
//Заглушка для будующей API
|
||||
@Options('config/:code')
|
||||
async showConfig (@Param('code', ParseIntPipe) code: number): Promise<JSON>{
|
||||
//Заглушка для будующей API под граничные значения
|
||||
@Options('ranges/:code')
|
||||
async showRanges (@Param('code', ParseIntPipe) code: number): Promise<JSON>{
|
||||
let ret : JSON = JSON.parse('{"result":"null"}');
|
||||
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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,7 +28,6 @@ export class RangeValues {
|
|||
min: number;
|
||||
max: number;
|
||||
status: number;
|
||||
sum: any;
|
||||
};
|
||||
|
||||
@Injectable()
|
||||
|
|
@ -49,14 +48,21 @@ export class ZvksmetricsService {
|
|||
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);
|
||||
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 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 responseFromExporter : any = await this.sendMetrics (editedMetrics);
|
||||
|
|
@ -95,6 +101,7 @@ export class ZvksmetricsService {
|
|||
|
||||
await axios.post(path, body, options).then((response)=>{
|
||||
resp = response.status + ' ' + response.data;
|
||||
// console.log(resp);
|
||||
}).catch((error)=>{
|
||||
resp = error;
|
||||
});
|
||||
|
|
@ -120,7 +127,7 @@ export class ZvksmetricsService {
|
|||
}
|
||||
|
||||
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 = {
|
||||
headers: {'Content-Type' : 'application/json'}
|
||||
};
|
||||
|
|
@ -134,7 +141,7 @@ export class ZvksmetricsService {
|
|||
return rangesData;
|
||||
}
|
||||
|
||||
async showRangesConfig(filePath: string) : Promise<JSON> {
|
||||
async showRangesOptions(filePath: string) : Promise<JSON> {
|
||||
let content : JSON = JSON.parse('{"name":"name"}');
|
||||
filePath = './src/zvksmetrics/conf/ranges.json';
|
||||
try {
|
||||
|
|
@ -146,4 +153,19 @@ export class ZvksmetricsService {
|
|||
|
||||
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