Categorygithub.com/oxidecomputer/gosigar
modulepackage
0.11.0
Repository: https://github.com/oxidecomputer/gosigar.git
Documentation: pkg.go.dev

# README

Go sigar Build Status Build status

Overview

Go sigar is a golang implementation of the sigar API. The Go version of sigar has a very similar interface, but is being written from scratch in pure go/cgo, rather than cgo bindings for libsigar.

Test drive

$ go get github.com/elastic/gosigar
$ cd $GOPATH/src/github.com/elastic/gosigar/examples/ps
$ go build
$ ./ps

Supported platforms

The features vary by operating system.

FeatureLinuxDarwinWindowsOpenBSDFreeBSDAIX
CpuXXXXXX
CpuListXXXXX
FDUsageXX
FileSystemListXXXXXX
FileSystemUsageXXXXXX
HugeTLBPagesX
LoadAverageXXXXX
MemXXXXXX
ProcArgsXXXXX
ProcEnvXXXX
ProcExeXXXX
ProcFDUsageXX
ProcListXXXXX
ProcMemXXXXX
ProcStateXXXXX
ProcTimeXXXXX
RusageXXX
SwapXXXXX
UptimeXXXXX

OS Specific Notes

FreeBSD

Mount both linprocfs and procfs for compatability. Consider adding these mounts to your /etc/fstab file so they are mounted automatically at boot.

sudo mount -t procfs proc /proc
sudo mkdir -p /compat/linux/proc
sudo mount -t linprocfs /dev/null /compat/linux/proc

License

Apache 2.0

# Packages

Package cgroup reads metrics and other tunable parameters associated with control groups, a Linux kernel feature for grouping tasks to track and limit resource usage.
No description provided by the author
No description provided by the author
Go interface to the Linux netlink process connector.
No description provided by the author

# Functions

No description provided by the author
Go version of apr_strfsize.
IsNotImplemented returns true if the error is ErrNotImplemented.

# Constants

RunStateIdle corresponds to an idle state.
RunStateRun corresponds to a running state.
RunStateSleep corresponds to a sleep state.
RunStateStop corresponds to a stopped state.
RunStateUnknown corresponds to a process in an unknown state.
RunStateZombie marks a zombie process.

# Variables

No description provided by the author

# Structs

No description provided by the author
Cpu contains CPU time stats.
CpuList contains a list of CPUs on the host system.
ErrNotImplemented is returned when a particular statistic isn't implemented on the host OS.
FDUsage contains stats on filesystem usage.
FileSystem contains basic information about a given mounted filesystem.
FileSystemList gets a list of mounted filesystems.
FileSystemUsage contains basic stats for the specified filesystem.
HugeTLBPages contains HugePages stats.
LoadAverage reports standard load averages.
Mem contains host memory stats.
ProcArgs contains a list of args for a specified process.
ProcEnv contains a map of environment variables for specified process.
ProcExe contains basic data about a specified process.
ProcFDUsage contains data on file limits and usage.
ProcList contains a list of processes found on the host system.
ProcMem contains memory statistics for a specified process.
ProcState contains basic metadata and process ownership info for the specified process.
ProcTime contains run time statistics for a specified process.
Rusage contains data on resource usage for a specified process.
Swap contains stats on swap space.
Uptime reports system uptime.

# Interfaces

Sigar is an interface for gathering system host stats.

# Type aliases

RunState is a byte-long code used to specify the current runtime state of a process.