Documentation ¶
Index ¶
Constants ¶
View Source
const ( // CPUPhysicalPackageID is a physical package id of cpu#. Typically corresponds to a physical socket number, // but the actual value is architecture and platform dependent. CPUPhysicalPackageID = "physical_package_id" // CPUCoreID is the CPU core ID of cpu#. Typically it is the hardware platform's identifier // (rather than the kernel's). The actual value is architecture and platform dependent. CPUCoreID = "core_id" //HugePagesNrFile name of nr_hugepages file in sysfs HugePagesNrFile = "nr_hugepages" )
Variables ¶
This section is empty.
Functions ¶
func GetUniqueCPUPropertyCount ¶ added in v0.39.0
Looks for sysfs cpu path containing given CPU property, e.g. core_id or physical_package_id and returns number of unique values of given property, exemplary usage: getting number of CPU physical cores
Types ¶
type SysFs ¶
type SysFs interface { // Get NUMA nodes paths GetNodesPaths() ([]string, error) // Get paths to CPUs in provided directory e.g. /sys/devices/system/node/node0 or /sys/devices/system/cpu GetCPUsPaths(cpusPath string) ([]string, error) // Get physical core id for specified CPU GetCoreID(coreIDFilePath string) (string, error) // Get physical package id for specified CPU GetCPUPhysicalPackageID(cpuPath string) (string, error) // Get total memory for specified NUMA node GetMemInfo(nodeDir string) (string, error) // Get hugepages from specified directory GetHugePagesInfo(hugePagesDirectory string) ([]os.FileInfo, error) // Get hugepage_nr from specified directory GetHugePagesNr(hugePagesDirectory string, hugePageName string) (string, error) // Get directory information for available block devices. GetBlockDevices() ([]os.FileInfo, error) // Get Size of a given block device. GetBlockDeviceSize(string) (string, error) // Get scheduler type for the block device. GetBlockDeviceScheduler(string) (string, error) // Get device major:minor number string. GetBlockDeviceNumbers(string) (string, error) GetNetworkDevices() ([]os.FileInfo, error) GetNetworkAddress(string) (string, error) GetNetworkMtu(string) (string, error) GetNetworkSpeed(string) (string, error) GetNetworkStatValue(dev string, stat string) (uint64, error) // Get directory information for available caches accessible to given cpu. GetCaches(id int) ([]os.FileInfo, error) // Get information for a cache accessible from the given cpu. GetCacheInfo(cpu int, cache string) (CacheInfo, error) GetSystemUUID() (string, error) // IsCPUOnline determines if CPU status from kernel hotplug machanism standpoint. // See: https://www.kernel.org/doc/html/latest/core-api/cpu_hotplug.html IsCPUOnline(dir string) bool }
Abstracts the lowest level calls to sysfs.
func NewRealSysFs ¶
func NewRealSysFs() SysFs
Click to show internal directories.
Click to hide internal directories.