fix linear

This commit is contained in:
Qiuxia Fan 2022-04-14 17:34:16 +08:00
parent 88a4beab98
commit a17cf4b6be

View File

@ -330,36 +330,22 @@ export function useQueryTopologyMetrics(metrics: string[], ids: string[]) {
return { queryStr, conditions }; return { queryStr, conditions };
} }
function calculateExp( function calculateExp(
arr: any[], arr: { value: number }[],
config: { calculation: string } config: { calculation: string }
): (number | string)[] { ): (number | string)[] {
const sum = arr
.map((d: { value: number }) => d.value)
.reduce((a, b) => a + b);
let data: (number | string)[] = []; let data: (number | string)[] = [];
switch (config.calculation) { switch (config.calculation) {
case Calculations.Average: case Calculations.Average:
data = [ data = [(sum / arr.length).toFixed(2)];
(
arr.map((d: { value: number }) => d.value).reduce((a, b) => a + b) /
arr.length
).toFixed(2),
];
break; break;
case Calculations.PercentageAvg: case Calculations.PercentageAvg:
data = [ data = [(sum / arr.length / 100).toFixed(2)];
(
arr.map((d: { value: number }) => d.value).reduce((a, b) => a + b) /
arr.length /
100
).toFixed(2),
];
break; break;
case Calculations.ApdexAvg: case Calculations.ApdexAvg:
data = [ data = [(sum / arr.length / 10000).toFixed(2)];
(
arr.map((d: { value: number }) => d.value).reduce((a, b) => a + b) /
arr.length /
10000
).toFixed(2),
];
break; break;
default: default:
data = arr.map((d) => aggregation(d.value, config)); data = arr.map((d) => aggregation(d.value, config));
@ -378,6 +364,9 @@ export function aggregation(
case Calculations.Percentage: case Calculations.Percentage:
data = (val / 100).toFixed(2); data = (val / 100).toFixed(2);
break; break;
case Calculations.PercentageAvg:
data = (val / 100).toFixed(2);
break;
case Calculations.ByteToKB: case Calculations.ByteToKB:
data = (val / 1024).toFixed(2); data = (val / 1024).toFixed(2);
break; break;
@ -390,6 +379,9 @@ export function aggregation(
case Calculations.Apdex: case Calculations.Apdex:
data = val / 10000; data = val / 10000;
break; break;
case Calculations.ApdexAvg:
data = val / 10000;
break;
case Calculations.ConvertSeconds: case Calculations.ConvertSeconds:
data = dayjs(val).format("YYYY-MM-DD HH:mm:ss"); data = dayjs(val).format("YYYY-MM-DD HH:mm:ss");
break; break;