Skip to content

Latest commit

 

History

History
36 lines (27 loc) · 835 Bytes

README.md

File metadata and controls

36 lines (27 loc) · 835 Bytes

ResourceTicker

This module wraps RAM and CPU resource information gathering.

Cgroups and cgroups2 are supported. If none of them is active, fallback to procfs provides resource information.

See general documenation and package documentation

How to use

package main

import (
    "log"
    "github.com/arivum/resource-ticker/pkg/resources"
)

func main() {
    if ticker, err := resources.NewResourceTicker(resources.WithCPUFloatingAvg(1)); err != nil {
        log.Fatal(err)
    }

    resourceChan, errChan := ticker.Run()

    for {
		select {
		case r := <-resourceChan:
			log.Printf("$+v\n", r.RAM)
			log.Printf("$+v\n", r.CPU)
		case err := <-errChan:
			log.Println(err)
		}
	}
}