修复websocket
This commit is contained in:
@@ -1026,7 +1026,34 @@ function broadcast(data) {
|
||||
async function broadcastMetrics() {
|
||||
try {
|
||||
const overview = await getOverview();
|
||||
broadcast({ type: 'overview', data: overview });
|
||||
|
||||
// Also include latencies in the broadcast to make map lines real-time
|
||||
const [routes] = await db.query(`
|
||||
SELECT r.*, s.url, s.type as source_type
|
||||
FROM latency_routes r
|
||||
JOIN prometheus_sources s ON r.source_id = s.id
|
||||
`);
|
||||
|
||||
const latencyResults = await Promise.all(routes.map(async (route) => {
|
||||
let latency = await cache.get(`latency:route:${route.id}`);
|
||||
if (latency === null && route.source_type === 'prometheus') {
|
||||
latency = await prometheusService.getLatency(route.url, route.latency_target);
|
||||
}
|
||||
return {
|
||||
id: route.id,
|
||||
source: route.latency_source,
|
||||
dest: route.latency_dest,
|
||||
latency: latency
|
||||
};
|
||||
}));
|
||||
|
||||
broadcast({
|
||||
type: 'overview',
|
||||
data: {
|
||||
...overview,
|
||||
latencies: latencyResults
|
||||
}
|
||||
});
|
||||
} catch (err) {
|
||||
// console.error('WS Broadcast error:', err.message);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user