An open API service indexing awesome lists of open source software.

https://github.com/arivum/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.
https://github.com/arivum/resource-ticker

cgroups cgroups-v2 golang library monitoring procfs

Last synced: 19 days ago
JSON representation

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

Awesome Lists containing this project

README

          

# 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](https://pkg.go.dev/github.com/arivum/resource-ticker) and [package documentation](https://pkg.go.dev/github.com/arivum/resource-ticker/pkg/resources)

## How to use

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