This commit is contained in:
henrygd
2025-12-16 18:33:32 -05:00
parent 996444abeb
commit 82bd953941
5 changed files with 33 additions and 8 deletions

View File

@@ -6,6 +6,7 @@ import (
"fmt"
"log/slog"
"os"
"runtime"
"strconv"
"strings"
"time"
@@ -41,6 +42,11 @@ func (a *Agent) refreshStaticInfo() {
}
a.systemDetails.Hostname, _ = os.Hostname()
if arch, err := host.KernelArch(); err == nil {
a.systemDetails.Arch = arch
} else {
a.systemDetails.Arch = runtime.GOARCH
}
platform, _, version, _ := host.PlatformInformation()

View File

@@ -158,10 +158,11 @@ type Details struct {
Hostname string `cbor:"0,keyasint"`
Kernel string `cbor:"1,keyasint,omitempty"`
Cores int `cbor:"2,keyasint"`
Threads int `cbor:"3,keyasint,omitempty"`
Threads int `cbor:"3,keyasint"`
CpuModel string `cbor:"4,keyasint"`
Os Os `cbor:"5,keyasint"`
OsName string `cbor:"6,keyasint"`
Arch string `cbor:"7,keyasint"`
Podman bool `cbor:"8,keyasint,omitempty"`
MemoryTotal uint64 `cbor:"9,keyasint"`
}

View File

@@ -236,6 +236,7 @@ func createStaticInfoRecord(app core.App, data *system.Details, systemId string)
record.Set("cpu", data.CpuModel)
record.Set("os", data.Os)
record.Set("os_name", data.OsName)
record.Set("arch", data.Arch)
record.Set("memory", data.MemoryTotal)
record.Set("podman", data.Podman)
return app.SaveNoValidate(record)

View File

@@ -1539,6 +1539,20 @@ func init() {
"system": false,
"type": "text"
},
{
"autogeneratePattern": "",
"hidden": false,
"id": "text4161937994",
"max": 0,
"min": 0,
"name": "arch",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": false,
"system": false,
"type": "text"
},
{
"hidden": false,
"id": "number4245036687",

View File

@@ -7,6 +7,7 @@ import { cn, formatBytes, getHostDisplayValue, secondsToString, toFixedFloat } f
import { Separator } from "@/components/ui/separator"
import {
AppleIcon,
BinaryIcon,
ChevronRightSquareIcon,
ClockArrowUp,
CpuIcon,
@@ -46,7 +47,7 @@ export default function InfoBar({
}
pb.collection<SystemDetailsRecord>("system_details")
.getOne(system.id, {
fields: "hostname,kernel,cores,threads,cpu,os,os_name,memory,podman",
fields: "hostname,kernel,cores,threads,cpu,os,os_name,arch,memory,podman",
headers: {
"Cache-Control": "public, max-age=60",
},
@@ -72,6 +73,7 @@ export default function InfoBar({
const cpuModel = details?.cpu ?? system.info.m
const os = details?.os ?? system.info.os ?? Os.Linux
const osName = details?.os_name
const arch = details?.arch
const memory = details?.memory
const osInfo = {
@@ -116,6 +118,7 @@ export default function InfoBar({
},
{ value: uptime, Icon: ClockArrowUp, label: t`Uptime`, hide: !system.info.u },
osInfo[os],
{ value: arch, Icon: BinaryIcon, hide: !arch },
] as {
value: string | number | undefined
label?: string
@@ -123,6 +126,12 @@ export default function InfoBar({
hide?: boolean
}[]
info.push({
value: `${cpuModel} (${cores}c${threads ? `/${threads}t` : ""})`,
Icon: CpuIcon,
hide: !cpuModel,
})
if (memory) {
const memValue = formatBytes(memory, false, undefined, false)
info.push({
@@ -133,12 +142,6 @@ export default function InfoBar({
})
}
info.push({
value: `${cpuModel} (${cores}c${threads ? `/${threads}t` : ""})`,
Icon: CpuIcon,
hide: !cpuModel,
})
return info
}, [system, details, t])