mirror of https://github.com/k3s-io/k3s
70 lines
1.8 KiB
Markdown
70 lines
1.8 KiB
Markdown
![]() |
# 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
|
||
|
|