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

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