# systemstat [Documentation online](http://godoc.org/bitbucket.org/bertimus9/systemstat) **systemstat** is a package written in Go generated automatically by `gobi`. **systemstat** allows you to add system statistics to your go program; it currently polls the linux kernel for CPU usage, free/used memory and swap sizes, and uptime for your go process, as well as the system you're running it on, and the system load. It can be used to make a crippled version of top that monitors the current go process and ignores other processes and the number of users with ttys. See the examples directory for go-top.go, which is my attempt at a top clone. Bear in mind that the intention of **systemstat** is to allow your process to monitor itself and it's environment, not to replace top. ## Install (with GOPATH set on your machine) ---------- * Step 1: Get the `systemstat` package ``` go get bitbucket.org/bertimus9/systemstat ``` * Step 2 (Optional): Run tests ``` $ go test -v bitbucket.org/bertimus9/systemstat ``` * Step 3 (Optional): Run example ```bash $ cd to the first directory in your $GOPATH $ cd src/bitbucket.org/bertimus9/systemstat $ go run examples/go-top.go ``` ##Usage ---------- ``` package main import ( "bitbucket.org/bertimus9/systemstat" "fmt" ) var sample systemstat.MemSample // This example shows how easy it is to get memory information func main() { sample = systemstat.GetMemSample() fmt.Println("Total available RAM in kb:", sample.MemTotal, "k total") fmt.Println("Used RAM in kb:", sample.MemUsed, "k used") fmt.Println("Free RAM in kb:", sample.MemFree, "k free") fmt.Printf("The output is similar to, but somewhat different than:\n\ttop -n1 | grep Mem:\n") } ``` ##License ---------- Copyright (c) 2013 Phillip Bond Licensed under the MIT License see file LICENSE