agent binary - show correct cores in lxc

This commit is contained in:
Henry Dollman
2024-09-26 15:00:48 -04:00
parent 8621a45383
commit e88e2bf3dc
4 changed files with 13 additions and 4 deletions

View File

@@ -211,8 +211,13 @@ func (a *Agent) getSystemStats() (system.Info, system.Stats) {
systemInfo.Cores = cores systemInfo.Cores = cores
} }
if threads, err := cpu.Counts(true); err == nil { if threads, err := cpu.Counts(true); err == nil {
if threads > 0 && threads < systemInfo.Cores {
// in lxc logical cores reflects container limits, so use that as cores if lower
systemInfo.Cores = threads
} else {
systemInfo.Threads = threads systemInfo.Threads = threads
} }
}
return systemInfo, systemStats return systemInfo, systemStats
} }

View File

@@ -48,7 +48,7 @@ type Info struct {
Hostname string `json:"h"` Hostname string `json:"h"`
KernelVersion string `json:"k,omitempty"` KernelVersion string `json:"k,omitempty"`
Cores int `json:"c"` Cores int `json:"c"`
Threads int `json:"t"` Threads int `json:"t,omitempty"`
CpuModel string `json:"m"` CpuModel string `json:"m"`
// Os string `json:"o"` // Os string `json:"o"`
Uptime uint64 `json:"u"` Uptime uint64 `json:"u"`

View File

@@ -220,7 +220,11 @@ export default function SystemDetail({ name }: { name: string }) {
}, },
{ value: uptime, Icon: ClockArrowUp, label: 'Uptime' }, { value: uptime, Icon: ClockArrowUp, label: 'Uptime' },
{ value: system.info.k, Icon: TuxIcon, label: 'Kernel' }, { value: system.info.k, Icon: TuxIcon, label: 'Kernel' },
{ value: `${system.info.m} (${system.info.c}c/${system.info.t}t)`, Icon: CpuIcon }, {
value: `${system.info.m} (${system.info.c}c${system.info.t ? `/${system.info.t}t` : ''})`,
Icon: CpuIcon,
hide: !system.info.m,
},
] as { ] as {
value: string | number | undefined value: string | number | undefined
label?: string label?: string

View File

@@ -17,7 +17,7 @@ export interface SystemInfo {
/** cpu percent */ /** cpu percent */
cpu: number cpu: number
/** cpu threads */ /** cpu threads */
t: number t?: number
/** cpu cores */ /** cpu cores */
c: number c: number
/** cpu model */ /** cpu model */