修复延迟问题
This commit is contained in:
@@ -38,7 +38,8 @@ async function pollLatency() {
|
||||
const lines = response.data.split('\n');
|
||||
|
||||
for (const line of lines) {
|
||||
if (line.match(/^probe_success\s+1/)) {
|
||||
// Match probe_success with optional labels: probe_success{...} 1
|
||||
if (line.match(/^probe_success({.*})?\s+1/)) {
|
||||
success = true;
|
||||
break;
|
||||
}
|
||||
@@ -48,8 +49,9 @@ async function pollLatency() {
|
||||
// Try specialized metrics first for better accuracy
|
||||
const priorityMetrics = ['probe_icmp_duration_seconds', 'probe_http_duration_seconds', 'probe_duration_seconds'];
|
||||
for (const metricName of priorityMetrics) {
|
||||
// Support scientific notation (e.g. 1.23e-04)
|
||||
const regex = new RegExp(`^${metricName}(?:\\{.*\\})?\\s+([\\d.eE+-]+)`);
|
||||
// More robust regex: handle optional labels and scientific notation
|
||||
// Supports: metric_name{...} 1.23e-4 or metric_name 0.05
|
||||
const regex = new RegExp(`^${metricName}\\s*(?:\\{[^}]*\\})?\\s+([\\d.eE+-]+)`);
|
||||
for (const line of lines) {
|
||||
const match = line.match(regex);
|
||||
if (match) {
|
||||
|
||||
Reference in New Issue
Block a user