Gathers system and per process statistics(evacuated from NSA/Microsoft Github)

anonymous 8bd07c48de this actually works 1 week ago
cgroup 5b151eab4f fix #2 4 months ago
debian ae827f0871 copyright file bump, as well as WIP on #3 1 week ago
examples 5b151eab4f fix #2 4 months ago
fakes 5b151eab4f fix #2 4 months ago
old 66b589a6f8 debian packaging, removing poprietary support 4 months ago
psnotify 5b151eab4f fix #2 4 months ago
sys 5b151eab4f fix #2 4 months ago
.appveyor.yml ce1dc031d9 Update Go version to 1.8.3 1 year ago
.gitignore 653b7f4aa2 Remove audit related code (#70) 2 years ago
.travis.yml ce1dc031d9 Update Go version to 1.8.3 1 year ago
LICENSE fb874eb3f3 Initial import 6 years ago
NOTICE 845272a4ce psnotify - process event notifications 6 years ago
README.md 8bd07c48de this actually works 1 week ago
Vagrantfile 3ed7c74352 Vagrant installs ginkgo and gomega 4 years ago
codecov.yml e13db0ac2b Add codecov and check commit status (#67) 2 years ago
concrete_sigar.go e8599e2842 Add support for huge TLB pages on Linux (#97) 1 year ago
concrete_sigar_test.go 5b151eab4f fix #2 4 months ago
sigar_format.go ae827f0871 copyright file bump, as well as WIP on #3 1 week ago
sigar_freebsd.go 2c18d0b30f Add missing runtime import for FreeBSD (#104) 1 year ago
sigar_interface.go e8599e2842 Add support for huge TLB pages on Linux (#97) 1 year ago
sigar_interface_test.go 5b151eab4f fix #2 4 months ago
sigar_linux.go e8599e2842 Add support for huge TLB pages on Linux (#97) 1 year ago
sigar_linux_common.go 37f05ff46f Recover panic when reading proc files (#103) 1 year ago
sigar_linux_test.go 5b151eab4f fix #2 4 months ago
sigar_openbsd.go e8599e2842 Add support for huge TLB pages on Linux (#97) 1 year ago
sigar_stub.go e8599e2842 Add support for huge TLB pages on Linux (#97) 1 year ago
sigar_unix.go 450aa2b5d1 Add getrusage for unix and partially for Windows (#95) 1 year ago
sigar_util.go aa48a5ee1f Refactor test cases to use the standard testing package and testify. 3 years ago

README.md

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. This version of gosigar has been evacuated from the NSA/Microsoft walled garden.

Test drive

$ cd examples
$ go run ps.go

Supported platforms

The features vary by operating system.

Feature Linux OpenBSD FreeBSD
Cpu X X X
CpuList X X X
FDUsage X X
FileSystemList X X X
FileSystemUsage X X X
HugeTLBPages X
LoadAverage X X X
Mem X X X
ProcArgs X X
ProcEnv X X
ProcExe X X
ProcFDUsage X X
ProcList X X
ProcMem X X
ProcState X X
ProcTime X X
Swap X X X
Uptime X X X

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