feat(fleet): show instance resource metrics

This commit is contained in:
chick
2026-07-19 00:22:23 +08:00
parent 2411801240
commit 23f18963ef
12 changed files with 312 additions and 30 deletions
+23
View File
@@ -65,6 +65,11 @@ function capabilityLabel(value: string): string {
return CAPABILITY_LABELS[value] ?? value;
}
const percent = (value: number | undefined): string =>
value === undefined ? '暂未获取' : `${value.toFixed(1)}%`;
const temperature = (value: number | undefined): string =>
value === undefined ? '暂未获取' : `${value.toFixed(1)} °C`;
export function canonicalHttpOrigin(value: string): string | null {
try {
const url = new URL(value);
@@ -421,6 +426,24 @@ export function FleetPage({
</span>
</header>
<dl className="fleet-card-metrics">
<div className="fleet-card-phone">
<dt></dt>
<dd>
{row.status?.summary?.resources?.phoneNumbers?.join('、') || '暂未获取'}
</dd>
</div>
<div>
<dt>CPU</dt>
<dd>{percent(row.status?.summary?.resources?.cpuPercent)}</dd>
</div>
<div>
<dt></dt>
<dd>{percent(row.status?.summary?.resources?.memoryPercent)}</dd>
</div>
<div>
<dt></dt>
<dd>{temperature(row.status?.summary?.resources?.maxTemperatureCelsius)}</dd>
</div>
<div>
<dt></dt>
<dd>{row.latencyMs === undefined ? '—' : `${row.latencyMs} ms`}</dd>