mirror of
https://github.com/hansjone/netx.git
synced 2026-10-19 01:53:18 +08:00
Redesign workbench FLEET into aligned donuts and a clickable sched dartboard.
Drop fabric reconcile as redundant with topology, open the traffic wall from the sched card, and surface scheduler tick ages in metrics types. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
c4526e36d8
commit
cd6e1f1069
5 changed files with 1879 additions and 724 deletions
|
|
@ -28,7 +28,7 @@ const en = {
|
||||||
backToWorkbench: "Back to Workbench",
|
backToWorkbench: "Back to Workbench",
|
||||||
openInNewTab: "Open in new tab",
|
openInNewTab: "Open in new tab",
|
||||||
openModule: "Open or switch to this module tab",
|
openModule: "Open or switch to this module tab",
|
||||||
monitoring: "System integration",
|
monitoring: "Integration",
|
||||||
operations: "Operations",
|
operations: "Operations",
|
||||||
system: "System",
|
system: "System",
|
||||||
welcomeEyebrow: "Workbench",
|
welcomeEyebrow: "Workbench",
|
||||||
|
|
@ -39,11 +39,52 @@ const en = {
|
||||||
uptime: "API uptime",
|
uptime: "API uptime",
|
||||||
health: "System health",
|
health: "System health",
|
||||||
tasks: "Active tasks",
|
tasks: "Active tasks",
|
||||||
healthOk: "Schedulers healthy",
|
healthOk: "OK",
|
||||||
healthWarn: "Check schedulers",
|
healthWarn: "CHECK",
|
||||||
healthUnknown: "Metrics unavailable",
|
healthUnknown: "N/A",
|
||||||
},
|
},
|
||||||
statusTitle: "Runtime status",
|
statusTitle: "Runtime status",
|
||||||
|
hostHealth: "HOST",
|
||||||
|
platformCapacity: "Platform capacity",
|
||||||
|
channels: "CHANNELS",
|
||||||
|
fleet: "FLEET",
|
||||||
|
fleetNe: "NE",
|
||||||
|
fleetNeUnit: "units",
|
||||||
|
fleetNeKnown: "Known",
|
||||||
|
fleetNePass: "Pass",
|
||||||
|
fleetNeFail: "Fail",
|
||||||
|
fleetNeTesting: "Testing",
|
||||||
|
fleetNeUnknown: "Untested",
|
||||||
|
fleetNeNoTag: "No tag",
|
||||||
|
fleetNeTags: "Top tags",
|
||||||
|
fleetTopo: "Topology",
|
||||||
|
fleetTopoNodes: "nodes",
|
||||||
|
fleetTopoEdges: "edges",
|
||||||
|
fleetTopoOther: "Other regions",
|
||||||
|
fleetTopoUnassigned: "Unassigned",
|
||||||
|
fleetTopoNoRegion: "No regions",
|
||||||
|
fleetTopoDiscover: "Last discover",
|
||||||
|
fleetTopoUpdated: "Summary updated",
|
||||||
|
fleetSched: "Schedulers",
|
||||||
|
fleetSchedConfig: "Config sync",
|
||||||
|
fleetSchedLldp: "LLDP",
|
||||||
|
fleetSchedPort: "Port traffic",
|
||||||
|
fleetSchedNeCollect: "NE collect",
|
||||||
|
fleetSchedFabric: "Fabric reconcile",
|
||||||
|
fleetSchedOn: "ON",
|
||||||
|
fleetSchedOff: "OFF",
|
||||||
|
fleetSchedMode: "Mode",
|
||||||
|
fleetSchedHeartbeat: "Heartbeat",
|
||||||
|
fleetSchedFresh: "Fresh",
|
||||||
|
fleetSchedStale: "Stale",
|
||||||
|
|
||||||
|
sidePanel: "Console side panel",
|
||||||
|
consoleId: "OPS CONSOLE",
|
||||||
|
refreshedAt: "Updated {{time}}",
|
||||||
|
taskRail: "ACTIVE TASKS",
|
||||||
|
taskRailAll: "ALL",
|
||||||
|
taskRailEmpty: "No active tasks",
|
||||||
|
taskTotal: "POOL {{count}}",
|
||||||
announceTitle: "Announcements",
|
announceTitle: "Announcements",
|
||||||
recentTitle: "Recent operations",
|
recentTitle: "Recent operations",
|
||||||
recentMore: "View all",
|
recentMore: "View all",
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ const zh = {
|
||||||
monitoring: "系统对接",
|
monitoring: "系统对接",
|
||||||
operations: "运维",
|
operations: "运维",
|
||||||
system: "系统管理",
|
system: "系统管理",
|
||||||
welcomeEyebrow: "工作台",
|
welcomeEyebrow: "Workbench",
|
||||||
welcomeTitle: "欢迎回来,{{name}}",
|
welcomeTitle: "欢迎回来,{{name}}",
|
||||||
welcomeSub: "在此总览同步、拓扑与后台任务状态。",
|
welcomeSub: "在此总览同步、拓扑与后台任务状态。",
|
||||||
today: "今天 · {{date}}",
|
today: "今天 · {{date}}",
|
||||||
|
|
@ -39,11 +39,52 @@ const zh = {
|
||||||
uptime: "API 运行时长",
|
uptime: "API 运行时长",
|
||||||
health: "系统健康",
|
health: "系统健康",
|
||||||
tasks: "进行中任务",
|
tasks: "进行中任务",
|
||||||
healthOk: "调度正常",
|
healthOk: "OK",
|
||||||
healthWarn: "请检查调度",
|
healthWarn: "CHECK",
|
||||||
healthUnknown: "指标暂不可用",
|
healthUnknown: "N/A",
|
||||||
},
|
},
|
||||||
statusTitle: "运行状态",
|
statusTitle: "运行状态",
|
||||||
|
hostHealth: "HOST",
|
||||||
|
platformCapacity: "平台容量",
|
||||||
|
channels: "CHANNELS",
|
||||||
|
fleet: "FLEET",
|
||||||
|
fleetNe: "网元",
|
||||||
|
fleetNeUnit: "台",
|
||||||
|
fleetNeKnown: "已知",
|
||||||
|
fleetNePass: "已连通",
|
||||||
|
fleetNeFail: "失败",
|
||||||
|
fleetNeTesting: "测试中",
|
||||||
|
fleetNeUnknown: "未测试",
|
||||||
|
fleetNeNoTag: "无标签",
|
||||||
|
fleetNeTags: "热门标签",
|
||||||
|
fleetTopo: "拓扑",
|
||||||
|
fleetTopoNodes: "节点",
|
||||||
|
fleetTopoEdges: "边",
|
||||||
|
fleetTopoOther: "其他区域",
|
||||||
|
fleetTopoUnassigned: "未分区",
|
||||||
|
fleetTopoNoRegion: "暂无区域",
|
||||||
|
fleetTopoDiscover: "最近发现",
|
||||||
|
fleetTopoUpdated: "摘要更新",
|
||||||
|
fleetSched: "调度",
|
||||||
|
fleetSchedConfig: "配置同步",
|
||||||
|
fleetSchedLldp: "LLDP",
|
||||||
|
fleetSchedPort: "端口流量",
|
||||||
|
fleetSchedNeCollect: "网元采集",
|
||||||
|
fleetSchedFabric: "拓扑对账",
|
||||||
|
fleetSchedOn: "ON",
|
||||||
|
fleetSchedOff: "OFF",
|
||||||
|
fleetSchedMode: "模式",
|
||||||
|
fleetSchedHeartbeat: "心跳",
|
||||||
|
fleetSchedFresh: "新鲜",
|
||||||
|
fleetSchedStale: "过期",
|
||||||
|
|
||||||
|
sidePanel: "控制台侧栏",
|
||||||
|
consoleId: "OPS CONSOLE",
|
||||||
|
refreshedAt: "更新于 {{time}}",
|
||||||
|
taskRail: "ACTIVE TASKS",
|
||||||
|
taskRailAll: "ALL",
|
||||||
|
taskRailEmpty: "No active tasks",
|
||||||
|
taskTotal: "POOL {{count}}",
|
||||||
announceTitle: "系统公告",
|
announceTitle: "系统公告",
|
||||||
recentTitle: "最近操作",
|
recentTitle: "最近操作",
|
||||||
recentMore: "查看全部",
|
recentMore: "查看全部",
|
||||||
|
|
|
||||||
1512
web/src/index.css
1512
web/src/index.css
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -342,9 +342,15 @@ export type RuntimeMetrics = {
|
||||||
port_traffic?: { running?: boolean };
|
port_traffic?: { running?: boolean };
|
||||||
device_schedulers?: {
|
device_schedulers?: {
|
||||||
stale?: boolean;
|
stale?: boolean;
|
||||||
config_sync?: { running?: boolean };
|
mode?: string;
|
||||||
lldp_collect?: { running?: boolean };
|
source?: string;
|
||||||
port_traffic?: { running?: boolean };
|
age_sec?: number | null;
|
||||||
|
hint?: string | null;
|
||||||
|
config_sync?: { running?: boolean; last_tick_age_sec?: number | null };
|
||||||
|
lldp_collect?: { running?: boolean; last_tick_age_sec?: number | null };
|
||||||
|
ne_collect?: { running?: boolean; last_tick_age_sec?: number | null };
|
||||||
|
port_traffic?: { running?: boolean; last_tick_age_sec?: number | null };
|
||||||
|
fabric_reconcile?: { running?: boolean; last_run_age_sec?: number | null };
|
||||||
};
|
};
|
||||||
[key: string]: unknown;
|
[key: string]: unknown;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue