fix(ui): убрать выдуманные измерения из карты сети
This commit is contained in:
1 parent
329d6b82f7
commit
e47e2b4029
7 files changed
+100
-37
No files matched your search
+21
-11
@@ -10,14 +10,15 @@ import {
|
||||
wanUplinkIpMatchesGreOuter,
|
||||
} from "@/lib/gre-endpoint-resolve"
|
||||
|
||||
/** Визуализация метрик на GRE (нет отдельного API замеров для карты). */
|
||||
/** Неизвестные live метрики GRE; синтетические значения доступны только при demo=true. */
|
||||
export interface TunnelProbe {
|
||||
pingMs: number | null
|
||||
dlMbps: number | null
|
||||
ulMbps: number | null
|
||||
}
|
||||
|
||||
export function greTunnelProbe(t: GreTunnel): TunnelProbe {
|
||||
export function greTunnelProbe(t: GreTunnel, demo = false): TunnelProbe {
|
||||
if (!demo) return {pingMs:null,dlMbps:null,ulMbps:null}
|
||||
if (t.status === "down" || !t.enabled)
|
||||
return { pingMs: null, dlMbps: null, ulMbps: null }
|
||||
const h = t.id.split("").reduce((a, c) => a + c.charCodeAt(0), 0)
|
||||
@@ -89,15 +90,16 @@ export interface WanJhEdge {
|
||||
}
|
||||
|
||||
export interface NetworkMapSrvRes {
|
||||
cpu: number
|
||||
cpu: number | null
|
||||
cpuHistory: number[]
|
||||
ramUsed: number
|
||||
ramTotal: number
|
||||
hddUsed: number
|
||||
hddTotal: number
|
||||
uptimeSeconds: number
|
||||
ramUsed: number | null
|
||||
ramTotal: number | null
|
||||
hddUsed: number | null
|
||||
hddTotal: number | null
|
||||
uptimeSeconds: number | null
|
||||
temp?: number
|
||||
/** CPU/RAM/uptime сняты с последнего снапшота опроса; HDD в API нет — по-прежнему условная шкала. */
|
||||
/** Live значения сняты с последнего опроса; отсутствующие поля и HDD неизвестны. */
|
||||
measuredAt?: string | null
|
||||
fromPoll?: boolean
|
||||
}
|
||||
|
||||
@@ -533,8 +535,16 @@ export function buildWanJhEdges(servers: Server[]): WanJhEdge[] {
|
||||
return edges
|
||||
}
|
||||
|
||||
/** Ресурсы для карточки узла на карте: при наличии снапшота опроса — как в разделе «Серверы», иначе демо по id. */
|
||||
export function buildServerResourceMap(servers: Server[]): Record<string, NetworkMapSrvRes> {
|
||||
/** Ресурсы API без синтетической истории и fallback; demo=true включает демонстрацию по id. */
|
||||
export function buildServerResourceMap(servers: Server[], demo = false): Record<string, NetworkMapSrvRes> {
|
||||
if (!demo) return Object.fromEntries(servers.map(s=>[s.id,{
|
||||
cpu:s.cpuLoad ?? null,cpuHistory:[],
|
||||
ramTotal:s.totalMemory==null?null:s.totalMemory/(1024*1024),
|
||||
ramUsed:s.totalMemory==null||s.freeMemory==null?null:(s.totalMemory-s.freeMemory)/(1024*1024),
|
||||
hddUsed:null,hddTotal:null,
|
||||
uptimeSeconds:s.uptime && /^(?:\d+[wdhms])+$/.test(s.uptime)?parseRouterosUptimeToSeconds(s.uptime):null,
|
||||
measuredAt:s.polledAt ?? null,fromPoll:true,
|
||||
} satisfies NetworkMapSrvRes]))
|
||||
return Object.fromEntries(
|
||||
servers.map((s) => {
|
||||
const h = s.id.split("").reduce((a, c) => a + c.charCodeAt(0), 0)
|
||||
|
||||
Reference in new issue
Block a user