服务器卡片 CPU 标签旁显示核心数
cpu_cores 已随遥测上报并入库,卡片此前未使用。标签显示为 "CPU N 核"(英文 "CPU N cores"),核心数缺失或为 0 时回退为 "CPU"。标签行加 white-space: nowrap,防止长标签在窄卡换行 破坏行高一致性。
This commit is contained in:
1 parent
761073fffc
commit
823a07d464
2 files changed
+3
-2
No files matched your search
@@ -104,6 +104,7 @@ export const NodeCard = memo(function NodeCard({ server, config, liveLatencyResu
|
||||
}) {
|
||||
const threshold = config.offline_threshold_seconds;
|
||||
const online = isOnline(server, threshold);
|
||||
const cpuCores = Math.max(0, Math.trunc(number(server.cpu_cores)));
|
||||
const memory = percent(server.mem_used, server.mem_total);
|
||||
const disk = percent(server.disk_used, server.disk_total);
|
||||
const usedTraffic = trafficUsed(server);
|
||||
@@ -135,7 +136,7 @@ export const NodeCard = memo(function NodeCard({ server, config, liveLatencyResu
|
||||
</div>
|
||||
|
||||
<div className="metric-grid">
|
||||
<Metric label="CPU" value={`${number(server.cpu).toFixed(1)}%`} used={number(server.cpu)} sub={`${number(server.load1).toFixed(2)}, ${number(server.load5).toFixed(2)}, ${number(server.load15).toFixed(2)}`} muted={!online} />
|
||||
<Metric label={cpuCores > 0 ? ui(locale, `CPU ${cpuCores} 核`, `CPU ${cpuCores} ${cpuCores === 1 ? "core" : "cores"}`) : "CPU"} value={`${number(server.cpu).toFixed(1)}%`} used={number(server.cpu)} sub={`${number(server.load1).toFixed(2)}, ${number(server.load5).toFixed(2)}, ${number(server.load15).toFixed(2)}`} muted={!online} />
|
||||
<Metric label={ui(locale, "内存", "Memory")} value={`${memory.toFixed(1)}%`} used={memory} sub={`${formatBytes(server.mem_used)} / ${formatBytes(server.mem_total)}`} muted={!online} />
|
||||
<Metric label={ui(locale, "硬盘", "Disk")} value={`${disk.toFixed(1)}%`} used={disk} sub={`${formatBytes(server.disk_used)} / ${formatBytes(server.disk_total)}`} muted={!online} />
|
||||
<Metric label={ui(locale, "流量", "Traffic")} value={server.traffic_limit > 0 ? `${traffic.toFixed(1)}%` : "∞"} used={traffic} sub={`${formatBytes(usedTraffic)} / ${server.traffic_limit > 0 ? formatBytes(server.traffic_limit) : "∞"}`} muted={!online} />
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
.metric { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
|
||||
.metric.muted { opacity: .55; }
|
||||
/* 固定行高:CJK 回退字体的 normal 行高大于拉丁文本,浮动行高会把进度条与下一行顶偏 */
|
||||
.metric > div { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 8px; font-size: 13px; line-height: 16px; }
|
||||
.metric > div { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 8px; font-size: 13px; line-height: 16px; white-space: nowrap; }
|
||||
.metric span, .metric small { color: var(--muted-foreground); }
|
||||
.metric strong { font-weight: 500; font-variant-numeric: tabular-nums; }
|
||||
.metric small { overflow: hidden; font-size: 12px; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; line-height: 14px; }
|
||||
|
||||
Reference in new issue
Block a user