mirror of
https://github.com/henrygd/beszel.git
synced 2026-04-02 19:11:50 +02:00
add arch
This commit is contained in:
@@ -6,6 +6,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"log/slog"
|
"log/slog"
|
||||||
"os"
|
"os"
|
||||||
|
"runtime"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
@@ -41,6 +42,11 @@ func (a *Agent) refreshStaticInfo() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
a.systemDetails.Hostname, _ = os.Hostname()
|
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()
|
platform, _, version, _ := host.PlatformInformation()
|
||||||
|
|
||||||
|
|||||||
@@ -158,10 +158,11 @@ type Details struct {
|
|||||||
Hostname string `cbor:"0,keyasint"`
|
Hostname string `cbor:"0,keyasint"`
|
||||||
Kernel string `cbor:"1,keyasint,omitempty"`
|
Kernel string `cbor:"1,keyasint,omitempty"`
|
||||||
Cores int `cbor:"2,keyasint"`
|
Cores int `cbor:"2,keyasint"`
|
||||||
Threads int `cbor:"3,keyasint,omitempty"`
|
Threads int `cbor:"3,keyasint"`
|
||||||
CpuModel string `cbor:"4,keyasint"`
|
CpuModel string `cbor:"4,keyasint"`
|
||||||
Os Os `cbor:"5,keyasint"`
|
Os Os `cbor:"5,keyasint"`
|
||||||
OsName string `cbor:"6,keyasint"`
|
OsName string `cbor:"6,keyasint"`
|
||||||
|
Arch string `cbor:"7,keyasint"`
|
||||||
Podman bool `cbor:"8,keyasint,omitempty"`
|
Podman bool `cbor:"8,keyasint,omitempty"`
|
||||||
MemoryTotal uint64 `cbor:"9,keyasint"`
|
MemoryTotal uint64 `cbor:"9,keyasint"`
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -236,6 +236,7 @@ func createStaticInfoRecord(app core.App, data *system.Details, systemId string)
|
|||||||
record.Set("cpu", data.CpuModel)
|
record.Set("cpu", data.CpuModel)
|
||||||
record.Set("os", data.Os)
|
record.Set("os", data.Os)
|
||||||
record.Set("os_name", data.OsName)
|
record.Set("os_name", data.OsName)
|
||||||
|
record.Set("arch", data.Arch)
|
||||||
record.Set("memory", data.MemoryTotal)
|
record.Set("memory", data.MemoryTotal)
|
||||||
record.Set("podman", data.Podman)
|
record.Set("podman", data.Podman)
|
||||||
return app.SaveNoValidate(record)
|
return app.SaveNoValidate(record)
|
||||||
|
|||||||
@@ -1539,6 +1539,20 @@ func init() {
|
|||||||
"system": false,
|
"system": false,
|
||||||
"type": "text"
|
"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,
|
"hidden": false,
|
||||||
"id": "number4245036687",
|
"id": "number4245036687",
|
||||||
@@ -7,6 +7,7 @@ import { cn, formatBytes, getHostDisplayValue, secondsToString, toFixedFloat } f
|
|||||||
import { Separator } from "@/components/ui/separator"
|
import { Separator } from "@/components/ui/separator"
|
||||||
import {
|
import {
|
||||||
AppleIcon,
|
AppleIcon,
|
||||||
|
BinaryIcon,
|
||||||
ChevronRightSquareIcon,
|
ChevronRightSquareIcon,
|
||||||
ClockArrowUp,
|
ClockArrowUp,
|
||||||
CpuIcon,
|
CpuIcon,
|
||||||
@@ -46,7 +47,7 @@ export default function InfoBar({
|
|||||||
}
|
}
|
||||||
pb.collection<SystemDetailsRecord>("system_details")
|
pb.collection<SystemDetailsRecord>("system_details")
|
||||||
.getOne(system.id, {
|
.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: {
|
headers: {
|
||||||
"Cache-Control": "public, max-age=60",
|
"Cache-Control": "public, max-age=60",
|
||||||
},
|
},
|
||||||
@@ -72,6 +73,7 @@ export default function InfoBar({
|
|||||||
const cpuModel = details?.cpu ?? system.info.m
|
const cpuModel = details?.cpu ?? system.info.m
|
||||||
const os = details?.os ?? system.info.os ?? Os.Linux
|
const os = details?.os ?? system.info.os ?? Os.Linux
|
||||||
const osName = details?.os_name
|
const osName = details?.os_name
|
||||||
|
const arch = details?.arch
|
||||||
const memory = details?.memory
|
const memory = details?.memory
|
||||||
|
|
||||||
const osInfo = {
|
const osInfo = {
|
||||||
@@ -116,6 +118,7 @@ export default function InfoBar({
|
|||||||
},
|
},
|
||||||
{ value: uptime, Icon: ClockArrowUp, label: t`Uptime`, hide: !system.info.u },
|
{ value: uptime, Icon: ClockArrowUp, label: t`Uptime`, hide: !system.info.u },
|
||||||
osInfo[os],
|
osInfo[os],
|
||||||
|
{ value: arch, Icon: BinaryIcon, hide: !arch },
|
||||||
] as {
|
] as {
|
||||||
value: string | number | undefined
|
value: string | number | undefined
|
||||||
label?: string
|
label?: string
|
||||||
@@ -123,6 +126,12 @@ export default function InfoBar({
|
|||||||
hide?: boolean
|
hide?: boolean
|
||||||
}[]
|
}[]
|
||||||
|
|
||||||
|
info.push({
|
||||||
|
value: `${cpuModel} (${cores}c${threads ? `/${threads}t` : ""})`,
|
||||||
|
Icon: CpuIcon,
|
||||||
|
hide: !cpuModel,
|
||||||
|
})
|
||||||
|
|
||||||
if (memory) {
|
if (memory) {
|
||||||
const memValue = formatBytes(memory, false, undefined, false)
|
const memValue = formatBytes(memory, false, undefined, false)
|
||||||
info.push({
|
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
|
return info
|
||||||
}, [system, details, t])
|
}, [system, details, t])
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user