package sysinfo
import "git.sr.ht/~pingoo/stdx/sysinfo"
Package sysinfo is a Go library providing Linux OS / kernel / hardware system information.
Index ¶
- Constants
- type BIOS
- type Board
- type CPU
- type Chassis
- type Kernel
- type Memory
- type Meta
- type NetworkDevice
- type Node
- type OS
- type Product
- type StorageDevice
- type SysInfo
Constants ¶
const Version = "0.9.5"
Version of the sysinfo library.
Types ¶
type BIOS ¶
type BIOS struct { Vendor string `json:"vendor,omitempty"` Version string `json:"version,omitempty"` Date string `json:"date,omitempty"` }
BIOS information.
type Board ¶
type Board struct { Name string `json:"name,omitempty"` Vendor string `json:"vendor,omitempty"` Version string `json:"version,omitempty"` Serial string `json:"serial,omitempty"` AssetTag string `json:"assettag,omitempty"` }
Board information.
type CPU ¶
type CPU struct { Vendor string `json:"vendor,omitempty"` Model string `json:"model,omitempty"` Speed uint `json:"speed,omitempty"` // CPU clock rate in MHz Cache uint `json:"cache,omitempty"` // CPU cache size in KB Cpus uint `json:"cpus,omitempty"` // number of physical CPUs Cores uint `json:"cores,omitempty"` // number of physical CPU cores Threads uint `json:"threads,omitempty"` // number of logical (HT) CPU cores }
CPU information.
type Chassis ¶
type Chassis struct { Type uint `json:"type,omitempty"` Vendor string `json:"vendor,omitempty"` Version string `json:"version,omitempty"` Serial string `json:"serial,omitempty"` AssetTag string `json:"assettag,omitempty"` }
Chassis information.
type Kernel ¶
type Kernel struct { Release string `json:"release,omitempty"` Version string `json:"version,omitempty"` Architecture string `json:"architecture,omitempty"` }
Kernel information.
type Memory ¶
type Memory struct { Type string `json:"type,omitempty"` Speed uint `json:"speed,omitempty"` // RAM data rate in MT/s Size uint `json:"size,omitempty"` // RAM size in MB }
Memory information.
type Meta ¶
Meta information.
type NetworkDevice ¶
type NetworkDevice struct { Name string `json:"name,omitempty"` Driver string `json:"driver,omitempty"` MACAddress string `json:"macaddress,omitempty"` Port string `json:"port,omitempty"` Speed uint `json:"speed,omitempty"` // device max supported speed in Mbps }
NetworkDevice information.
type Node ¶
type Node struct { Hostname string `json:"hostname,omitempty"` MachineID string `json:"machineid,omitempty"` Hypervisor string `json:"hypervisor,omitempty"` Timezone string `json:"timezone,omitempty"` }
Node information.
type OS ¶
type OS struct { Name string `json:"name,omitempty"` Vendor string `json:"vendor,omitempty"` Version string `json:"version,omitempty"` Release string `json:"release,omitempty"` Architecture string `json:"architecture,omitempty"` }
OS information.
func GetOS ¶
func GetOS() OS
type Product ¶
type Product struct { Name string `json:"name,omitempty"` Vendor string `json:"vendor,omitempty"` Version string `json:"version,omitempty"` Serial string `json:"serial,omitempty"` }
Product information.
type StorageDevice ¶
type StorageDevice struct { Name string `json:"name,omitempty"` Driver string `json:"driver,omitempty"` Vendor string `json:"vendor,omitempty"` Model string `json:"model,omitempty"` Serial string `json:"serial,omitempty"` Size uint `json:"size,omitempty"` // device size in GB }
StorageDevice information.
type SysInfo ¶
type SysInfo struct { Meta Meta `json:"sysinfo"` Node Node `json:"node"` OS OS `json:"os"` Kernel Kernel `json:"kernel"` Product Product `json:"product"` Board Board `json:"board"` Chassis Chassis `json:"chassis"` BIOS BIOS `json:"bios"` CPU CPU `json:"cpu"` Memory Memory `json:"memory"` Storage []StorageDevice `json:"storage,omitempty"` Network []NetworkDevice `json:"network,omitempty"` }
SysInfo struct encapsulates all other information structs.
func (*SysInfo) GetSysInfo ¶
func (si *SysInfo) GetSysInfo()
GetSysInfo gathers all available system information.
Source Files ¶
bios.go board.go chassis.go cpu.go hypervisor.go kernel_linux.go memory.go meta.go network.go node.go os.go product.go storage.go sysinfo.go util.go version.go
Directories ¶
Path | Synopsis |
---|---|
sysinfo/cmd | |
sysinfo/cmd/sysinfo | sysinfo is a very simple utility demonstrating sysinfo library capabilities. |
sysinfo/cpuid | Package cpuid gives Go programs access to CPUID opcode. |
- Version
- v0.0.0-20240218134121-094174641f6e (latest)
- Published
- Feb 18, 2024
- Platform
- linux/amd64
- Imports
- 16 packages
- Last checked
- 4 months ago –
Tools for package owners.