Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork0
🥵 Pressure Stall Informations (PSI) and starvation notifier
License
samber/go-psi
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A few readings to getting started with PSI:
- https://docs.kernel.org/accounting/psi.html
- https://facebookmicrosites.github.io/psi/docs/overview
- https://unixism.net/2019/08/linux-pressure-stall-information-psi-by-example/
go get github.com/samber/go-psi
This library is v1 and follows SemVer strictly. No breaking changes will be made to exported APIs before v2.0.0.
Requires Linux kernel >= 4.20.
GoDoc:https://pkg.go.dev/github.com/samber/go-psi
import"github.com/samber/go-psi"// Get PSI for a single resource: psi.Memory or psi.CPU or psi.IO.stats,err:=psi.PSIStatsForResource(psi.Memory)// Get all PSI stats.all,err:=psi.AllPSIStats()
import"github.com/samber/go-psi"onChange,done,err:=psi.Notify(psi.Memory)for {last,_:=<-onChangefmt.Printf("\nMemory:\n%s\n",last)}// when you're done, just stop the notifierdone<-struct{}{}
import"github.com/samber/go-psi"// Alert starts when CPU 10s average go further 90% and stops when CPU goes below 70%.onAlert,done,err:=psi.NotifyStarvation(psi.CPU,psi.Avg10,70,90)for {alert,_:=<-onAlertfmt.Printf("\nALERT %t\nCPU: %f%%\n",alert.Starved,alert.Current)}// when you're done, just stop the notifierdone<-struct{}{}
- Ping me on Twitter@samuelberthe (DMs, mentions, whatever :))
- Fork theproject
- Fixopen issues or request new features
Don't hesitate ;)
# Install some dev dependenciesmake tools# Run testsmaketest# ormake watch-test
Give a ⭐️ if this project helped you!
Copyright © 2023Samuel Berthe.
This project isMIT licensed.
About
🥵 Pressure Stall Informations (PSI) and starvation notifier
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Contributors2
Uh oh!
There was an error while loading.Please reload this page.