支持查看CPU Busy Others

This commit is contained in:
CN-JS-HuiBai
2026-04-05 18:24:21 +08:00
parent 464c3193d1
commit 7c1f0d4e63
4 changed files with 103 additions and 4 deletions

View File

@@ -639,11 +639,28 @@ async function getServerHistory(baseUrl, instance, job, metric, range = '1h', st
sockstatTcpMem: `node_sockstat_TCP_mem{instance="${node}",job="${job}"} * 4096`
};
const rangeObj = parseRange(range, start, end);
if (metric === 'networkTrend') {
const txExpr = metricMap.netTx;
const rxExpr = metricMap.netRx;
const [txResult, rxResult] = await Promise.all([
queryRange(url, txExpr, rangeObj.queryStart, rangeObj.queryEnd, rangeObj.step),
queryRange(url, rxExpr, rangeObj.queryStart, rangeObj.queryEnd, rangeObj.step)
]);
if (txResult.length === 0 && rxResult.length === 0) return { timestamps: [], rx: [], tx: [] };
const timestamps = (txResult.length > 0 ? txResult[0] : rxResult[0]).values.map(v => v[0] * 1000);
const tx = txResult.length > 0 ? txResult[0].values.map(v => parseFloat(v[1])) : new Array(timestamps.length).fill(0);
const rx = rxResult.length > 0 ? rxResult[0].values.map(v => parseFloat(v[1])) : new Array(timestamps.length).fill(0);
return { timestamps, tx, rx };
}
const expr = metricMap[metric];
if (!expr) throw new Error('Invalid metric for history');
const rangeObj = parseRange(range, start, end);
try {
const result = await queryRange(url, expr, rangeObj.queryStart, rangeObj.queryEnd, rangeObj.step);
if (!result || result.length === 0) return { timestamps: [], values: [] };