package sysfs

import "github.com/prometheus/procfs/sysfs"

Package sysfs provides functions to retrieve system and kernel metrics from the pseudo-filesystem sys.

Index

Constants

const DefaultMountPoint = fs.DefaultSysMountPoint

DefaultMountPoint is the common mount point of the sys filesystem.

Types

type FS

type FS struct {
	// contains filtered or unexported fields
}

FS represents the pseudo-filesystem sys, which provides an interface to kernel data structures.

func NewDefaultFS

func NewDefaultFS() (FS, error)

NewDefaultFS returns a new FS mounted under the default mountPoint. It will error if the mount point can't be read.

func NewFS

func NewFS(mountPoint string) (FS, error)

NewFS returns a new FS mounted under the given mountPoint. It will error if the mount point can't be read.

func (FS) CPUVulnerabilities

func (fs FS) CPUVulnerabilities() ([]Vulnerability, error)

CPUVulnerabilities retrieves a map of vulnerability names to their mitigations.

func (FS) VMStatNUMA

func (fs FS) VMStatNUMA() (map[int]VMStat, error)

type VMStat

type VMStat struct {
	NrFreePages                uint64
	NrZoneInactiveAnon         uint64
	NrZoneActiveAnon           uint64
	NrZoneInactiveFile         uint64
	NrZoneActiveFile           uint64
	NrZoneUnevictable          uint64
	NrZoneWritePending         uint64
	NrMlock                    uint64
	NrPageTablePages           uint64
	NrKernelStack              uint64
	NrBounce                   uint64
	NrZspages                  uint64
	NrFreeCma                  uint64
	NumaHit                    uint64
	NumaMiss                   uint64
	NumaForeign                uint64
	NumaInterleave             uint64
	NumaLocal                  uint64
	NumaOther                  uint64
	NrInactiveAnon             uint64
	NrActiveAnon               uint64
	NrInactiveFile             uint64
	NrActiveFile               uint64
	NrUnevictable              uint64
	NrSlabReclaimable          uint64
	NrSlabUnreclaimable        uint64
	NrIsolatedAnon             uint64
	NrIsolatedFile             uint64
	WorkingsetNodes            uint64
	WorkingsetRefault          uint64
	WorkingsetActivate         uint64
	WorkingsetRestore          uint64
	WorkingsetNodereclaim      uint64
	NrAnonPages                uint64
	NrMapped                   uint64
	NrFilePages                uint64
	NrDirty                    uint64
	NrWriteback                uint64
	NrWritebackTemp            uint64
	NrShmem                    uint64
	NrShmemHugepages           uint64
	NrShmemPmdmapped           uint64
	NrFileHugepages            uint64
	NrFilePmdmapped            uint64
	NrAnonTransparentHugepages uint64
	NrVmscanWrite              uint64
	NrVmscanImmediateReclaim   uint64
	NrDirtied                  uint64
	NrWritten                  uint64
	NrKernelMiscReclaimable    uint64
	NrFollPinAcquired          uint64
	NrFollPinReleased          uint64
}

type Vulnerability

type Vulnerability struct {
	CodeName   string
	State      string
	Mitigation string
}

Vulnerability represents a single vulnerability extracted from /sys/devices/system/cpu/vulnerabilities/

Source Files

doc.go fs.go vmstat_numa.go vulnerability.go

Version
v0.6.0
Published
Feb 10, 2021
Platform
windows/amd64
Imports
10 packages
Last checked
2 hours ago

Tools for package owners.