package machine

import "github.com/google/cadvisor/machine"

The machine package contains functions that extract machine-level specs.

Index

Functions

func ContainerOsVersion

func ContainerOsVersion() string

func GetCPUVendorID

func GetCPUVendorID(procInfo []byte) string

GetCPUVendorID returns "vendor_id" reading /proc/cpuinfo file.

func GetClockSpeed

func GetClockSpeed(procInfo []byte) (uint64, error)

GetClockSpeed returns the CPU clock speed, given a []byte formatted as the /proc/cpuinfo file.

func GetMachineMemoryByType

func GetMachineMemoryByType(edacPath string) (map[string]*info.MemoryInfo, error)

GetMachineMemoryByType returns information about memory capacity and number of DIMMs. Information is retrieved from sysfs edac per-DIMM API (/sys/devices/system/edac/mc/) introduced in kernel 3.6. Documentation can be found at https://www.kernel.org/doc/Documentation/admin-guide/ras.rst. Full list of memory types can be found in edac_mc.c (https://github.com/torvalds/linux/blob/v5.5/drivers/edac/edac_mc.c#L198)

func GetMachineMemoryCapacity

func GetMachineMemoryCapacity() (uint64, error)

GetMachineMemoryCapacity returns the machine's total memory from /proc/meminfo. Returns the total memory capacity as an uint64 (number of bytes).

func GetMachineSwapCapacity

func GetMachineSwapCapacity() (uint64, error)

GetMachineSwapCapacity returns the machine's total swap from /proc/meminfo. Returns the total swap capacity as an uint64 (number of bytes).

func GetPhysicalCores

func GetPhysicalCores(procInfo []byte) int

GetPhysicalCores returns number of CPU cores reading /proc/cpuinfo file or if needed information from sysfs cpu path

func GetSockets

func GetSockets(procInfo []byte) int

GetSockets returns number of CPU sockets reading /proc/cpuinfo file or if needed information from sysfs cpu path

func GetTopology

func GetTopology(sysFs sysfs.SysFs) ([]info.Node, int, error)

GetTopology returns CPU topology reading information from sysfs

func Info

func Info(sysFs sysfs.SysFs, fsInfo fs.FsInfo, inHostNamespace bool) (*info.MachineInfo, error)

func KernelVersion

func KernelVersion() string

Source Files

info.go machine.go operatingsystem_unix.go

Version
v0.52.1 (latest)
Published
Mar 5, 2025
Platform
linux/amd64
Imports
21 packages
Last checked
3 days ago

Tools for package owners.