修复延迟检测错误

This commit is contained in:
CN-JS-HuiBai
2026-04-06 01:00:35 +08:00
parent 40eeb0b9dd
commit 6b61104641
2 changed files with 21 additions and 6 deletions

View File

@@ -805,12 +805,26 @@ module.exports = {
if (!blackboxUrl || !target) return null;
try {
const normalized = blackboxUrl.trim().replace(/\/+$/, '');
const params = new URLSearchParams({ query: `probe_duration_seconds{instance_name="${target}"}` });
// Construct a single optimized query searching for priority metrics and common labels
// Prioritize probe_icmp_duration_seconds OVER probe_duration_seconds
const queryExpr = `(
probe_icmp_duration_seconds{instance="${target}"} or
probe_icmp_duration_seconds{target="${target}"} or
probe_icmp_duration_seconds{instance_name="${target}"} or
probe_duration_seconds{instance="${target}"} or
probe_duration_seconds{target="${target}"} or
probe_duration_seconds{instance_name="${target}"}
)`;
const params = new URLSearchParams({ query: queryExpr });
const res = await fetch(`${normalized}/api/v1/query?${params.toString()}`);
if (!res.ok) return null;
const data = await res.json();
if (data.status === 'success' && data.data.result.length > 0) {
return parseFloat(data.data.result[0].value[1]) * 1000;
if (res.ok) {
const data = await res.json();
if (data.status === 'success' && data.data.result.length > 0) {
return parseFloat(data.data.result[0].value[1]) * 1000;
}
}
return null;
} catch (err) {