Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Go module to get linux system stats (System info, CPU/Memory/Disk/Network usage, service status, etc).

License

Notifications You must be signed in to change notification settings

dhamith93/systats

Repository files navigation

systats

Go module to get linux system stats.

Go Go Report Card

Provides following information on systems:

  • System
    • Returns OS, Hostname, Kernel, Up time, last boot date, timezone, logged in users list
  • CPU
    • CPU model, freq, load average (overall, per core), etc
  • Memory/SWAP
  • Disks
    • File system, type, mount point, usage, inodes
  • Networks
    • Interface, IP, Rx/Tx
  • Service status
    • Returns if given service is active or not
  • Processes
    • Returns list of processes sorted by CPU/Memory usage (with PID, exec path, user, usage)

Usage

Import the module

import (
	"github.com/dhamith93/systats"
)
func main() {
 syStats := systats.New()
}

And use the methods to get the required and supported system stats.

System

Returns OS, Hostname, Kernel, Up time, last boot date, timezone, logged in users list

func main() {
	syStats := systats.New()
	system, err := systats.GetSystem()
}

CPU

CPU info and load avg info (overall, and per core)

func main() {
	syStats := systats.New()
	cpu, err := systats.GetCPU()
}

Memory

func main() {
	syStats := systats.New()
	memory, err := systats.GetMemory(systats.Megabyte)
}

SWAP

func main() {
	syStats := systats.New()
	swap, err := systats.GetSwap(systats.Megabyte)
}

Disks

func main() {
	syStats := systats.New()
	disks, err := syStats.GetDisks()
}

Networks

Interface info and usage info

func main() {
	syStats := systats.New()
	networks, err := syStats.GetNetworks()
}

Service status

Returns if service is running or not

func main() {
	syStats := systats.New()
	running := syStats.IsServiceRunning(service)
	if !running {
		fmt.Println(service + " not running")
	}
}

Running processes

Returns running processes sorted by CPU or memory usage

func main() {
	syStats := systats.New()
	procs, err := syStats.GetTopProcesses(10, "cpu")
	procs, err := syStats.GetTopProcesses(10, "memory")
}

About

Go module to get linux system stats (System info, CPU/Memory/Disk/Network usage, service status, etc).

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

Languages

AltStyle によって変換されたページ (->オリジナル) /