/resource-ticker

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

Primary LanguageGoMIT LicenseMIT

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)
		}
	}
}